def main(project_directory, ignore_files): authenticate("localhost:7474", "neo4j", "haruspex") graph_db = Graph() dossier = os.path.join(project_directory + "/pages") if os.path.exists(dossier): # Pour chaque fiche, analyser son contenu # et créer les noeuds/liens correspondants files = [f for f in listdir(dossier) if isfile(join(dossier, f))] for fiche in files: if (fiche not in ignore_files): fiche_analysee = analyseFiche(fiche, dossier, graph_db) ficheDocumentation(fiche_analysee, "references", dossier, ignore_files[0], graph_db) ficheDocumentation(fiche_analysee, "images", dossier, ignore_files[1], graph_db) else: files = [f for f in listdir(project_directory) if (isfile(join(project_directory, f)) and f.endswith('.txt'))] #TODO récupérer les métadonnées d'omeka sur les documents for document in files: print(document.strip(project_directory)) fiche = Fiche(document.replace(project_directory,'').replace('.txt', ''), '', '', '', '', '') fiche.create_node(graph_db)
def main(project_directory, ignore_files): authenticate("localhost:7474", "neo4j", "haruspex") graph_db = Graph() dossier = os.path.join(project_directory + "/pages") if os.path.exists(dossier): # Pour chaque fiche, analyser son contenu # et créer les noeuds/liens correspondants files = [f for f in listdir(dossier) if isfile(join(dossier, f))] for fiche in files: if (fiche not in ignore_files): fiche_analysee = analyseFiche(fiche, dossier, graph_db) ficheDocumentation(fiche_analysee, "references", dossier, ignore_files[0], graph_db) ficheDocumentation(fiche_analysee, "images", dossier, ignore_files[1], graph_db) else: files = [ f for f in listdir(project_directory) if (isfile(join(project_directory, f)) and f.endswith('.txt')) ] #TODO récupérer les métadonnées d'omeka sur les documents for document in files: print(document.strip(project_directory)) fiche = Fiche( document.replace(project_directory, '').replace('.txt', ''), '', '', '', '', '') fiche.create_node(graph_db)
def analyseFiche(nom_fichier, dossier, graph): with open(join(dossier, nom_fichier)) as f: content = f.readlines() content = [x.strip('\n') for x in content] fiche_contenu_list = [] fiche_id = '' fiche_titre = '' fiche_contenu = '' fiche_date = '' fiche_auteur = '' fiche_references = '' for line in content: if line.startswith('fiche n°'): fiche_id = line.strip('fiche n°').strip() elif line.startswith('titre:'): fiche_titre = line.strip('titre:').strip() elif line.startswith('Références associées:'): fiche_references = line.strip('Références associées:').strip().split(' ') elif line.startswith('auteur:'): fiche_auteur = line.strip('auteur:').strip() elif line.startswith('date:'): fiche_date = line.strip('date:').strip() else: if line != '\n': fiche_contenu_list.append(line) fiche_contenu = '\n'.join(fiche_contenu_list) fiche = Fiche(fiche_id, fiche_titre, fiche_auteur, fiche_contenu, fiche_date, fiche_references) fiche.create_node(graph) return fiche
def analyseFiche(nom_fichier, dossier, graph): with open(join(dossier, nom_fichier)) as f: content = f.readlines() content = [x.strip('\n') for x in content] fiche_contenu_list = [] fiche_id = '' fiche_titre = '' fiche_contenu = '' fiche_date = '' fiche_auteur = '' fiche_references = '' for line in content: if line.startswith('fiche n°'): fiche_id = line.strip('fiche n°').strip() elif line.startswith('titre:'): fiche_titre = line.strip('titre:').strip() elif line.startswith('Références associées:'): fiche_references = line.strip( 'Références associées:').strip().split(' ') elif line.startswith('auteur:'): fiche_auteur = line.strip('auteur:').strip() elif line.startswith('date:'): fiche_date = line.strip('date:').strip() else: if line != '\n': fiche_contenu_list.append(line) fiche_contenu = '\n'.join(fiche_contenu_list) fiche = Fiche(fiche_id, fiche_titre, fiche_auteur, fiche_contenu, fiche_date, fiche_references) fiche.create_node(graph) return fiche