Seite 1 von 1

ToDo Extractor

Verfasst: Montag 3. April 2006, 21:10
von 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.

Verfasst: Montag 3. April 2006, 21:37
von rayo
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

Verfasst: Montag 3. April 2006, 22:08
von 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.

Verfasst: Donnerstag 6. April 2006, 15:42
von Leonidas
Ich habe die ganze Proxy-Diskussion mal weggesplittet, in den Thread HTTP-Encodings.