コード例 #1
0
ファイル: exporter.py プロジェクト: Massiliane/Archeo-Lex
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
コード例 #2
0
ファイル: exporter.py プロジェクト: Massiliane/Archeo-Lex
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
コード例 #3
0
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
コード例 #4
0
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