Пример #1
0
 def get_character(self, character):
     try:
         if type(character) in (unicode, str) and not character.isdigit():
             try:
                 character = Character.objects.get(name=character).pk
             except Character.DoesNotExist:
                 characterid = get_names_to_ids(character)[character]
         else:
             characterid = character
     except:
         raise Character.DoesNotExist
     try:
         char = self.get_query_set().get(pk=characterid)
         cache_time = (datetime.now()-char.timestamp).total_seconds()
         if cache_time > 24*60*60:
             try:
                 char = self.update_from_api(char)
             except:
                 char.save()
             return char
         else:
             return char
     except Character.DoesNotExist:
         try:
             char = Character(id=characterid)
             char = self.update_from_api(char)
             return char
         except Exception, ex:
             print format_exc(ex)
             raise Character.DoesNotExist
Пример #2
0
 def get_corporation(self, corporation):
     try:
         if type(corporation) in (unicode, str) and not corporation.isdigit():
             try:
                 corporationid = Corporation.objects.get(name=corporation).pk
             except Corporation.DoesNotExist:
                 corporationid = get_names_to_ids(corporation)[corporation]
         else:
             corporationid = corporation
     except:
         raise Corporation.DoesNotExist
     try:
         corp = self.get_query_set().get(pk=corporationid)
         cache_time = (datetime.now()-corp.timestamp).total_seconds()
         if cache_time > 24*60*60:
             corp.status = 'Dissolved'
             try:
                 corp = self.update_from_api(corp)
             except:
                 corp.save()
             return corp
         else:
             return corp
     except Corporation.DoesNotExist:
         try:
             corp = Corporation(id=corporationid)
             corp = self.update_from_api(corp)
             return corp
         except Exception, ex:
             raise Corporation.DoesNotExist