1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
#.......#
# On compile les différentes regex fournies
#
patterns = []
for groupe in config.sections():
textPattern=config[groupe]['Regex']
if textPattern.find("Valeur2") == -1:
textPattern=textPattern+'(?P<Valeur2>)'
item=[config[groupe]['TypeResult'], config[groupe]['Nom'], re.compile(textPattern)]
patterns.append(item)
#........#
# et on traite les fichiers
for file in list_files:
try:
for line in open(file, errors="ignore"):
for typeTraitement, titre, pat in patterns:
for match in re.finditer(pat, line):
count=0
if typeTraitement=='MAJ':
logger.debug("{}, {}, {}, {}, {}, {}".format(typeTraitement, titre,numRouteur,match.group('Date'),match.group('Valeur'),match.group('Valeur2')))
count = bdd.updateString(titre,numRouteur,match.group('Date'),match.group('Valeur'),match.group('Valeur2'))
# updateString est une fonction effectuant un UPDATE d'une table, basé sur le numéro routeur et le titre de la recherche; requête utilisée :
# req ="UPDATE analyse SET ELEMENT1='%s', ELEMENT2='%s', DATE_ELEMENT='%s', DATE_MODIF='%s' WHERE ID_ROUTEUR=%s and TYPE_ELEMENT='%s'" % (newValue, oldValue, dateElt,time.strftime('%Y-%m-%d %H:%M:%S'), numET, titreRecherche )
totalins+=1
else :
# Traitement de type historique, hors sujet #
if (count==0):
logger.error("L'enregistrement a échoué")
except:
#.... |
Partager