Beispiel #1
0
 def get_by_name(self, name: str):
     try:
         logging.debug("MachineDAO:get_by_name() on name : {}".format(name))
         return self._database_session.query(Machine).filter_by(
             name=name, brand=brand).order_by(Machine.name).one()
     except NoResultFound:
         logging.error("MachineDAO:get_by_name() on name : {}".format(name))
         raise ResourceNotFound()
Beispiel #2
0
 def get(self, id):
     try:
         logging.debug("CoachDAO:get() on id : {}".format(id))
         return self._database_session.query(Coach).filter_by(
             id=id).order_by(Coach.firstname).one()
     except NoResultFound:
         logging.error("CoachDAO:get() on id : {}".format(id))
         raise ResourceNotFound()
Beispiel #3
0
 def get_all(self):
     try:
         logging.debug("MachineDAO:get_all()")
         return self._database_session.query(Machine).filter_by(
             Machine.name).all()
     except NoResultFound:
         logging.error("MachineDAO:get_all()")
         raise ResourceNotFound()
Beispiel #4
0
 def gather_all_informations(self):
     try:
         logging.debug("CoachDAO:gather_all_informations()")
         fields = ['id', 'email', 'phone_number']
         return self._database_session.query(Coach.id, Coach.email,
                                             Coach.phone_number,
                                             Coach.lastname).all()
     except NoResultFound:
         logging.error("CoachDAO:gather_all_informations()")
         raise ResourceNotFound()
Beispiel #5
0
 def get(self, id=None):
     if id is not None:
         objs = self.original_query.get(id)
         if not objs:
             raise ResourceNotFound(self.model_title, id)
     else:
         if self.opts['paginate']:
             objs = self.get_query().items
         else:
             objs = self.get_query().all()
     self.opts['many'] = (id is None)
     return objs
Beispiel #6
0
 def handler(*args, **kwargs):
     try:
         return func(*args, **kwargs)
     except NoResultFound:
         logging.error("NoResultFound caught from SQLAlchemy")
         raise ResourceNotFound("Resource not found")
     except IntegrityError as e:
         logging.debug("Integrity error caught from SQLAlchemy (%s)" %
                       str(e))
         raise Error("Error data may be malformed")
     except SQLAlchemyError as e:
         raise Error("An error occurred (%s)" % str(e))
Beispiel #7
0
 def get_by_name(self, firstname: str, lastname: str):
     try:
         logging.debug(
             "CoachDAO:get_by_name() on firstname : {}, lastname : {}".
             format(firstname, lastname))
         return self._database_session.query(Coach).filter_by(
             firstname=firstname,
             lastname=lastname).order_by(Coach.firstname).one()
     except NoResultFound:
         logging.error(
             "CoachDAO:get_all() on firstname : {}, lastname : {}".format(
                 firstname, lastname))
         raise ResourceNotFound()
Beispiel #8
0
 def delete_sport(self, sport, session):
     sport_association = None
     for association in self.sports:
         if association.sport == sport:
             sport_association = association
             break
     if sport_association is not None:
         self.sports.remove(sport_association)
         session.delete(sport_association)
         session.flush()
     else:
         raise ResourceNotFound("Sport %s not assigned to user %s" %
                                (sport.name, self.firstname))
Beispiel #9
0
 def delete(self, id=None):
     if id is not None:
         dbo = self.original_query.get(id)
         if not dbo:
             return jsonify({
                 self.pk:
                 id,
                 'deleted':
                 False,
                 'message':
                 ResourceNotFound(self.model_title, id).message
             })
         db.session.delete(dbo)
         db.session.commit()
         if self.cached: cache.clear()
         return jsonify({'deleted': True})
     else:
         query = self.get_query(skip_order_query=True,
                                skip_paginate_query=True)
         log.debug("Delete query: \n%s" % query)
         count = query.delete(synchronize_session='fetch')
         return jsonify({'deleted': True})
Beispiel #10
0
 def get_all(self):
     try:
         return self._database_session.query(Article).order_by(Article.name).all()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #11
0
 def get_all(self):
     try:
         return self._database_session.query(Bras).order_by(
             Bras.B_NumSerie).all()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #12
0
 def get_by_Microcontroleur(self, MC_ID: str):
     try:
         return self.__data_session.query(Robot).filter_by(
             MC_ID=Mc_ID).order_by(Robot.R_Nom).one()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #13
0
 def get_by_Nom(self, R_Nom: str):
     try:
         return self._database_session.query(Robot).filter_by(
             R_Nom=R_Nom).order_by(Robot.R_Nom).one()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #14
0
 def get_all(self):
     try:
         return self._database_session.query(Member).order_by(
             Member.firstname).all()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #15
0
	def get_all_mail(self):
		try:
			return self._database_session.query(Admin.login).all()
		except NoResultFound :
			raise ResourceNotFound()
Beispiel #16
0
 def get(self, id):
     try:
         return self._database_session.query(Lesson).filter_by(id=id).order_by(Lesson.date).one()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #17
0
 def get_by_name(self, username: str):
     try:
         return self._database_session.query(User).filter_by(username=username) \
             .order_by(User.username).one()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #18
0
    def put(self, id=None):
        data = self.get_data()

        # Loop through updates
        objs = []
        for d in data:
            self.raise_if_forbidden(d, type='write')

            # Check for object existence
            oid = d.pop(self.pk, None) or d.pop('id', None) or id
            if oid is None:
                raise ResourceFieldMissing(self.model_title, self.pk,
                                           request.method)

            # Get object to update
            log.debug("Updating %s.%s with update: \n%s" %
                      (self.model_title, oid, pprint.pformat(d)))
            obj = self.original_query.get(oid)
            if not obj:
                raise ResourceNotFound(self.model_title, oid)

            # Relationship updates
            if self.opts['_action'] == 'append':
                rel_updates = {
                    k: v
                    for k, v in d.items() if k in self.relationships
                }
                new, errors = self.schema().load(rel_updates,
                                                 session=db.session,
                                                 partial=True)
                if errors:
                    raise SchemaValidationError(self.model_title,
                                                errors=errors)
                make_transient(new)  # to avoid IntegrityErrors
                for name in rel_updates:
                    rel_old = getattr(obj, name)
                    rel_new = getattr(new, name)
                    rel_old.extend(rel_new)
                d = {k: v for k, v in d.items() if k not in rel_updates}

            # Other updates
            _, errors = self.schema().load(d,
                                           instance=obj,
                                           session=db.session,
                                           partial=True)
            if errors:
                raise SchemaValidationError(self.model_title, errors=errors)

            # Add this db object
            objs.append(obj)

        # Add all objects and commit
        db.session.add_all(objs)
        db.session.commit()

        # Clear cache
        # if self.cached: cache.clear()

        # Set 'many' option for jsonify
        self.opts['many'] = (id is None)
        return objs
Beispiel #19
0
 def get_all(self):
     try:
         return self._database_session.query(Microcontroleur).order_by(
             Microcontroleur.MC_NumSerie).all()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #20
0
 def get_by_Moteur(self, M_ID: str):
     try:
         return self._database_session.query(Microcontroleur).filter_by(
             M_ID=M_ID).order_by(Microcontroleur.MC_NumSerie).one()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #21
0
 def get_all(self):
     try:
         return self._database_session.query(Music_Like).all()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #22
0
 def get_by_user_id(self, user_id):
     try:
         return self._database_session.query(Music_Like).filter_by(
             id_utilisateur=user_id).all()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #23
0
 def get_by_NumSerie(self, B_NumSerie: str):
     try:
         return self._database_session.query(Bras).filter_by(
             B_NumSerie=B_NumSerie).order_by(Bras.B_NumSerie).one()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #24
0
 def get_by_date_time(self, date: str, start_time: int, end_time: int):
     try:
         return self._database_session.query(Lesson).filter_by(date=date, start_time=start_time, end_time=end_time) \
             .order_by(Lesson.date).one()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #25
0
 def get_by_name(self, name: str):
     try:
         return self._database_session.query(Aticle).filter_by(name=name)\
             .order_by(Article.name).one()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #26
0
 def get_by_NumSerie(self, M_NumSerie: str):
     try:
         return self._database_session.query(Moteur).filter_by(M_NumSerie=M_NumSerie).order_by(Moteur.M_NumSerie).one()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #27
0
 def get(self, id):
     try:
         return self._database_session.query(Member).filter_by(
             id=id).order_by(Member.firstname).one()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #28
0
 def get(self, id):
     try:
         return self._database_session.query(Microcontroleur).filter_by(
             id=id).order_by(Microcontroleur.MC_NumSerie).one()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #29
0
 def get_by_name(self, firstname: str, lastname: str):
     try:
         return self._database_session.query(Member).filter_by(firstname=firstname, lastname=lastname)\
             .order_by(Member.firstname).one()
     except NoResultFound:
         raise ResourceNotFound()
Beispiel #30
0
def retrieve_url(url, cookies=None, headers=None):
    res = requests.get(url, cookies=cookies, headers=headers)
    if res.status_code != 200:
        raise ResourceNotFound(
            f'Server responded with {res.status_code} to {url}')
    return res