def get(self, id=None): try: if id is not None: cle = ndb.Key("Trajet", long(id)) trajet = cle.get() if trajet is None: self.error(404) return self.response.headers["Content-Type"] = "application/json;" + " charset=utf-8" trajet_dict = trajet.to_dict() trajet_dict["id"] = cle.id() json_data = json.dumps(trajet_dict, default=serialiser_pour_json) else: liste_trajets = [] requete = Trajet.query() requete = requete.filter(Trajet.booked == False) for trj in requete: trj_dict = trj.to_dict() trj_dict["id"] = trj.key.id() liste_trajets.append(trj_dict) json_data = json.dumps(liste_trajets, default=serialiser_pour_json) self.response.out.write(json_data) except (db.BadValueError, ValueError, KeyError): logging.error("%s", traceback.format_exc()) self.error(400) except Exception: logging.error("%s", traceback.format_exc()) self.error(500)
def get(self, idUser): try: if idUser is not None: cle = ndb.Key("User", idUser) dude = cle.get() if dude is None: self.error(400) return liste_trajets = [] requete = Trajet.query() requete = requete.filter(Trajet.idAuthor == idUser) for trj in requete: trj_dict = trj.to_dict() trj_dict["id"] = trj.key.id() liste_trajets.append(trj_dict) json_data = json.dumps(liste_trajets, default=serialiser_pour_json) else: self.error(400) return self.response.out.write(json_data) except (db.BadValueError, ValueError, KeyError): logging.error("%s", traceback.format_exc()) self.error(400) except Exception: logging.error("%s", traceback.format_exc()) self.error(500)
def add_trajet(object, id): if id is not None and id != "": cle = ndb.Key("Trajet", long(id)) newTrajet = cle.get() if newTrajet is None: newTrajet = Trajet() else: newTrajet = Trajet() newTrajet.idAuthor = object["idAuthor"] if "booked" in object: newTrajet.booked = object["booked"] newTrajet.departureDateTime = datetime.strptime(object["departureDateTime"], "%b %d %Y %I:%M%p") newTrajet.arrivalDateTime = datetime.strptime(object["arrivalDateTime"], "%b %d %Y %I:%M%p") newTrajet.frequency = object["frequency"] newTrajet.departureAddress = add_address(object["departureAddress"], object["departureAddress"]["id"]).id() newTrajet.arrivalAddress = add_address(object["arrivalAddress"], object["arrivalAddress"]["id"]).id() return newTrajet.put()