def pdf_to_txt():
    db_csv = pandas.read_csv("arretes.csv", encoding='utf-8')
    for i in range(len(db_csv)):
        url = db_csv.loc[i].url
        url_split = url.split("/")
        nom = url_split[-1].split(".")[0]
        if nom + ".txt" not in os.listdir("./Datas/TXT"):
            try:
                changement_url(i, url, db_csv)
                myfile = requests.get(url)
                open('./Datas/PDF/' + nom+".pdf", 'wb').write(myfile.content)
                texte = pdf_to_image("./Datas/PDF/"+nom+".pdf")
                fichier = open("./Datas/TXT/" + nom + ".txt", "w", encoding="utf-8")
                fichier.write(texte)
                fichier.close()
                if db_csv.loc[i].erreurs:
                    enlever_erreur(db_csv, i, url)
            except:
                ajout_erreur(db_csv, i, "Problème URL")

            try:
                os.remove("./Datas/PDF/" + nom + ".pdf")
            except:
                pass
        db_csv.loc[i, "nom_txt"] = nom + ".txt"
    db_csv.to_csv("arretes.csv", index=False, encoding='utf-8')
    return db_csv
예제 #2
0
def recup_date(texte, db_csv, i):
    fichier = open(texte, "r", encoding="utf-8")
    if "Envoyé en préfecture le" in fichier.read():
        fichier.seek(0)
        res = str(fichier.read()).partition("le ")[2].partition("\n")[0]
        fichier.close()
        return res
    else:
        ajout_erreur(db_csv, i, "Problème date")
        return None
예제 #3
0
def recup_pathologie(texte, db_csv, i):
    fichier = open(texte, "r", encoding="utf-8")
    if "pathologies suivantes" in fichier.read():
        fichier.seek(0)
        res = str(fichier.read()).partition("pathologies suivantes")[2].partition("Considérant")[0]
        fichier.close()
        return res

    else:
        ajout_erreur(db_csv, i, "Problème pathologies")
        return None
예제 #4
0
def message(db, liste_adresse, db_csv, p_list_txt):
    liste = []
    for adresse in liste_adresse:
        if adresse is None:
            # FIXME gérer en amont
            continue
        char = '<font size="+1"><B>' + adresse + "</B><br><br>"
        # begin sort docs (reverse chronological order)
        sel_docs = [(k, v[0]["date"]) for k, v in db.items()
                    if v[0]["adresse_orig"] == adresse]
        sorted_list = sort_docs(sel_docs)
        # end sort docs (reverse chronological order)
        cat_last = db[sorted_list[0][0]][0]["categorie"]
        for couple in sorted_list:
            elt = db[couple[0]][0]
            # TODO handle in a better way
            if elt["date"] is None:
                if not db_csv.loc[db_csv["url"] == elt["url"],
                                  "err_date"].values[0]:
                    indice = db_csv.loc[db_csv["url"] ==
                                        elt["url"]].index.tolist()[0]
                    ajout_erreur(db_csv, p_list_txt, indice, "Problème date")
            # end TODO
            cat = elt["categorie"]
            char += "<U>" + cat + "</U><br>"
            char += (
                "<i>" + "<a href=" + elt["url"] + ' Target="_blank">' +
                elt["nom_doc"] + "</a>" + "</i> " +
                (elt["date"] if elt["date"] is not None else "??/??/????") +
                "<br>")
            #
            if cat == "Arrêtés de péril":
                try:
                    char += ("- " +
                             (", ".join(elt["classification_pathologies"])
                              if elt["classification_pathologies"] is not None
                              else "(manquant)") + "<br> " + "- " +
                             (", ".join(elt["classification_lieux"])
                              if elt["classification_lieux"] is not None else
                              "(manquant)") + "<br>")
                except:
                    print(adresse, "problème de pathologie manquante")
                    raise
            char += "<br>"
        char += "</font>"
        liste.append([char, cat_last])

    return liste
예제 #5
0
def message(liste_adresse, db_csv):
    db = database.ouverture_bdd()
    liste = []
    for adresse in liste_adresse:
        char = '<font size="+1"><B>' + adresse + "</B><br><br>"
        liste_key = []
        liste_key_date = []
        liste_date = []
        for key, value in db.items():
            if value[0]["adresse"] == adresse:
                if key not in liste_key:
                    liste_key.append(key)
                    liste_key_date.append([key, value[0]["date"]])
                    liste_date.append(value[0]["date"])
        # liste_date.sort(reverse=True)
        trie_date(liste_date)
        sorted_list = []
        for i in liste_date:
            for k in liste_key_date:
                if k[1] == i:
                    sorted_list.append(k)
        cat_last = db[sorted_list[0][0]][0]["categorie"]
        for couple in sorted_list:
            cat = db[couple[0]][0]["categorie"]
            char += '<U>' + cat + '</U><br>'
            try:
                char += '<i>' + '<a href=' + db[couple[0]][0]["url"] + ' Target="_blank">Lien vers le pdf</a>' + '</i> '\
                            + db[couple[0]][0]["date"] + '<br>'
            except:
                indice = db_csv.loc[db_csv['url'] == db[couple[0]][0]
                                    ["url"]].index.tolist()[0]
                ajout_erreur(db_csv, indice, "Problème date")
            if cat == 'Arrêtés de péril':
                try:
                    char += return_string(
                        db[couple[0]][0]["classification_pathologies"]
                    ) + " <br> " + return_string(
                        db[couple[0]][0]["classification_lieux"]) + "<br>"
                except:
                    print(adresse, "problème de pathologie manquante")
            char += '<br>'
        char += '</font>'
        liste.append([char, cat_last])

    return liste
예제 #6
0
        id = rec.recup_id(path)
        if id not in json2:
            cat = database.calcul_categorie(i, db_csv)
            date = rec.recup_date(path, db_csv, i)
            if cat == "Arrêtés de péril":
                pathologies = rec.recup_pathologie(path, db_csv, i)

                if not db_csv.loc[i].erreurs:
                    conv.changement_url(i, db_csv.loc[i].url, db_csv)
                    try:
                        database.ajout_ligne_peril(
                            id, db_csv.loc[i].url,
                            db_csv.loc[i].adresse + ", Marseille", pathologies,
                            date)
                    except:
                        ajout_erreur(db_csv, i, "Problème adresse")
            else:
                try:
                    database.ajout_ligne_autre(
                        cat, id, db_csv.loc[i].url,
                        db_csv.loc[i].adresse + ", Marseille", date)
                except:
                    ajout_erreur(db_csv, i, "Problème adresse")

db_csv.to_csv("arretes.csv", index=False, encoding='utf-8')

c = carte.creation_carte()

icon_create_function = """ 
    function(cluster) {
    var childCount = cluster.getChildCount();