Ajout de la FAQ, correction de bugs. Meilleure requête de courbe.
[perso/Denise/oms.git] / faq.py
CommitLineData
66a3e38c
DL
1#!/usr/bin/env python3
2# -*- coding: utf-8 -*-
3### Les fonctions et données pour la FAQ
4
5import csv
6fichier_FAQ = "FAQ_data.txt"
7
8# Les questions seront dans une database sous la forme (categorie,question,reponse)
9
10def lire_fichier_csv_simple(fichier):
11 """ lire un fichier csv et le renvoyer en table"""
12 table=[]
13 with open(fichier, "r") as fichier_csv:
14 reader_notes = csv.reader(fichier_csv,delimiter=",",dialect="unix")
15 for ligne in reader_notes:
16 if ligne != []:
17 table.append(ligne)
18 return table
19
20
21
22
23
24# On trie par catégorie
25#table_faq.sort(key=(lambda x: x[0]))
26
27def extraire_categories(table):
28 """ extrait les catégories (1ere colonne du tableau de tableau)
29 renvoie sous forme de liste"""
30 liste_cat = []
31 for ligne in table:
32 if not (ligne[0] in liste_cat):
33 liste_cat.append(ligne[0])
34 return liste_cat
35
36def extraire_tables_par_cat(table):
37 """ construit deux tables : une de catégories, une de tables de (q,r)
38 categ[i] va correspondre à tableqr[i] en terme de catégorie"""
39 categ = extraire_categories(table)
40 tableqr = [ [] for i in range(len(categ)) ]
41
42 for ligne in table:
43 try:
44 cat = ligne[0]
45 (q,r) = [ligne[1],ligne[2]]
46 ind = categ.index(cat)
47 tableqr[ind].append((q,r))
48 except:
49 print("Impossible de lire la ligne : "+str(ligne))
50
51 return (categ,tableqr)