#on utilise une structure dictionnaire où les clés sont les numéros de livre et la valeur
#associée un dictionnaire dont les clés sont les poèmes P1 ,P2,...

contemplations ={ '1' : { 'P1': 'A ma fille ' , 'P7': " le poete s'en va" ,'P4' :'titre ..' ,\
                         'P15' :'' ,'P16': '' ,'P20' :'' , 'P25':''} ,
                 
                  '2' : { 'P12' :'titre du poeme..' ,'P13': '..' ,'P14' :'..' ,'P17' :'' , 'P23':'',\
                         'P26' :'' ,'P27':''},

                  '3' :{ 'P1' :' ' ,'P6' :'' ,'P10' : '..' , 'P11': ' '},

                  '4':{'P2':'' ,'P6':'' ,'P10':'' ,'P14':'..' } ,


                  '5' : {'P2': ' ','P4':' ..' ,'P10': ' ..' ,'P19':' ..' },

                  '6' :{'P1' :'' ,'P2' : '..' ,'P3' : '..','P4' : '', 'P5' : '','P7' : '',\
                        'P11' : 'titre..' , 'P12' : 'titre..', 'P14' : '', 'P18' : 'titre..'}
                        
def afficher_poeme(nomfichier):
    '''
    entrée: un fichier au format .json 
    Par exemple L3P1.json faisant référence
    au livre 3 , poème 1
    '''
    print(nomfichier)
    p="contemplations/"+nomfichier
    with open(p, "r") as f:
        data = json.load(f)
    for strophe in data.values():
    #on transforme la chaîne strophe en liste de "vers" avec la méthode split  
        strophe=strophe.split('|')
        print()
        for vers in strophe:
            print(vers)


def chercher_occurrence(poeme,mot):
    '''
    entree:- poeme(str) est le nom d'un fichier json
       désignant un poème des contemplations
            - mot(str)est le mot qu'on cherche
            
    commentaire : c'est une version qui peut être
    améliorée notamment pour éviter d'afficher les
    cas où mot fait partie d'un autre mot du vers (comme 'ver' et 'verte')
    '''
    
    p="contemplations/"+poeme
    with open(p, "r") as f:
        data = json.load(f)
    #chercher le nombre d'occurrence du mot "enfant" dans le poème "L1P1"
    occurrence = 0
    for strophe in data.values():    
        strophe=strophe.split('|')   #on transforme la chaîne
                                     # en liste de vers
        for vers in strophe:
            occurrence+=vers.count(mot) #la méthode de chaine count
                                        #pour compter le nombre d'occurrence de la chaine mot
    return occurrence