From cdb0349e7428769d0fbda40b930388b15cd11a64 Mon Sep 17 00:00:00 2001 From: Aaron Static Date: Thu, 1 Jul 2010 19:54:55 +1000 Subject: [PATCH 1/2] sets a default duration of 1 hour for ops, in case people (Matalok) forgets to set one :) --- api/handlers.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/api/handlers.py b/api/handlers.py index 18728d9..d10f74f 100755 --- a/api/handlers.py +++ b/api/handlers.py @@ -143,6 +143,9 @@ class OpTimerHandler(BaseHandler): now = datetime.utcnow() startsIn = int(dt.strftime('%s')) - int(now.strftime('%s')) duration = int(node.getAttribute('duration')) + #In case people forget to set a duration, we'll give a default of 1 hour + if duration == 0: + duration = 3600 endsIn = startsIn + (duration * 60) if startsIn < 0: startsIn = 0 From 97c6f8f9bb2c3ddb9970b55389895a9ea432de2f Mon Sep 17 00:00:00 2001 From: Aaron Static Date: Thu, 1 Jul 2010 21:28:15 +1000 Subject: [PATCH 2/2] Op Timer API: better error handling and message when no ops are scheduled --- api/handlers.py | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/api/handlers.py b/api/handlers.py index d10f74f..5d60cec 100755 --- a/api/handlers.py +++ b/api/handlers.py @@ -125,11 +125,21 @@ class OpTimerHandler(BaseHandler): params = {'userID':obj.id,'apiKey':obj.api_key,'characterID':FULL_API_CHARACTER_ID} cached_doc = CachedDocument.objects.api_query('/char/UpcomingCalendarEvents.xml.aspx', params, exceptions=False) - + print cached_doc.body dom = minidom.parseString(cached_doc.body.encode('utf-8')) enode = dom.getElementsByTagName('error') if enode: - return {'error':True} + return {'ops':[{ + 'startsIn': -1, + 'eventID': 0, + 'ownerName': '', + 'eventDate': '', + 'eventTitle': '
The EVE API is currently down
', + 'duration': 0, + 'isImportant': 0, + 'eventText': 'Fuck CCP tbqh imho srsly', + 'endsIn':-1 + }]} events = [] events_node_children = dom.getElementsByTagName('rowset')[0].childNodes @@ -162,6 +172,18 @@ class OpTimerHandler(BaseHandler): 'endsIn':endsIn } events.append(event) - - return {'ops':events} + if len(events) == 0: + return {'ops':[{ + 'startsIn': -1, + 'eventID': 0, + 'ownerName': '', + 'eventDate': '', + 'eventTitle': '
No ops are currently scheduled
', + 'duration': 0, + 'isImportant': 0, + 'eventText': 'Add ops using EVE-Gate or the in-game calendar', + 'endsIn':-1 + }]} + else: + return {'ops':events}