Ejemplo n.º 1
0
def main():
    start_time = time.time()
    i = 0
    # récupération de tous les json du dossier folder
    f_test = glob.glob(folder+'*.json')
    nb_f = f_test.__len__()
    db = postgresql.open(IRI + database_name)
    # Création de la table 'velov'
    utils_Json_Postgres.create_table(db, sql_table, table_name, database_name)
    # Si la table existe déjà, la connexion est fermée automatiquement
    # construction de la liste de valeurs à insérer dans l'ordre annoncée des VALUES
    while i<nb_f:
        print("******* fichier %s" %i)
        # si la connexion est fermée -> la réouvrir
        if db.closed:
            db = postgresql.open(IRI + database_name)
        # chargement et modification du json pour préparation à l'insertion en bdd
        data, d = utils_Json_Postgres.data_create(f_test[i], False, set_int, set_float, set_date)
        # Déclaration  et préparation de la requête d'insertion
        sql_insert = utils_Json_Postgres.cons_insert(table_name, data)
        statement = None
        try:
            statement = db.prepare(sql_insert)
        except exceptions.DuplicateTableError:
            print("Une exception est soulevée!!! Erreur sur la requête d'insertion")
        # insertion des lignes
        utils_Json_Postgres.insertion(data, d, statement)
        i += 1
    tmp = time.time() - start_time
    tmp = str(datetime.timedelta(seconds=tmp))
    print(" Tps execution --- %s  ---" % tmp)
def main():
    start_time = time.time()
    nb_files_tot = 0
    # Ouverture et connexion à la bd
    db = postgresql.open(IRI + database_name)
    # Création de la table 'velov'
    utils_Json_Postgres.create_table(db, sql_table, table_name, database_name)
    credentials = get_credentials()
    http = credentials.authorize(httplib2.Http())
    service = discovery.build('drive', 'v3', http=http, credentials=credentials)
    s_f = service.files()
    results = s_f.list(pageSize=1000, fields="nextPageToken, files(id, name)").execute()
    # id de la page suivante pour n'oublier aucun fichier
    n_p_t = results.get('nextPageToken')
    nb_files_tot = nb_files_tot + dl_insert(results, s_f, outpath, format_f, IRI, database_name,table_name)
    while n_p_t is not None and nb_files_tot < 1282:
        print("************Nouvelle page du Drive**************")
        results = s_f.list(pageSize=1000, pageToken = n_p_t, fields="nextPageToken, files(id, name)").execute()
        # id de la page suivante pour n'oublier aucun fichier
        n_p_t = results.get('nextPageToken')
        nb_files_tot = nb_files_tot + dl_insert(results, s_f, outpath, format_f, IRI, database_name,table_name)
    print("nb tot: %s" % nb_files_tot)
    tmp = time.time() - start_time
    tmp = str(datetime.timedelta(seconds=tmp))
    print(" Fin du script en --- %s  ---" % tmp)