""" Fonction pour préparer les champs bibtex à l'affichage.""" text = re.sub('\&', '\&', text) text = re.sub('\{', '\{', text) text = re.sub('\}', '\}', text) text = re.sub('\$', '\$', text) return text #------------------------------------------------------------------------------# if __name__ == "__main__": """ Fonction principale réalisant les appels. """ bib_dir = os.path.dirname(sys.argv[1]) + "/bib/" main_bib = re.sub('\.xml', '.bib', sys.argv[1]) # parsing du fichier xml parse = parser.content_handler(sys.argv[1]) # récupère le nom de la conférence et l'année conference, year = parse.meta["acronyme"].split("'") # récupère les noms des présidents editors = [] for prenom, nom in parse.meta["presidents"]: editors.append(nom.strip()+', '+prenom.strip()) # récupère le titre de la conférence conf_title = "Actes de la "+ parse.meta["titre"] if conference == "RECITAL": conf_title = "Actes des "+ parse.meta["titre"] # récupère l'adresse de la conférence
# Nom du fichier meta fichier = root + path + edition + '/' + edition.lower() + '.xml' # Nom du répertoire de la conférence rep_edition = output + path + edition + "/" # Création du répertoire de l'édition if not os.path.exists(rep_edition): os.makedirs(rep_edition) # Création du nom du fichier html de la conférence fichier_html = rep_edition + 'index.html' # Parsing du fichier xml de la conférence current_conf = parser.content_handler(fichier) # Récupération de l'année de la conférence à partir de la date de début annee = re.sub('^(\d{4})-.+$', '\g<1>', current_conf.meta['dateDebut']) # Ajout de la conférence (eg TALN pour TALN'2010) dans les meta current_conf.meta['conference'] = re.sub('\'?(\d{4})$', '', \ current_conf.meta['acronyme']) current_conf.meta['atelier'] = False ######################################################################## # Copie des fichiers d'actes src_dir = root + path + edition + '/actes/' for fichier_pdf in os.listdir(src_dir): if re.search('\.pdf$', fichier_pdf):
import xml.sax import sys import codecs import re import cgi import os import shutil import taln_archives_parser as parser xml_file = sys.argv[1] meta_file = sys.argv[2] output_file = sys.argv[3] # Parsing du fichier xml de la conférence current_conf = parser.content_handler(xml_file) # Récupération de l'identifiant du papier paper_id = re.sub('^.+\/([^\/]+)\.metadata$', '\g<1>', meta_file) # Récupération des méta-données du papier dans le xml article_metadata = {} for article in current_conf.articles: if article['id'] == paper_id: article_metadata = article break # Stop en cas de problème if len(article_metadata) == 0: print "Erreur, article", paper_id, "non trouvé dans le fichier", xml_file sys.exit(0)
# Répertoire TALN TALN_dir = os.path.dirname(TALN_xml) # Répertoire de sortie output_dir = sys.argv[2] print TALN_dir print TALN_xml # Fichier de meta-données de RECITAL (si il existe) RECITAL_parse = None RECITAL_xml = None if len(sys.argv) > 3: RECITAL_xml = sys.argv[3] RECITAL_parse = parser.content_handler(RECITAL_xml) # bib_dir = os.path.dirname(sys.argv[1]) + "/bib/" # main_bib = re.sub('\.xml', '.bib', sys.argv[1]) # parsing du fichier xml TALN_parse = parser.content_handler(TALN_xml) # Nom de la conférence et l'année conference, year = TALN_parse.meta["acronyme"].split("'") # Noms des présidents editors = TALN_parse.meta["presidents"] # Titre de la conférence conf_title = "Proceedings of "+ conference + " " + year