Exemple #1
0
def population():
    ''' Retourne les informations pour un certain conducteur. '''
    requete = db.session.execute(
        "select c.telephone, round((extract('epoch' from (CURRENT_TIMESTAMP - c.station_entree)))/60) temps from stations s, conducteurs c where c.station = s.nom and s.nom='<nom_station>'"
    )
    json = outils.transformer_json(requete)
    return json
Exemple #2
0
def getall():
    ''' Retourne les informations pour un certain conducteur. '''
    requete = db.session.execute(
        "select s.adresse, count(telephone) population from stations s, conducteurs c where c.station = s.nom group by s.nom"
    )
    json = outils.transformer_json(requete)
    return json
Exemple #3
0
def conducteur_propositions(telephone):
    ''' Retourne les propositions pour un certain conducteur. '''
    # Selection d'une course disponible pour le conducteur
    requete = db.session.execute(
        "SELECT course FROM propositions WHERE conducteur = '{0}' AND statut IS NULL "
        .format(telephone))
    # Selection de la première course de la liste
    first_course_liste = requete.first()
    if not first_course_liste:
        return jsonify({'status': 'echec'})
    else:
        first_course_var = first_course_liste[0]
        # Création d'une variable "nombre" pour savoir si le conducteur est prioritaire sur la course
        requete_2 = db.session.execute(
            "SELECT COUNT(statut) FROM propositions WHERE statut IS NULL AND ordre < (SELECT ordre FROM propositions WHERE conducteur = '{0}' AND course = '{1}') AND course = '{1}'"
            .format(telephone, first_course_var))
        # Transformation de la requete en variable exploitable
        nombre_liste = requete_2.first()
        nombre = nombre_liste[0]
        if nombre == 0:
            detail_course = db.session.execute(
                "SELECT * FROM courses WHERE numero = {}".format(
                    first_course_var))
            return outils.transformer_json(detail_course)
        else:
            return jsonify({'status': 'echec'})
Exemple #4
0
def conducteur_propositions(telephone):
    ''' Retourne les propositions pour un certain conducteur. '''
    # Selection d'une course disponible pour le conducteur
    requete = db.session.execute("SELECT course FROM propositions WHERE conducteur = '{0}' AND statut IS NULL ".format(telephone))
    # Selection de la première course de la liste
    first_course_liste = requete.first()
    if not first_course_liste:
        return jsonify({'status': 'echec'})
    else:
        first_course_var = first_course_liste[0]
        # Création d'une variable "nombre" pour savoir si le conducteur est prioritaire sur la course
        requete_2 = db.session.execute("SELECT COUNT(statut) FROM propositions WHERE statut IS NULL AND ordre < (SELECT ordre FROM propositions WHERE conducteur = '{0}' AND course = '{1}') AND course = '{1}'".format(telephone, first_course_var))
        # Transformation de la requete en variable exploitable
        nombre_liste = requete_2.first()
        nombre = nombre_liste[0]
        if nombre == 0:
            detail_course = db.session.execute("SELECT * FROM courses WHERE numero = {}".format(first_course_var))
            return outils.transformer_json(detail_course)
        else:
            return jsonify({'status': 'echec'})
Exemple #5
0
def conducteur(telephone):
    ''' Retourne les informations pour un certain conducteur. '''
    requete = db.session.execute("SELECT * FROM conducteurs WHERE telephone='{}'".format(telephone))
    return outils.transformer_json(requete)
Exemple #6
0
def adresse(identifiant):
    ''' Retourne les informations pour une certaine adresse. '''
    requete = db.session.execute(
        "SELECT * FROM adresses WHERE identifiant='{}'".format(identifiant))
    return outils.transformer_json(requete)
Exemple #7
0
def adresse(identifiant):
    ''' Retourne les informations pour une certaine adresse. '''
    requete = db.session.execute("SELECT * FROM adresses WHERE identifiant='{}'".format(identifiant))
    return outils.transformer_json(requete)
Exemple #8
0
def derniers_messages():
    ''' Retourne les messages des dernières 24h. '''
    requete = db.session.execute("SELECT * FROM messages WHERE moment > CURRENT_TIMESTAMP - interval '1 day'")
    return outils.transformer_json(requete)
Exemple #9
0
def api_table(table):
    ''' Retourne n'importe quelle table dans la BD en format JSON. '''
    requete = db.session.execute("SELECT * FROM {}".format(table))
    return outils.transformer_json(requete)
Exemple #10
0
def conducteur(telephone):
    ''' Retourne les informations pour un certain conducteur. '''
    requete = db.session.execute(
        "SELECT * FROM conducteurs WHERE telephone='{}'".format(telephone))
    return outils.transformer_json(requete)
Exemple #11
0
def api_table(table):
    ''' Retourne n'importe quelle table dans la BD en format JSON. '''
    requete = db.session.execute("SELECT * FROM {}".format(table))
    return outils.transformer_json(requete)
Exemple #12
0
def derniers_messages():
    ''' Retourne les messages des dernières 24h. '''
    requete = db.session.execute(
        "SELECT * FROM messages WHERE moment > CURRENT_TIMESTAMP - interval '1 day'"
    )
    return outils.transformer_json(requete)
Exemple #13
0
def population():
    ''' Retourne les informations pour un certain conducteur. '''   
    requete = db.session.execute("select c.telephone, round((extract('epoch' from (CURRENT_TIMESTAMP - c.station_entree)))/60) temps from stations s, conducteurs c where c.station = s.nom and s.nom='<nom_station>'")
    json = outils.transformer_json(requete)
    return json
Exemple #14
0
def getall():
    ''' Retourne les informations pour un certain conducteur. '''
    requete = db.session.execute("select s.adresse, count(telephone) population from stations s, conducteurs c where c.station = s.nom group by s.nom")
    json = outils.transformer_json(requete)
    return json
Exemple #15
0
def adresse(identifiant):
    ''' Retourne les informations pour une certaine adresse. '''
    requete = db.session.execute("SELECT identifiant,nom_rue,numero,cp,ville,ST_X(position) as lat, ST_Y(position) as lon FROM adresses WHERE identifiant='{}'".format(identifiant))
    return outils.transformer_json(requete)
Exemple #16
0
def imei_telephone(imei):
    ''' Retourne le numéro de téléphone du conducteur avec pour paramètre le numéro imei. '''
    requete = db.session.execute("SELECT telephone FROM conducteurs WHERE numero_imei='{}'".format(imei))
    return outils.transformer_json(requete)
Exemple #17
0
def conducteur_messages():
    ''' Affiche les messages des dernières 24h. '''
    requete = db.session.execute("SELECT conducteur, TO_CHAR(moment,'DD/MM/YYYY HH:MI:SS') as date, sujet FROM messages WHERE moment > CURRENT_TIMESTAMP - interval '1 day' ORDER BY date DESC")
    return outils.transformer_json(requete)