Code source de NaoCreator.SGBDDialogue.ajouter_phrase_dans_BDD

#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
GNU AFFERO GENERAL PUBLIC LICENSE
    Version 3, 19 November 2007
"""
from __future__ import unicode_literals
import creer as Dg
import codecs
import sys


[docs]def get_file_name(): """ Demande à l'utilisateur dans quel fichier il souhaite ajouter une phrase :return: le nom du fichier que l'utilisateur a choisi """ file_name = raw_input("Dans quel fichier veux-tu ajouter une phrase ? (<Confirmation>, <Demande>, ...) ") while file_name not in [Dg.Confirmation, Dg.Demande, Dg.Humour, Dg.Instruction, Dg.MotsUtiles, Dg.Reponse]: print "Nom du fichier invalide" file_name = raw_input("Dans quel fichier veux-tu ajouter une phrase ? (<Confirmation>, <Demande>, ...) ") return file_name
[docs]def add_sentence(file_name): """ Ajoute la phrase entrée par l'utilisateur :param file_name: le fichier dans lequel il faut insérer la phrase :return: """ sentence = raw_input("Quelle phrase veux-tu ajouter ? ").decode(sys.stdin.encoding) f = codecs.open("fichiers/{}".format(file_name), 'r', 'utf-8') max_id = 0 for line in f: id_phrase = int(line.split(']')[0]) # on recupère le numéro de la ligne dans le fichier if id_phrase > max_id: max_id = id_phrase max_id += 1 f.close() f = codecs.open("fichiers/{}".format(file_name), 'a', 'utf-8') sentence = u"\n{}]{}".format(max_id, sentence) f.write(sentence) f.close() print "Phrase ajoutée avec l'id {}\n".format(max_id)
if __name__ == '__main__': file_name = get_file_name() add_sentence(file_name) answer = raw_input("Continuer ? <n/c/m> (n: non / c: oui, changer de fichier / m: oui, même dossier) ") while answer != 'n': if answer == 'c': file_name = get_file_name() add_sentence(file_name) if answer == 'm': add_sentence(file_name) answer = raw_input("Continuer ? <n/c/m> (n: non / c: oui, changer de fichier / m: oui, même dossier) ")