Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/05/2008, à 17:11

ga6ri3l

Script : génération automatique de liens vers les docs installées

Bonsoir,

J'ai écrit un (tout) petit script python que je trouve pratique : il compile tous les liens vers la documentation se trouvant dans /usr/share en un seul fichier (doc.html), je tenais à vous en faire part smile

Code:

#!/usr/bin/env python
# -*- coding: cp1252 -*

import os.path, sys


class generateDoc:
    def __init__(self):
        print 'generate doc...'
        self.myfile = open('doc.html','a')
    
    def generateIndexes(self,path):
        indexes=[]
        for    root,dirs,files in os.walk(path):
            for i in files:
                if i=='index.html':
                    indexes.append(os.path.join(root,i))
        return indexes

    def writeEntry(self,line,starter,lasttitle):
        pos0 = len(starter)
        partline = line[pos0:len(line)]
    
        pos1 = partline.find('/')
        
        title = partline[0:pos1]
        
        if (title!=lasttitle):
            if (lasttitle!=''):
                self.myfile.write('</dl><dl>')
            else:
                self.myfile.write('<dl>')

            self.myfile.write('<dt><h3>')
            self.myfile.write(title)
            self.myfile.write('</h3>')
        
        pos2 = partline.find('/index.html')
        self.myfile.write('<dt><a href="file://')
        self.myfile.write(line)
        self.myfile.write('">')
        self.myfile.write(partline[0:pos2])
        self.myfile.write('</a>')

        return title

    def writeIndexes(self,indexes):
        lasttitle = ''
        for line in indexes:
            if line.startswith('/usr/share/doc/'):
                lasttitle = self.writeEntry(line,'/usr/share/doc/',lasttitle)
            else:
                lasttitle = self.writeEntry(line,'/usr/share/',lasttitle)
                                
        self.myfile.write('</dl>')
        self.myfile.close()

if __name__ == "__main__":
    gen_doc = generateDoc()

    indexes = gen_doc.generateIndexes('/usr/share/')
    gen_doc.writeIndexes(indexes)

.


--

Back to the trees !!
roy lewis (Pourquoi j'ai mangé mon père)

Hors ligne