dataforgoodfr / batch7_rse

A search engine for French corporate societal and environnemental commitments and actions.
http://dataforgood.fr/batch7_rse/
MIT License
5 stars 2 forks source link

Fonctions parse_dpef pour population de la base de données #9

Closed CharlesGaydon closed 4 years ago

CharlesGaydon commented 4 years ago

Sur la base de la discussion de #4, création de la fonction suivante:

# dans pdf_parser.py
def parse_dpef(input_file: pathlib.Path, dict_annotations: dict):
   # cree le pandas DF contenant une ligne par phrase + metadonnées
  return pandas.DataFrame

qui sera ensuite appelée dans le code Django (dans polls.admin ? dans webapp.manage.py ?)

def to_sentences(dataframe: pd.DataFrame, dict_annotations):
  # Create models.Sentence objects from the dataframe and the dict_annotaions infos
  # yield list(models.Sentences)

def import_sentences(filepath):
  df = parse_dpef(...)
  for sentence in to_sentences(...)
    sentence.save()

def parallelize_import_sentence(dpef_path):
    # lister les Path des pdfs depuis dpef_path
    # Paralellisation de import_sentence à partir du répertoire des DPEFS

Ca semble possible, d'après https://stackoverflow.com/a/10684672/8086033, de paralléliser une tâche django : il suffit de laisser chaque worker recréer sa propre connexion à la BDD.