ToDo Extractor

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
BlackJack

Mal wieder ein Progrämmchen das aus Eigenbedarf entstand und wahrscheinlich nur für mich nützlich ist. :-)

Mit dem ToDo Extractor kann man aus einzelnen Dateien und/oder Rekursiv aus Unterverzeichnissen Zeilen anzeigen lassen, in denen die Worte TODO, FIXME oder XXX gefolgt von einem Leerzeichen, Tabulatorzeichen oder Doppelpunkt, vorkommen. So verschaffe ich mir einen Überblick über solche Kommentare in meinen Projekten.

Wenn in der Zeile Ausrufezeichen vorkommen, dann wird diese Zeile je nach Anzahl der Ausrufezeichen höher bewertet und rückt an den Anfang der aufgelisteten Zeilen für die jeweilige Datei.

Beispiel:

Code: Alles auswählen

$ todox.py todox.py
todox.py:3:todo: Add copyright info and write documentation.
todox.py:152:todo: The exclude parameters should be part of the class.
Found 2 item(s).
Zu finden ist das ganze hier:

http://www.marc.rintsch.de/software.html#todox

Edit (Leonidas): Thread in HTTP-Encodings gesplittet.
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Hi

Hast du sehr schön programmiert :) gefällt mir.

Aber noch eine Frage

Code: Alles auswählen

        for (root, dirs, files) in os.walk(root):
            dirs[:] = filter_filenames(dirs, dir_exclude)
            for filename in filter_filenames(files, file_exclude):
                self.read_file(os.path.join(root, filename))
Macht os.walk bei der überschriebenen 'dirs' Liste weiter?
Oder hat das "inplace"-überschreiben dirs[:] = .... eine andere Bedeutung?

Ich hab bisher immer erst root überprüft (was ja zu spät ist, da ist das Verz. ja schon eingelesen).

Gruss
BlackJack

rayo hat geschrieben:Hast du sehr schön programmiert :) gefällt mir.
Danke :-)
Aber noch eine Frage

Code: Alles auswählen

        for (root, dirs, files) in os.walk(root):
            dirs[:] = filter_filenames(dirs, dir_exclude)
            for filename in filter_filenames(files, file_exclude):
                self.read_file(os.path.join(root, filename))
Macht os.walk bei der überschriebenen 'dirs' Liste weiter?
Oder hat das "inplace"-überschreiben dirs[:] = .... eine andere Bedeutung?
Nein, genau das ist der Sinn der Übung. Man kann aus `dirs` Werte löschen oder auch welche hinzufügen und die werden dann beim weiteren Abstieg im Verzeichnisbaum von `os.walk()` berücksichtigt.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich habe die ganze Proxy-Diskussion mal weggesplittet, in den Thread HTTP-Encodings.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten