changelog à jour (pour mise en prod)
[perso/Denise/oms.git] / faq.py
1 #!/usr/bin/env python3
2 # -*- coding: utf-8 -*-
3 ### Les fonctions et données pour la FAQ, et le changelog
4
5 import csv
6
7 chemin_data = "data/"
8
9 fichier_FAQ = chemin_data+"FAQ_data.txt"
10 fichier_changelog = chemin_data+"changelog_data.txt"
11 from gestion_donnees import simplifie_nom
12
13
14 def lire_fichier_csv_simple(fichier):
15 """ lire un fichier csv et le renvoyer en table"""
16 table=[]
17 with open(fichier, "r") as fichier_csv:
18 reader_notes = csv.reader(fichier_csv,delimiter=",",dialect="unix")
19 for ligne in reader_notes:
20 if ligne != []:
21 table.append(ligne)
22 return table
23
24 def extraire_categories(table):
25 """ extrait les catégories (1ere colonne du tableau de tableau)
26 renvoie sous forme de liste"""
27 liste_cat = []
28 for ligne in table:
29 if not (ligne[0] in liste_cat):
30 liste_cat.append(ligne[0])
31 return liste_cat
32
33 def extraire_tables_par_cat(table):
34 """ construit trois tables : une de catégories, une de tables de (q,r), une de catégories simplifées
35 categ[i] et categsimple[i] vont correspondre à tableqr[i] en terme de catégorie"""
36 categ = extraire_categories(table)
37 categsimple = [ simplifie_nom(cat) for cat in categ ]
38 tableqr = [ [] for i in range(len(categ)) ]
39
40 for ligne in table:
41 try:
42 cat = ligne[0]
43 (q,r) = [ligne[1],ligne[2]]
44 ind = categ.index(cat)
45 tableqr[ind].append((q,r))
46 except:
47 print("Impossible de lire la ligne : "+str(ligne))
48
49 return (categ, categsimple, tableqr)