expose sde
This commit is contained in:
33
mabras/esi.py
Normal file
33
mabras/esi.py
Normal file
@@ -0,0 +1,33 @@
|
||||
import datetime
|
||||
import os
|
||||
import redis
|
||||
import pickle
|
||||
from esy.client import ESIClient
|
||||
from esy.auth import ESIAuthenticator
|
||||
|
||||
|
||||
class ESICache(object):
|
||||
def __init__(self, **kwargs):
|
||||
self._r = redis.Redis(**kwargs)
|
||||
# self._r = redis.StrictRedis(host=redis_url, port=redis_port, db=db)
|
||||
|
||||
def get(self, key):
|
||||
# return pickle.loads(self._r[key])
|
||||
return pickle.loads(self._r.get(key))
|
||||
|
||||
def set(self, key, data, cached_until: datetime.datetime):
|
||||
self._r.set(key, pickle.dumps(data), ex=cached_until - datetime.datetime.now(datetime.timezone.utc))
|
||||
|
||||
def __contains__(self, item):
|
||||
# return item in self._r
|
||||
return self._r.exists(item)
|
||||
|
||||
|
||||
esi_client_id = os.getenv('ESI_CLIENT_ID')
|
||||
esi_secret_key = os.getenv('ESI_SECRET_KEY')
|
||||
|
||||
esi_cache = ESICache(host=os.getenv("REDIS_URL"), port=int(os.getenv("REDIS_PORT")), db="0",
|
||||
password=os.getenv("REDIS_PASSWD"))
|
||||
|
||||
esi_client = ESIClient.get_client(user_agent=os.getenv('ESI_USER_AGENT'), cache=esi_cache)
|
||||
esi_auth = ESIAuthenticator()
|
||||
@@ -17,11 +17,18 @@ Including another URLconf
|
||||
from django.contrib import admin
|
||||
from django.urls import include, path
|
||||
from rest_framework import routers
|
||||
from api import views
|
||||
from api import views, views_sde
|
||||
|
||||
router = routers.DefaultRouter()
|
||||
router.register(r'users', views.UserViewSet)
|
||||
router.register(r'groups', views.GroupViewSet)
|
||||
router.register(r'sde/icons', views_sde.SDEIconViewSet)
|
||||
router.register(r'sde/categories', views_sde.SDECategoryViewSet)
|
||||
router.register(r'sde/groups', views_sde.SDEGroupViewSet)
|
||||
router.register(r'sde/marketgroups', views_sde.SDEMarketGroupViewSet)
|
||||
router.register(r'sde/metagroups', views_sde.SDEMetaGroupViewSet)
|
||||
router.register(r'sde/types', views_sde.SDETypeViewSet)
|
||||
router.register(r'sde/typematerials', views_sde.SDETypeMaterialViewSet)
|
||||
|
||||
# Wire up our API using automatic URL routing.
|
||||
# Additionally, we include login URLs for the browsable API.
|
||||
|
||||
Reference in New Issue
Block a user