Beispiel #1
0
 def _get(self, title, value):
     show_id = Show.get_id_by_external(title, value)
     if not show_id:
         raise exceptions.Not_found(
             'show not found with external: {} with id: {}'.format(
                 title, value))
     return show_id
Beispiel #2
0
 def _get_show(self, show_id):
     with new_session() as session:
         show = session.query(models.Show).get(show_id)
         if not show:
             raise exceptions.Not_found('Unknown show')
         show = show.serialize()
         return show
Beispiel #3
0
 def get(self, app_id=None):
     if not app_id:
         raise exceptions.Parameter_missing_exception(
             'app_id parameter is missing')
     app = App.get(app_id)
     if not app:
         raise exceptions.Not_found(
             'app with id: {} could not be found'.format(app_id))
     self.write_object(app)
Beispiel #4
0
 def _get(self, id_):
     with new_session() as session:
         q = session.query(models.Play_server).filter(
             models.Play_server.id == id_,
             models.Play_server.user_id == self.current_user.id,
         ).options(sa.orm.undefer_group('secret')).first()
         if not q:
             raise exceptions.Not_found('play server not found')
         return q.serialize()
Beispiel #5
0
 def _delete(self, show_id, number):
     with new_session() as session:
         e = session.query(models.Episode).filter(
             models.Episode.show_id == show_id,
             models.Episode.number == number,
         ).first()
         if not e:
             raise exceptions.Not_found('unknown episode')
         session.delete(e)
         session.commit()
Beispiel #6
0
 def _delete(self, id_):
     with new_session() as session:
         ps = session.query(models.Play_server).filter(
             models.Play_server.id == id_,
             models.Play_server.user_id == self.current_user.id,
         ).first()
         if not ps:
             raise exceptions.Not_found('play server not found')
         session.delete(ps)
         session.commit()
Beispiel #7
0
 def get_image(self, image_id):
     result = yield self.es('/images/_doc/{}'.format(
         image_id,
     ))
     if not result['found']:
         raise exceptions.Not_found('the image was not found')
     self.write_object(
         self.image_wrapper(
             result['_source']
         )
     )
Beispiel #8
0
 def get(self, user_id=None):
     if not user_id:
         user_id = self.current_user.id
     user = User.get(user_id)
     if not user:
         raise exceptions.Not_found('the user was not found')
     user = user.to_dict(
         user_level=user.level if self.current_user.id != user_id else \
             constants.LEVEL_SHOW_USER_EMAIL,
     )
     self.write_object(user)
Beispiel #9
0
 def put(self, relation_id, image_id):
     image = Image.get(image_id)
     if not image:
         raise exceptions.Not_found('the image was not found')
     files = yield self.save_files()
     if not files:
         raise exceptions.File_upload_no_files()
     if files[0]['type'] != 'image':
         raise exceptions.File_upload_unrecognized_image()
     image.hash = files[0]['hash']
     image.width = files[0]['width']
     image.height = files[0]['height']
     image.save()
Beispiel #10
0
 def update(self, show_id=None, overwrite=False):
     self.request.body = self.validate(schemas.Show_schema)
     with new_session() as session:
         show = session.query(models.Show).get(show_id)
         if not show:
             raise exceptions.Not_found('unknown show')
         self._update(
             session,
             show,
             overwrite=overwrite,
         )
         session.commit()
         return show.serialize()
Beispiel #11
0
 def get_episode(self, show_id, number):
     result = yield self.es('/episodes/episode/{}-{}'.format(
         show_id,
         number,
     ))
     if not result['found']:
         raise exceptions.Not_found('the episode was not found')
     if 'user_watched' in self.append_fields:
         self.is_logged_in()
         result['_source']['user_watched'] = Watched.get(
             user_id=self.current_user.id,
             show_id=show_id,
             number=number,
         )
     self.write_object(self.episode_format(result['_source']))
Beispiel #12
0
 def _put(self, id_):
     data = self.validate()
     if 'url' in data:
         data['url'] = data['url'].rstrip('/')
     with new_session() as session:
         ps = session.query(models.Play_server).filter(
             models.Play_server.id == id_,
             models.Play_server.user_id == self.current_user.id,
         ).options(sa.orm.undefer_group('secret')).first()
         if not ps:
             raise exceptions.Not_found('play server not found')
         self.update_model(ps, data, overwrite=True)
         session.commit()
         ps = session.query(models.Play_server).options(
             sa.orm.undefer_group('secret')).get(ps.id)
         return ps.serialize()
Beispiel #13
0
 def get(self, user_id, id_=None):
     if id_:
         server = Play_server.get(id_)
         if not server:
             raise exceptions.Not_found('the play server was not found')
         if server.user_id != self.current_user.id and \
             Play_user_access.has_access(server.id, self.current_user.id):
             server.__dict__.pop('secret')
         else:
             self.check_user_edit(server.user_id)
         self.write_object(server)
     else:
         access_to = self.get_argument('access_to', None)
         if access_to == 'true':  # get the servers that the user has access to
             self.get_access_to_servers(user_id)
         else:  # get the users own servers
             self.get_servers(user_id)
Beispiel #14
0
 def get_episode(self, show_id, number):
     result = yield self.es('/episodes/_doc/{}-{}'.format(
         show_id,
         number,
     ))
     if not result['found']:
         raise exceptions.Not_found('the episode was not found')
     if 'user_watched' in self.append_fields:
         self.is_logged_in()
         with new_session() as session:
             ew = session.query(models.Episode_watched).filter(
                 models.Episode_watched.user_id == self.current_user.id,
                 models.Episode_watched.show_id == show_id,
                 models.Episode_watched.episode_number == number,
             ).first()
             result['_source']['user_watched'] = ew.serialize(
             ) if ew else None
     self.write_object(self.episode_wrapper(result['_source']))
Beispiel #15
0
 async def get(self, user_id):
     user_id = self.user_id_or_current(user_id)
     user = models.User.get(user_id)
     if not user:
         raise exceptions.Not_found('the user was not found')
     self.write_object(self.user_wrapper(user))
Beispiel #16
0
 def get_server(self, id_):
     server = Play_server.get(id_)
     if not server:
         raise exceptions.Not_found('the play server was not found')
     self.check_user_edit(server.user_id)
     return server