]> git.immae.eu Git - perso/Denise/oms.git/blobdiff - faq.py
Ajout de la FAQ, correction de bugs. Meilleure requête de courbe.
[perso/Denise/oms.git] / faq.py
diff --git a/faq.py b/faq.py
new file mode 100644 (file)
index 0000000..4ee8bfa
--- /dev/null
+++ b/faq.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+### Les fonctions et données pour la FAQ
+
+import csv
+fichier_FAQ = "FAQ_data.txt"
+
+# Les questions seront dans une database sous la forme (categorie,question,reponse)
+
+def lire_fichier_csv_simple(fichier):
+    """ lire un fichier csv et le renvoyer en table"""
+    table=[]
+    with open(fichier, "r") as fichier_csv:
+        reader_notes = csv.reader(fichier_csv,delimiter=",",dialect="unix")
+        for ligne in reader_notes:
+            if ligne != []:
+                table.append(ligne)
+    return table
+
+
+
+
+
+# On trie par catégorie
+#table_faq.sort(key=(lambda x: x[0]))
+
+def extraire_categories(table):
+    """ extrait les catégories (1ere colonne du tableau de tableau)
+    renvoie sous forme de liste"""
+    liste_cat = []
+    for ligne in table:
+        if not (ligne[0] in liste_cat):
+            liste_cat.append(ligne[0])
+    return liste_cat
+
+def extraire_tables_par_cat(table):
+    """ construit deux tables : une de catégories, une de tables de (q,r)
+     categ[i] va correspondre à tableqr[i] en terme de catégorie"""
+    categ = extraire_categories(table)
+    tableqr = [ [] for i in range(len(categ)) ]
+    
+    for ligne in table:
+        try:
+            cat = ligne[0]
+            (q,r) = [ligne[1],ligne[2]]
+            ind = categ.index(cat)
+            tableqr[ind].append((q,r))
+        except:
+            print("Impossible de lire la ligne : "+str(ligne))
+            
+    return (categ,tableqr)