def creer_articles_section(texte, niveau, version_section_parente, articles, version_texte, cid, cache): marque_niveau = '' for i in range(niveau): marque_niveau = marque_niveau + '#' # Champ Article articles_section = articles.select().where(Article.version_section == version_section_parente) # Itérer sur les articles de cette section for article in articles_section: if comp_infini_strict(version_texte.debut, article.debut) or comp_infini_strict(article.fin, version_texte.fin): raise Exception('article non valide (version texte de {} à {}, version article de {} à {})'.format(version_texte.debut, version_texte.fin, article.debut, article.fin)) continue chemin_markdown = os.path.join(cache, 'markdown', cid, article.id+'.md') f_article = open(chemin_markdown, 'r') texte_article = f_article.read().decode('utf-8') f_article.close() texte = texte \ + marque_niveau + ' Article ' + article.num.strip() + '\n' \ + '\n' \ + texte_article + '\n' \ + '\n' \ + '\n' return texte
def creer_sections(texte, niveau, version_section_parente, versions_sections, articles, version_texte, cid, cache): marque_niveau = '' for i in range(niveau): marque_niveau = marque_niveau + '#' # Champ Version_section versions_section = versions_sections.select().where(Version_section.id_parent == version_section_parente).order_by(Version_section.numero) # Itérer sur les sections de cette section for version_section in versions_section: if comp_infini_strict(version_texte.debut, version_section.debut) or comp_infini_strict(version_section.fin, version_texte.fin): raise Exception('section non valide (version texte de {} à {}, version section de {} à {})'.format(version_texte.debut, version_texte.fin, version_section.debut, version_section.fin)) return texte texte = texte \ + marque_niveau + ' ' + version_section.nom.strip() + '\n' \ + '\n' texte = creer_sections(texte, niveau+1, version_section, versions_sections, articles, version_texte, cid, cache) texte = creer_articles_section(texte, niveau, version_section, articles, version_texte, cid, cache) return texte
def creer_articles_section(texte, niveau, version_section_parente, articles, version_texte, cid, cache): marque_niveau = '' for i in range(niveau): marque_niveau = marque_niveau + '#' # Champ Article articles_section = articles.select().where( Article.version_section == version_section_parente) # Itérer sur les articles de cette section for article in articles_section: if comp_infini_strict(version_texte.debut, article.debut) or comp_infini_strict( article.fin, version_texte.fin): raise Exception( 'article non valide (version texte de {} à {}, version article de {} à {})' .format(version_texte.debut, version_texte.fin, article.debut, article.fin)) continue chemin_markdown = os.path.join(cache, 'markdown', cid, article.id + '.md') f_article = open(chemin_markdown, 'r') texte_article = f_article.read().decode('utf-8') f_article.close() texte = texte \ + marque_niveau + ' Article ' + article.num.strip() + '\n' \ + '\n' \ + texte_article + '\n' \ + '\n' \ + '\n' return texte
def creer_sections(texte, niveau, version_section_parente, versions_sections, articles, version_texte, cid, cache): marque_niveau = '' for i in range(niveau): marque_niveau = marque_niveau + '#' # Champ Version_section versions_section = versions_sections.select().where( Version_section.id_parent == version_section_parente).order_by( Version_section.numero) # Itérer sur les sections de cette section for version_section in versions_section: if comp_infini_strict(version_texte.debut, version_section.debut) or comp_infini_strict( version_section.fin, version_texte.fin): raise Exception( 'section non valide (version texte de {} à {}, version section de {} à {})' .format(version_texte.debut, version_texte.fin, version_section.debut, version_section.fin)) return texte texte = texte \ + marque_niveau + ' ' + version_section.nom.strip() + '\n' \ + '\n' texte = creer_sections(texte, niveau + 1, version_section, versions_sections, articles, version_texte, cid, cache) texte = creer_articles_section(texte, niveau, version_section, articles, version_texte, cid, cache) return texte