1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| from odfdo import Document, Paragraph
def creer_document(texte_para1,texte_para2):
print('------- creer_document() -----------------')
doc=Document()
para1=Paragraph(texte_para1)
doc.body.append(para1)
para2=Paragraph(texte_para2)
doc.body.append(para2)
return doc
def cherche(doc,parent):
print("-------- cherche() ----------------")
para=doc.body.get_paragraph(content=parent)
# repr_paragraphe
repr_paragraphe=repr(para.get_formatted_text()) ## Ceci me permet d'intégrer les retours à la ligne dans ma chaine
print('~~~~ repr_paragraphe : ',repr_paragraphe)
index_parent=repr_paragraphe.find(parent)
print('--- index de : {} --> '.format(parent),index_parent) ## --> ## find() retourne -1 si la chaine n'a pas été trouvée.
if r"\'" in repr_paragraphe:
repr_paragraphe=repr_paragraphe.replace(r"\'",r"'")
print("~~~~ repr_paragraphe SANS LES ECHAPPEMENTS : ",repr_paragraphe)
index_parent=repr_paragraphe.find(parent)
print('--- index de : {} --> '.format(parent),index_parent)
if __name__ == '__main__':
texte_para1="""Une fois que tous le bois abîmé ou gênant et toutes les branches concurrentes ont été supprimés pour préserver la forme de l'arbre,"""
texte_para2="""la troisième étapes est de renouveler le bois de fructification et réduire les dimensions de l'arbre, afin qu'il soit plus facile à récolter, à protéger ou à asperger.
Une alternative au fastidieux "éclaircissage des fruits" """
# Dans quel para se trouve le texte suivant :
parent1="la forme de l'arbre"
parent2="réduire les dimensions de l'arbre"
doc=creer_document(texte_para1,texte_para2)
cherche(doc,parent1)
cherche(doc,parent2) ## parent2 inclut des guillemets et pour cette raison cherche imprime également les échappements devants les apostrophes |
Partager