Example #1
0
 def handle(self, event, context):
     super().handle(event, context)
     try:
         if 'token' not in event:
             return BadgesHandler.Result('New, empty token created', [],
                                         self.badge_service.create_token())
         elif 'key' not in event:
             __, badgeCodes = self.badge_service.get_badges_from_token(
                 event['token'])
             return BadgesHandler.Result(f'Token {event["token"]} is valid',
                                         badgeCodes, event['token'])
         else:
             badges, token, addedCode = self.badge_service.add_badge_to_token(
                 event['token'], event['key'])
             return BadgesHandler.Result('Badge added to token', badges,
                                         token, addedCode)
     except ValueError as e:
         self.LOG.warning(e.with_traceback)
         raise HandlerBase.InvalidTokenError(
             badToken=event['token'],
             goodToken=self.badge_service.create_token(),
             badges=[])
     except KeyError as e:
         self.LOG.warning(e.with_traceback)
         __, badgeCodes = self.badge_service.get_badges_from_token(
             event['token'])
         raise HandlerBase.InvalidKeyError(badKey=event['key'],
                                           token=event['token'],
                                           badges=badgeCodes)
     except Exception as e:
         self.LOG.exception("BadgesHandler.handle")
         raise HandlerBase.InternalError()
Example #2
0
 def handle(self, event, context):
     super().handle(event, context)
     try:
         token = event[
             'token'] if 'token' in event else self.badge_service.create_token(
             )
         __, badge_codes = self.badge_service.get_badges_from_token(token)
         response = self.discography_service.get_discography(badge_codes,
                                                             no_cache=False)
         return DiscographyHandler.Result(
             'Discography successfully fetched', badge_codes, token,
             response)
     except ValueError as e:
         self.LOG.warning(e.with_traceback)
         token = self.badge_service.create_token()
         discography = self.discography_service.get_discography(
             [], no_cache=False)
         raise HandlerBase.InvalidTokenError(
             badToken=event['token'],
             goodToken=self.badge_service.create_token(),
             badges=[],
             discography=discography)
     except Exception as e:
         self.LOG.exception("DiscographyHandler.handle")
         raise HandlerBase.InternalError()
Example #3
0
 def handle(self, event, context):
     super().handle(event, context)
     try:
         if self.is_refresh_trigger_event(event):
             self.discography_service.refresh_cache()
             return RefreshCacheHandler.Result('Discography cache refreshed')
         else:
             self.discography_service.trigger_cache_refresh()
             return RefreshCacheHandler.Result('Discography cache refresh triggered')
     except Exception:
         self.LOG.exception("handlers.handle_refresh_discography_cache")
         raise HandlerBase.InternalError()