diff --git a/app/api/auth.py b/app/api/auth.py index e1dc4a4..ca5bd4e 100644 --- a/app/api/auth.py +++ b/app/api/auth.py @@ -23,6 +23,7 @@ class APIKeyAuthentication(object): url = request.path AuthAPILog(key=keyobj, access_datetime=datetime.utcnow(), url=url).save() request.user = AnonymousUser() + request.api_key = keyobj return True return False diff --git a/app/api/handlers/v1.py b/app/api/handlers/v1.py index 0b38ff9..e919548 100644 --- a/app/api/handlers/v1.py +++ b/app/api/handlers/v1.py @@ -112,7 +112,7 @@ class EveAPIProxyHandler(BaseHandler): params['apikey'] = obj.api_key try: - cached_doc = CachedDocument.objects.api_query(url_path, params) + cached_doc = CachedDocument.objects.api_query(url_path, params, service=request.api_key.description) except DocumentRetrievalError, exc: return HttpResponse(exc, status=500) else: @@ -130,7 +130,7 @@ class OpTimerHandler(BaseHandler): error_doc = {'ops': [{'startsIn': -1, 'eventID': 0, 'ownerName': '', 'eventDate': '', 'eventTitle': '
The EVE API calendar is unavailable
', 'duration': 0, 'isImportant': 0, 'eventText': 'Fuck CCP tbqh imho srsly', 'endsIn':-1, 'forumLink': ''}]} try: - cached_doc = CachedDocument.objects.api_query('/char/UpcomingCalendarEvents.xml.aspx', params) + cached_doc = CachedDocument.objects.api_query('/char/UpcomingCalendarEvents.xml.aspx', params, service="Optimer") except DocumentRetrievalError: return error_doc dom = minidom.parseString(cached_doc.body.encode('utf-8')) diff --git a/app/eve_proxy/models.py b/app/eve_proxy/models.py index c67e0c3..b3e60c8 100755 --- a/app/eve_proxy/models.py +++ b/app/eve_proxy/models.py @@ -38,7 +38,7 @@ class CachedDocumentManager(models.Manager): return url - def api_query(self, url_path, params={}, no_cache=False, exceptions=True): + def api_query(self, url_path, params={}, no_cache=False, exceptions=True, service="Auth"): """ Transparently handles querying EVE API or retrieving the document from the cache. @@ -104,7 +104,7 @@ class CachedDocumentManager(models.Manager): for k in params: if not k in ['userid', 'apikey', 'vcode', 'keyid']: fparams[k] = params[k] - ApiAccessLog(userid=v, service='Unknown', time_access=doc.time_retrieved, document=self.construct_url(url_path, fparams)).save() + ApiAccessLog(userid=v, service=service, time_access=doc.time_retrieved, document=self.construct_url(url_path, fparams)).save() return doc