def organizzaFile():
    basepath = './'
    for singleFile in os.listdir(basepath):
        if os.path.isfile(
                os.path.join(basepath, singleFile)
        ) and singleFile.endswith(
                '.md'
        ) and singleFile != 'README.md' and singleFile != 'notFoundPage.md':
            print(singleFile[:2])

            for i in range(len(areeApplicative)):
                for j in range(len(areeApplicative[i])):
                    if areeApplicative[i][j] == singleFile[:2]:
                        for codice, nome in areeApp.items():
                            if nome == nomiAreeApplicative[i]:
                                pathApplicazione = 'DocumentazioneSmeUP/' + codice + '/' + areeApplicative[
                                    i][j]
                                pathModulo = pathApplicazione + '/' + singleFile[:
                                                                                 6]
                                #print(pathModulo)
                                if not os.path.exists(pathModulo):
                                    os.mkdir(pathModulo)

                        shutil.copy(singleFile, pathModulo)
                        os.remove(singleFile)
def creaCartelle():
    # Primo livello di navigazione
    if not os.path.exists('DocumentazioneSmeUP/DOC'):
        os.mkdir('DocumentazioneSmeUP/DOC')
    if not os.path.exists('DocumentazioneSmeUP/DOC_OPE'):
        os.mkdir('DocumentazioneSmeUP/DOC_OPE')
    if not os.path.exists('DocumentazioneSmeUP/DOC_VIS'):
        os.mkdir('DocumentazioneSmeUP/DOC_VIS')
    if not os.path.exists('DocumentazioneSmeUP/GLO'):
        os.mkdir('DocumentazioneSmeUP/GLO')
    if not os.path.exists('DocumentazioneSmeUP/NWS'):
        os.mkdir('DocumentazioneSmeUP/NWS')
    if not os.path.exists('DocumentazioneSmeUP/FAQ'):
        os.mkdir('DocumentazioneSmeUP/FAQ')

    # Secondo livello di navigazione
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_APP'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_APP')
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_SER'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_SER')
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_SCH'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_SCH')
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_OGG'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_OGG')
    if not os.path.exists('DocumentazioneSmeUP/NWS/News'):
        os.mkdir('DocumentazioneSmeUP/NWS/News')
    if not os.path.exists('DocumentazioneSmeUP/NWS/NTI'):
        os.mkdir('DocumentazioneSmeUP/NWS/NTI')

    # Terzo livello di navigazione
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_SCH/Applicazioni'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_SCH/Applicazioni')
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_SCH/Componenti'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_SCH/Componenti')
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_SCH/UPP'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_SCH/UPP')
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_SCH/Oggetti'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_SCH/Oggetti')
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_SCH/Altro'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_SCH/Altro')
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_OGG/File'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_OGG/File')
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_OGG/Costruttori'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_OGG/Costruttori')
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_OGG/Classi'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_OGG/Classi')
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_OGG/Programmi'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_OGG/Programmi')
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_OGG/Tabelle'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_OGG/Tabelle')
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_OGG/ValoriFissi'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_OGG/ValoriFissi')
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_OGG/VAloriDinamici'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_OGG/ValoriDinamici')
    if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_OGG/Altro'):
        os.mkdir('DocumentazioneSmeUP/DOC/DOC_OGG/Altro')

    for i in range(len(areeApplicative)
                   ):  # Navigazione per aree applicative e applicazioni
        for codice, nome in areeApp.items():
            if nome == nomiAreeApplicative[i]:
                dirName = codice
                if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_APP/' +
                                      dirName):
                    os.mkdir('DocumentazioneSmeUP/DOC/DOC_APP/' + dirName)
                if not os.path.exists('DocumentazioneSmeUP/DOC_VIS/' +
                                      dirName):
                    os.mkdir('DocumentazioneSmeUP/DOC_VIS/' + dirName)
                if not os.path.exists('DocumentazioneSmeUP/DOC_OPE/' +
                                      dirName):
                    os.mkdir('DocumentazioneSmeUP/DOC_OPE/' + dirName)
                if not os.path.exists('DocumentazioneSmeUP/DOC/DOC_SER/' +
                                      dirName):
                    os.mkdir('DocumentazioneSmeUP/DOC/DOC_SER/' + dirName)
                if not os.path.exists(
                        'DocumentazioneSmeUP/DOC/DOC_SCH/Applicazioni/' +
                        dirName):
                    os.mkdir('DocumentazioneSmeUP/DOC/DOC_SCH/Applicazioni/' +
                             dirName)
                if not os.path.exists('DocumentazioneSmeUP/NWS/NTI/' +
                                      dirName):
                    os.mkdir('DocumentazioneSmeUP/NWS/NTI/' + dirName)
                if not os.path.exists('DocumentazioneSmeUP/NWS/News/' +
                                      dirName):
                    os.mkdir('DocumentazioneSmeUP/NWS/News/' + dirName)
                if not os.path.exists('DocumentazioneSmeUP/FAQ/' + dirName):
                    os.mkdir('DocumentazioneSmeUP/FAQ/' + dirName)
                if not os.path.exists('DocumentazioneSmeUP/GLO/' + dirName):
                    os.mkdir('DocumentazioneSmeUP/GLO/' + dirName)
                for j in range(len(areeApplicative[i])):
                    dirName = areeApplicative[i][j]
                    pathApplicazione = 'DocumentazioneSmeUP/DOC/DOC_APP/' + codice + '/' + dirName
                    if not os.path.exists(pathApplicazione):
                        os.mkdir(pathApplicazione)
                    pathApplicazione = 'DocumentazioneSmeUP/DOC_VIS/' + codice + '/' + dirName
                    if not os.path.exists(pathApplicazione):
                        os.mkdir(pathApplicazione)
                    pathApplicazione = 'DocumentazioneSmeUP/DOC_OPE/' + codice + '/' + dirName
                    if not os.path.exists(pathApplicazione):
                        os.mkdir(pathApplicazione)
                    pathApplicazione = 'DocumentazioneSmeUP/DOC/DOC_SER/' + codice + '/' + dirName
                    if not os.path.exists(pathApplicazione):
                        os.mkdir(pathApplicazione)
                    pathApplicazione = 'DocumentazioneSmeUP/DOC/DOC_SCH/Applicazioni/' + codice + '/' + dirName
                    if not os.path.exists(pathApplicazione):
                        os.mkdir(pathApplicazione)
                    pathApplicazione = 'DocumentazioneSmeUP/NWS/NTI/' + codice + '/' + dirName
                    if not os.path.exists(pathApplicazione):
                        os.mkdir(pathApplicazione)
                    pathApplicazione = 'DocumentazioneSmeUP/NWS/News/' + codice + '/' + dirName
                    if not os.path.exists(pathApplicazione):
                        os.mkdir(pathApplicazione)
                    pathApplicazione = 'DocumentazioneSmeUP/FAQ/' + codice + '/' + dirName
                    if not os.path.exists(pathApplicazione):
                        os.mkdir(pathApplicazione)
                    pathApplicazione = 'DocumentazioneSmeUP/GLO/' + codice + '/' + dirName
                    if not os.path.exists(pathApplicazione):
                        os.mkdir(pathApplicazione)
Exemplo n.º 3
0
def output_markdown(dire,
                    base_dir,
                    output_file,
                    append,
                    oneLevelIndex,
                    iter_depth=0):
    """
    Main iterator for get information from every file/folder

    i: directory, base directory(to calulate relative path), 
       output file name, iter depth.
    p: Judge is directory or is file, then process .md/.markdown files.
    o: write .md information (with indentation) to output_file.
    """
    for filename in sort_dir_file(os.listdir(dire), base_dir):
        # add list and sort
        #print('Processing ', filename) # output log
        file_or_path = os.path.join(dire, filename)
        if os.path.isdir(file_or_path):  #is dir

            if mdfile_in_dir(file_or_path) and os.path.relpath(
                    file_or_path
            ) != 'DocumentazioneSmeUP\DOC':  # if there is .md files in the folder
                #print(os.path.relpath(file_or_path))

                if filename in areeApp:  # Se è un'area applicativa
                    if 'DOC_SCH' not in os.path.relpath(file_or_path):
                        output_file.write(
                            '  ' * iter_depth + '- [' + areeApp[filename] +
                            '](' + os.path.relpath(file_or_path).replace(
                                '\\', '/').replace(' ', '%20') +
                            '/_sidebar.md)\n')
                    else:
                        iter_depth = 1

                elif filename in applicazioni:  # Se è un'applicazione
                    if 'DOC_VIS' in os.path.relpath(file_or_path):
                        if os.path.exists('Sorgenti/DOC_VIS/TA/B£A/' +
                                          filename + '.md'):
                            output_file.write('  ' * iter_depth + '- [' +
                                              applicazioni[filename] + '](' +
                                              'Sorgenti/DOC_VIS/TA/B£A/' +
                                              filename + '.md)\n')
                    elif 'DOC_SER' in os.path.relpath(file_or_path):
                        applicazioneEsistente = False
                        for singleFile in os.listdir('Sorgenti/DOC/V3/ASE'):
                            nomeFile = singleFile.replace('.md', '')
                            if filename == singleFile[:
                                                      2] and applicazioneEsistente == False:
                                output_file.write(
                                    '  ' * iter_depth + '- [' +
                                    applicazioni[filename] + '](' +
                                    os.path.relpath(file_or_path).replace(
                                        '\\', '/').replace(' ', '%20') +
                                    '/_sidebar.md)\n')
                                applicazioneEsistente = True
                    elif 'News' in os.path.relpath(file_or_path):
                        applicazioneEsistente = False
                        for singleFile in os.listdir('Sorgenti/DOC/H6/NWS'):
                            nomeFile = singleFile.replace('.md', '')
                            if filename == singleFile[:
                                                      2] and applicazioneEsistente == False:
                                output_file.write(
                                    '  ' * iter_depth + '- [' +
                                    applicazioni[filename] + '](' +
                                    os.path.relpath(file_or_path).replace(
                                        '\\', '/').replace(' ', '%20') +
                                    '/_sidebar.md)\n')
                                applicazioneEsistente = True
                    elif 'FAQ' in os.path.relpath(file_or_path):
                        applicazioneEsistente = False
                        for singleFile in os.listdir('Sorgenti/FAQ/TA/B£AMO'):
                            nomeFile = singleFile.replace('.md', '')
                            if filename == singleFile[:
                                                      2] and applicazioneEsistente == False:
                                output_file.write(
                                    '  ' * iter_depth + '- [' +
                                    applicazioni[filename] + '](' +
                                    os.path.relpath(file_or_path).replace(
                                        '\\', '/').replace(' ', '%20') +
                                    '/_sidebar.md)\n')
                                applicazioneEsistente = True
                    elif 'GLO' in os.path.relpath(file_or_path):
                        applicazioneEsistente = False
                        for singleFile in os.listdir('Sorgenti/GLO/TA/B£AMO'):
                            nomeFile = singleFile.replace('.md', '')
                            if filename == singleFile[:
                                                      2] and applicazioneEsistente == False:
                                output_file.write(
                                    '  ' * iter_depth + '- [' +
                                    applicazioni[filename] + '](' +
                                    os.path.relpath(file_or_path).replace(
                                        '\\', '/').replace(' ', '%20') +
                                    '/_sidebar.md)\n')
                                applicazioneEsistente = True
                    elif 'DOC_SCH' in os.path.relpath(file_or_path):
                        pathApplicazione = os.path.relpath(
                            file_or_path) + '/_sidebar.md'
                        with open(pathApplicazione, 'w',
                                  encoding='utf8') as f3:
                            f3.write('# ' + applicazioni[filename] + '\n')
                            for singleFile in os.listdir(
                                    'Sorgenti/DOC_OPE/MB/SCP_SCH'):
                                nomeFile = singleFile.replace('.md', '')
                                if filename == singleFile[:2]:
                                    if nomeFile in nomiDOC_SCH and len(
                                            nomeFile
                                    ) == 6 and '_' not in nomeFile:
                                        indiceModulo = 'Sorgenti/DOC_OPE/MB/SCP_SCH/' + nomeFile + '.md'
                                        f3.write('- [' +
                                                 nomiDOC_SCH[nomeFile] + '](' +
                                                 indiceModulo + ')\n')
                    else:
                        output_file.write(
                            '  ' * iter_depth + '- [' +
                            applicazioni[filename] +
                            '](' + os.path.relpath(file_or_path).replace(
                                '\\', '/').replace(' ', '%20') +
                            '/_sidebar.md)\n')

                elif filename in moduli:  # Se è un modulo
                    indiceModulo = os.path.relpath(
                        file_or_path) + '/' + filename + '.md'
                    if os.path.exists(
                            indiceModulo
                    ):  # Se il modulo non ha il file di indice non viene inserito nell'elenco dei modul
                        output_file.write(
                            '  ' * iter_depth + '- [' + moduli[filename] +
                            '](' + os.path.relpath(file_or_path).replace(
                                '\\', '/').replace(' ', '%20') + '/' +
                            filename + ')\n')

                else:
                    if 'DOC_SCH' not in os.path.relpath(
                            file_or_path) and 'DOC_OGG' not in os.path.relpath(
                                file_or_path
                            ) and 'DOC_APP' not in os.path.relpath(
                                file_or_path
                            ) and 'DOC_SER' not in os.path.relpath(
                                file_or_path) and 'NWS' not in os.path.relpath(
                                    file_or_path):
                        output_file.write(
                            '  ' * iter_depth + '- [' + filename +
                            '](' + os.path.relpath(file_or_path).replace(
                                '\\', '/').replace(' ', '%20') +
                            '/_sidebar.md)\n')

                if oneLevelIndex == False:
                    output_markdown(file_or_path, base_dir, output_file,
                                    append, oneLevelIndex,
                                    iter_depth + 1)  # iteration

        else:  # is file
            print("_________" + os.path.abspath(file_or_path))
            if is_markdown_file(filename):
                # re to find target markdown files, $ for matching end of filename
                if filename != '_sidebar.md':
                    if (filename not in [
                            '_sidebar.md', 'SUMMARY-GitBook-auto-_sidebar.md'
                    ] or iter_depth !=
                            0):  # escape _sidebar.md at base directory
                        output_file.write(
                            '  ' * iter_depth + '- [{}]({})\n'.format(
                                write_md_filename(filename, append),
                                os.path.relpath(file_or_path).replace(
                                    '\\', '/').replace(' ', '%20')))
                        # iter depth for indent, relpath and join to write link.
                else:
                    # print(os.path.relpath(file_or_path))
                    if 'DOC_APP' in os.path.relpath(file_or_path):
                        for codice, nome in applicazioni.items():
                            if codice in os.path.relpath(file_or_path):
                                with open(os.path.relpath(file_or_path),
                                          'w',
                                          encoding='utf8') as f2:
                                    f2.write('# ' + nome + '\n')
                                    for singleFile in os.listdir(
                                            'Sorgenti/DOC/TA/B£AMO'):
                                        nomeFile = singleFile.replace(
                                            '.md', '')
                                        if codice == singleFile[:2]:
                                            if nomeFile in moduli and '_' not in nomeFile:
                                                indiceModulo = 'Sorgenti/DOC/TA/B£AMO/' + nomeFile + '.md'
                                                if os.path.exists(
                                                        indiceModulo
                                                ):  # Se il modulo non ha il file di indice non viene inserito nell'elenco dei moduli
                                                    f2.write('- [' +
                                                             moduli[nomeFile] +
                                                             '](' +
                                                             indiceModulo +
                                                             ')\n')
                    elif 'DOC_OPE' in os.path.relpath(file_or_path):
                        for codice, nome in applicazioni.items():
                            if codice in os.path.relpath(file_or_path):
                                with open(os.path.relpath(file_or_path),
                                          'w',
                                          encoding='utf8') as f2:
                                    f2.write('# ' + nome + '\n')
                                    for singleFile in os.listdir(
                                            'Sorgenti/DOC_OPE/TA/B£AMO'):
                                        nomeFile = singleFile.replace(
                                            '.md', '')
                                        if codice == singleFile[:2]:
                                            if nomeFile in moduliDOC_OPE and '_' not in nomeFile:
                                                indiceModulo = 'Sorgenti/DOC_OPE/TA/B£AMO/' + nomeFile + '.md'
                                                if os.path.exists(
                                                        indiceModulo
                                                ):  # Se il modulo non ha il file di indice non viene inserito nell'elenco dei moduli
                                                    f2.write(
                                                        '- [' +
                                                        moduliDOC_OPE[nomeFile]
                                                        + '](' + indiceModulo +
                                                        ')\n')
                    elif 'DOC_SER' in os.path.relpath(file_or_path):
                        for codice, nome in applicazioni.items():
                            if codice in os.path.relpath(file_or_path):
                                with open(os.path.relpath(file_or_path),
                                          'w',
                                          encoding='utf8') as f2:
                                    f2.write('# ' + nome + '\n')
                                    for singleFile in os.listdir(
                                            'Sorgenti/DOC/V3/ASE'):
                                        nomeFile = singleFile.replace(
                                            '.md', '')
                                        if codice == singleFile[:2]:
                                            indiceFile = 'Sorgenti/DOC/V3/ASE/' + nomeFile + '.md'
                                            if nomiDOC_SER[nomeFile] == '':
                                                f2.write('- [' + nomeFile +
                                                         '](' + indiceFile +
                                                         ')\n')
                                            else:
                                                f2.write(
                                                    '- [' +
                                                    nomiDOC_SER[nomeFile] +
                                                    '](' + indiceFile + ')\n')
                    elif 'DOC_SCH' in os.path.relpath(file_or_path):
                        if '\\Applicazioni\\_sidebar' in os.path.relpath(
                                file_or_path
                        ):  # Elenca le applicazioni che hanno almeno un documento DOC_SCH
                            with open(os.path.relpath(file_or_path),
                                      'w',
                                      encoding='utf8') as f:
                                f.write('# Elenco Applicazioni\n')
                                for i in range(len(areeApplicative)):
                                    for j in range(len(areeApplicative[i])):
                                        applicazioneEsistente = False
                                        for codice, nome in areeApp.items():
                                            if nome == nomiAreeApplicative[i]:
                                                for singleFile in os.listdir(
                                                        'Sorgenti/DOC_OPE/MB/SCP_SCH'
                                                ):
                                                    nomeFile = singleFile.replace(
                                                        '.md', '')
                                                    if areeApplicative[i][
                                                            j] == singleFile[:2] and nomeFile in nomiDOC_SCH and len(
                                                                nomeFile
                                                            ) == 6 and '_' not in nomeFile and applicazioneEsistente == False:
                                                        pathApplicazione = 'DocumentazioneSmeUP/DOC/DOC_SCH/Applicazioni/' + codice + '/' + areeApplicative[
                                                            i][j] + '/_sidebar.md'
                                                        f.write(
                                                            '- [' +
                                                            applicazioni[
                                                                areeApplicative[
                                                                    i][j]] +
                                                            '](' +
                                                            pathApplicazione.
                                                            replace(
                                                                ' ', '%20') +
                                                            ')\n')
                                                        applicazioneEsistente = True
                        elif '\\Componenti\\_sidebar' in os.path.relpath(
                                file_or_path
                        ):  # Elenco dei DOC_SCH relativi ai Componenti
                            with open(os.path.relpath(file_or_path),
                                      'w',
                                      encoding='utf8') as f:
                                f.write('# Schede di Componenti\n')
                                for singleFile in os.listdir(
                                        'Sorgenti/DOC_OPE/MB/SCP_SCH'):
                                    if singleFile[:3] == 'CMP':
                                        nomeFile = singleFile.replace(
                                            '.md', '')
                                        f.write(
                                            '- [' + nomiDOC_SCH[nomeFile] +
                                            '](Sorgenti/DOC_OPE/MB/SCP_SCH/' +
                                            singleFile + ')\n')
                        elif '\\UPP\\_sidebar' in os.path.relpath(
                                file_or_path
                        ):  # Elenco dei DOC_SCH relativi agli UPP
                            with open(os.path.relpath(file_or_path),
                                      'w',
                                      encoding='utf8') as f:
                                f.write('# Schede di UPP\n')
                                for singleFile in os.listdir(
                                        'Sorgenti/DOC_OPE/MB/SCP_SCH'):
                                    nomeFile = singleFile.replace('.md', '')
                                    upp = ""
                                    if '_' in nomeFile:
                                        codice = nomeFile.rsplit('_')[0]
                                        upp = nomeFile.rsplit('_')[1]
                                        if len(upp) == 3 and len(
                                                codice
                                        ) == 2 and codice in applicazioni:
                                            f.write(
                                                '- [' + nomiDOC_SCH[nomeFile] +
                                                '](Sorgenti/DOC_OPE/MB/SCP_SCH/'
                                                + singleFile + ')\n')
                        elif '\\Oggetti\\_sidebar' in os.path.relpath(
                                file_or_path
                        ):  # Elenco dei DOC_SCH relativi agli Oggetti
                            with open(os.path.relpath(file_or_path),
                                      'w',
                                      encoding='utf8') as f:
                                f.write('# Schede di Oggetti\n')
                                for singleFile in os.listdir(
                                        'Sorgenti/DOC_OPE/MB/SCP_SCH'):
                                    nomeFile = singleFile.replace('.md', '')
                                    if '_' in nomeFile:
                                        codice = nomeFile.rsplit('_')[0]
                                        if len(
                                                codice
                                        ) == 2 and codice not in applicazioni:
                                            f.write(
                                                '- [' + nomiDOC_SCH[nomeFile] +
                                                '](Sorgenti/DOC_OPE/MB/SCP_SCH/'
                                                + singleFile + ')\n')
                        else:
                            with open(
                                    'DocumentazioneSmeUP/DOC/DOC_SCH/Altro/_sidebar.md',
                                    'w',
                                    encoding='utf8') as f:
                                f.write('# Altre Schede\n')
                                for singleFile in os.listdir(
                                        'Sorgenti/DOC_OPE/MB/SCP_SCH'):
                                    codice = ""
                                    if '_' in singleFile:
                                        codice = singleFile.rsplit('_')[0]
                                    if singleFile[:
                                                  3] != 'CMP' and singleFile[:2] not in applicazioni and len(
                                                      codice) != 2:
                                        nomeFile = singleFile.replace(
                                            '.md', '')
                                        f.write(
                                            '- [' + nomiDOC_SCH[nomeFile] +
                                            '](Sorgenti/DOC_OPE/MB/SCP_SCH/' +
                                            singleFile + ')\n')
                    elif 'DOC_OGG' in os.path.relpath(file_or_path):
                        if '\\File\\_sidebar' in os.path.relpath(
                                file_or_path
                        ):  # Elenco dei DOC_OGG relativi ai File
                            with open(os.path.relpath(file_or_path),
                                      'w',
                                      encoding='utf8') as f:
                                f.write('# File\n')
                                for singleFile in os.listdir(
                                        'Sorgenti/DOC/OJ/FILE'):
                                    nomeFile = 'F_' + singleFile.replace(
                                        '.md', '')
                                    f.write('- [' + nomiDOC_OGG[nomeFile] +
                                            '](Sorgenti/DOC/OJ/FILE/' +
                                            singleFile + ')\n')
                        elif '\\Costruttori\\_sidebar' in os.path.relpath(
                                file_or_path
                        ):  # Elenco dei DOC_OGG relativi ai Costruttori
                            with open(os.path.relpath(file_or_path),
                                      'w',
                                      encoding='utf8') as f:
                                f.write('# Costruttori\n')
                                for singleFile in os.listdir(
                                        'Sorgenti/DOC/V2/LOCOS'):
                                    if singleFile[:
                                                  3] == 'LOA' or singleFile[:
                                                                            7] == 'V2LOCOS':
                                        nomeFile = singleFile.replace(
                                            '.md', '')
                                        if nomeFile not in nomiDOC_OGG:
                                            f.write(
                                                '- [' + nomeFile +
                                                '](Sorgenti/DOC/V2/LOCOS/' +
                                                singleFile + ')\n')
                                        else:
                                            f.write(
                                                '- [' + nomiDOC_OGG[nomeFile] +
                                                '](Sorgenti/DOC/V2/LOCOS/' +
                                                singleFile + ')\n')
                        elif '\\Classes\\_sidebar' in os.path.relpath(
                                file_or_path
                        ):  # Elenco dei DOC_OGG relativi alle Classi
                            with open(os.path.relpath(file_or_path),
                                      'w',
                                      encoding='utf8') as f:
                                f.write('# Classi\n')
                                for singleFile in os.listdir(
                                        'Sorgenti/DOC/OG/OG'):
                                    nomeFile = 'OG_' + singleFile.replace(
                                        '.md', '')
                                    if nomiDOC_OGG[nomeFile] == '':
                                        f.write('- [' + nomeFile +
                                                '](Sorgenti/DOC/OG/OG/' +
                                                singleFile + ')\n')
                                    else:
                                        f.write('- [' + nomiDOC_OGG[nomeFile] +
                                                '](Sorgenti/DOC/OG/OG/' +
                                                singleFile + ')\n')
                        elif '\\Programmi\\_sidebar' in os.path.relpath(
                                file_or_path
                        ):  # Elenco dei DOC_OGG relativi ai Programmi
                            with open(os.path.relpath(file_or_path),
                                      'w',
                                      encoding='utf8') as f:
                                f.write('# Programmi\n')
                                for singleFile in os.listdir(
                                        'Sorgenti/DOC/OJ/PGM'):
                                    nomeFile = 'P_' + singleFile.replace(
                                        '.md', '')
                                    if nomeFile not in nomiDOC_OGG:
                                        f.write('- [' + nomeFile +
                                                '](Sorgenti/DOC/OJ/PGM/' +
                                                singleFile + ')\n')
                                    elif nomiDOC_OGG[nomeFile] == '':
                                        f.write('- [' + nomeFile +
                                                '](Sorgenti/DOC/OJ/PGM/' +
                                                singleFile + ')\n')
                                    else:
                                        f.write('- [' + nomiDOC_OGG[nomeFile] +
                                                '](Sorgenti/DOC/OJ/PGM/' +
                                                singleFile + ')\n')
                        elif '\\Tabelle\\_sidebar' in os.path.relpath(
                                file_or_path
                        ):  # Elenco dei DOC_OGG relativi alle Tabelle
                            with open(os.path.relpath(file_or_path),
                                      'w',
                                      encoding='utf8') as f:
                                f.write('# Tabelle\n')
                                for singleFile in os.listdir(
                                        'Sorgenti/DOC/OG/TA'):
                                    nomeFile = 'TA_' + singleFile.replace(
                                        '.md', '')
                                    if nomiDOC_OGG[nomeFile] == '':
                                        f.write('- [' + nomeFile +
                                                '](Sorgenti/DOC/OG/TA/' +
                                                singleFile + ')\n')
                                    else:
                                        f.write('- [' + nomiDOC_OGG[nomeFile] +
                                                '](Sorgenti/DOC/OG/TA/' +
                                                singleFile + ')\n')
                        elif '\\ValoriFissi\\_sidebar' in os.path.relpath(
                                file_or_path
                        ):  # Elenco dei DOC_OGG relativi ai Valori Fissi (V2)
                            with open(os.path.relpath(file_or_path),
                                      'w',
                                      encoding='utf8') as f:
                                f.write('# Valori Fissi\n')
                                for singleFile in os.listdir(
                                        'Sorgenti/DOC/OG/V2'):
                                    nomeFile = 'V2_' + singleFile.replace(
                                        '.md', '')
                                    if nomiDOC_OGG[nomeFile] == '':
                                        f.write('- [' + nomeFile +
                                                '](Sorgenti/DOC/OG/V2/' +
                                                singleFile + ')\n')
                                    else:
                                        f.write('- [' + nomiDOC_OGG[nomeFile] +
                                                '](Sorgenti/DOC/OG/V2/' +
                                                singleFile + ')\n')
                        elif '\\ValoriDinamici\\_sidebar' in os.path.relpath(
                                file_or_path
                        ):  # Elenco dei DOC_OGG relativi ai Valori Dinamici (V3)
                            with open(os.path.relpath(file_or_path),
                                      'w',
                                      encoding='utf8') as f:
                                f.write('# Valori Dinamici\n')
                                for singleFile in os.listdir(
                                        'Sorgenti/DOC/OG/V3'):
                                    nomeFile = 'V3_' + singleFile.replace(
                                        '.md', '')
                                    if nomiDOC_OGG[nomeFile] == '':
                                        f.write('- [' + nomeFile +
                                                '](Sorgenti/DOC/OG/V3/' +
                                                singleFile + ')\n')
                                    else:
                                        f.write('- [' + nomiDOC_OGG[nomeFile] +
                                                '](Sorgenti/DOC/OG/V3/' +
                                                singleFile + ')\n')
                    elif 'News' in os.path.relpath(file_or_path):
                        for codice, nome in applicazioni.items():
                            if '\\' + codice in os.path.relpath(file_or_path):
                                with open(os.path.relpath(file_or_path),
                                          'w',
                                          encoding='utf8') as f2:
                                    f2.write('# ' + nome + '\n')
                                    for singleFile in os.listdir(
                                            'Sorgenti/DOC/H6/NWS'):
                                        nomeFile = singleFile.replace(
                                            '.md', '').replace('_', '_NWS')
                                        if codice == singleFile[:2]:
                                            indiceFile = 'Sorgenti/DOC/H6/NWS/' + singleFile
                                            f2.write('- [' +
                                                     nomiDOC_NWS[nomeFile] +
                                                     '](' + indiceFile + ')\n')
                    elif 'FAQ' in os.path.relpath(file_or_path):
                        for codice, nome in applicazioni.items():
                            if '\\' + codice in os.path.relpath(file_or_path):
                                with open(os.path.relpath(file_or_path),
                                          'w',
                                          encoding='utf8') as f2:
                                    f2.write('# ' + nome + '\n')
                                    for singleFile in os.listdir(
                                            'Sorgenti/FAQ/TA/B£AMO'):
                                        nomeFile = singleFile.replace(
                                            '.md', '') + '_FAQ'
                                        if codice == singleFile[:2]:
                                            indiceFile = 'Sorgenti/FAQ/TA/B£AMO/' + singleFile
                                            f2.write('- [' +
                                                     nomiFAQ[nomeFile] + '](' +
                                                     indiceFile + ')\n')
                    elif 'GLO' in os.path.relpath(file_or_path):
                        for codice, nome in applicazioni.items():
                            if '\\' + codice in os.path.relpath(file_or_path):
                                with open(os.path.relpath(file_or_path),
                                          'w',
                                          encoding='utf8') as f2:
                                    f2.write('# ' + nome + '\n')
                                    for singleFile in os.listdir(
                                            'Sorgenti/GLO/TA/B£AMO'):
                                        nomeFile = singleFile.replace(
                                            '.md', '') + '_GLO'
                                        if codice == singleFile[:2]:
                                            indiceFile = 'Sorgenti/GLO/TA/B£AMO/' + singleFile
                                            f2.write('- [' +
                                                     nomiGLO[nomeFile] + '](' +
                                                     indiceFile + ')\n')
Exemplo n.º 4
0
            f.write('href: "' + path.replace('\\', '/') + '"\n},')
            cont = cont + 1

    for dirname, dirnames, filenames in os.walk(basepath1):
        #print(dirname)
        for singleFile in filenames:
            nomefile = singleFile.replace('.md', '')
            path = os.path.join(dirname, singleFile)
            # print(path)

            f.write('{\n')
            f.write('id: ' + str(cont) + ",\n")

            if 'DOC\\DOC_APP' in dirname:
                for key, value in areeApp.items():
                    if key in dirname:
                        if dirname.endswith(key):
                            f.write('title: "' + value + '",\n')
                            f.write('cat: "Indice DOC_APP",\n')
                            # f.write('voci: "",\n')
                        for codice, nome in applicazioni.items():
                            if codice in dirname:
                                f.write('title: "' + nome + '",\n')
                                f.write('cat: "Indice DOC_APP",\n')
                                # f.write('voci: "",\n')
            elif 'DOC\\DOC_SER' in dirname:
                for key, value in areeApp.items():
                    if key in dirname:
                        if dirname.endswith(key):
                            f.write('title: "' + value + '",\n')