Guest User

Untitled

a guest
Sep 1st, 2018
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1. #!/usr/bin/python3
  2.  
  3. import psycopg2
  4. import re
  5. import datetime
  6.  
  7. idmax = 2462
  8.  
  9. try:
  10. conn = psycopg2.connect("dbname='noelfic' user='postgres' host='localhost' password='root'")
  11. except:
  12. raise ConnectionError
  13.  
  14. fic = []
  15. cur = conn.cursor()
  16.  
  17. for i in range(idmax + 1):
  18. name = 'Fics/Fic-' + str(i) + ".txt"
  19. # print(name)
  20. try:
  21. with open(name, 'r') as fichier:
  22. lines = list(filter(lambda x: x != '\n' and x != '@#@#@#@#@#\n', fichier.readlines()))
  23. #print(lines)
  24.  
  25. oldId = re.search('%s(.*)%s' % ("ID : ", "\n"), lines[0]).group(1)
  26. # print(oldId)
  27. titre = re.search('%s(.*)%s' % ("TITRE : ", "\n"), lines[1]).group(1)
  28. # print(titre)
  29. auteur = re.search('%s(.*)%s' % ("AUTEUR : ", "\n"), lines[2]).group(1)
  30. # print(auteur)
  31. genre = re.search('%s(.*)%s' % ("GENRE : ", "\n"), lines[3]).group(1)
  32. # print(genre)
  33. statut = re.search('%s(.*)%s' % ("STATUT : ", "\n"), lines[4]).group(1)
  34. # print(statut)
  35. chapitre = int(re.search('%s(.*)%s' % ("/", "\n"), lines[5]).group(1))
  36. # print(chapitre)
  37.  
  38. fic.append({'oldId': oldId, 'titre': titre, 'auteur': auteur, 'genre': genre, 'statut': statut,
  39. 'chapitre': chapitre})
  40.  
  41. currentFic = []
  42.  
  43. for j in range(5, 5 + 6 * chapitre, 6):
  44. print(j)
  45. numChapitre = re.search('%s(.*)%s' % ("CHAPITRE : ", "/"), lines[j]).group(1)
  46. #print(numChapitre)
  47. titreChapitre = re.search('%s(.*)%s' % ("TITRE : ", "\n"), lines[j + 1]).group(1)
  48. # print(titreChapitre)
  49. date = re.search('%s(.*)%s' % ("DATE : ", "\n"), lines[j + 2]).group(1)
  50. # print(date)
  51. heure = re.search('%s(.*)%s' % ("HEURE : ", "\n"), lines[j + 3]).group(1)
  52. # print(heure)
  53. auteur = re.search('%s(.*)%s' % ("AUTEUR : ", "\n"), lines[j + 4]).group(1)
  54. # print(auteur)
  55. contenu = str(re.search('%s(.*)' % ("CONTENU : "), lines[j + 5]).group(1)).replace("\n","")
  56. # print(contenu)
  57. #print(lines[130])
  58. datetimechap = datetime.datetime.strptime(date + " " + heure, '%d/%m/%Y %H:%M:%S')
  59. #print(datetimechap)
  60.  
  61. currentFic.append({"ficId": oldId, "titre":titreChapitre, "datetime": datetimechap, "contenu": contenu, "auteur": auteur, "chapitre":numChapitre})
  62.  
  63. cur.executemany("""INSERT INTO chapitres(fic_id, titre, datetime, contenu, auteur, num_chapitre) VALUES (%(ficId)s, %(titre)s, %(datetime)s, %(contenu)s, %(auteur)s, %(chapitre)s)""", currentFic)
  64. conn.commit()
  65. print("Fic numéro " + str(oldId) + " importé avec succes")
  66.  
  67. except FileNotFoundError:
  68. print("le fichier " + str(i) + " n'a pas ete trouvé")
  69.  
  70.  
  71. print("importation de la table FIC...")
  72.  
  73. cur.executemany("""INSERT INTO fic(old_id, titre, auteur, genre, statut, nchapitre) VALUES (%(oldId)s, %(titre)s, %(auteur)s, %(genre)s, %(statut)s, %(chapitre)s)""", fic)
  74. conn.commit()
  75.  
  76. print("done")
Add Comment
Please, Sign In to add comment