thc - Txt-to-Html-Converter

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
FloWo
User
Beiträge: 8
Registriert: Donnerstag 15. November 2007, 06:52
Wohnort: Bavaria
Kontaktdaten:

Hallo,

ich möchte euch gerne thc vorstellen. Gerade eben habe ich Version 0.2.5 online gestellt: thc-v0.2.5.zip
thc steht unter der GPLv2, ist also freie Software. Programmiert wurde der kleine Konvertierer unter Linux mit Python (logisch!) und Tkinter.
Ob er auch unter Windows läuft und wenn ja, wie, weiß ich bisher leider noch nicht.
Wenn jemand noch Vorschläge hat oder aber gerne zu thc beitragen möchte, schreibe mir einfach eine Mail an florian(at)wollenschein.de

Konstruktive Kritik ist mir hier in diesem Forum sehr willkommen.
Da ich noch ziemlicher Anfänger in Python und Tkinter bin, bitte ich aber mir den ein oder anderen kleinen oder auch größeren Fehler nachzusehen.

Danke. :D
MfG, Flo
wollenschein.de
Zuletzt geändert von FloWo am Dienstag 27. November 2007, 13:53, insgesamt 1-mal geändert.
Benutzeravatar
tiax
User
Beiträge: 152
Registriert: Samstag 23. Juli 2005, 17:28
Kontaktdaten:

404
Ne invoces expellere non possis
[url=xmpp://florian@florianheinle.de]xmpp:florian@florianheinle.de[/url]
FloWo
User
Beiträge: 8
Registriert: Donnerstag 15. November 2007, 06:52
Wohnort: Bavaria
Kontaktdaten:

Hallo,
danke für den Hinweis.

Ich habe den Link oben korrigiert. Hier ist er auch noch mal:

http://www.bestsharing.com/files/Y1PCE3 ... E.zip.html

Kritik wie schon gesagt sehr willkommen.

Gruß, Florian
BlackJack

Na dann: Kritik. Du hast es so gewollt. :-)

Es gibt Zeilen die teilweise deutlich länger als 80 Zeichen sind. Es werden Tabs statt Leerzeichen zum Einrücken benutzt.

Der gesamte Inhalt von `Tkinter` wird per ``*``-Import in den Namensraum geholt.

Das Hauptprogramm ist nicht in einer Funktion sondern auf Modulebene, und das auch noch über das gesamte Modul verstreut. Und die "Funktionen" sind nur benannte Codeblöcke, welche die Namen auf Modulebene einfach so benutzen und nicht per Argumente erhalten.

Die Namen halten sich nicht an den Style Guide.

In einer Schleife etwas anderes als ganze Zahlen an den Namen `i` zu binden ist keine gute Idee. Das stiftet Verwirrung.

GUI und Logik sind vermischt.

Verschiedene Sprachversionen auf diese Weise zu erstellen ist fehleranfällig weil man dann jede Programmänderung immer an zwei, bis auf die Texte, gleichen Quelltexten durchführen muss. Solche austauschbaren Texte gehören in eine externe Datendatei, am besten im Format für das `gettext`-Modul. Dann kann man die Texte auch an die Stelle schreiben an der sie benutzt werden und muss nicht immer suchen wo denn was ausgegeben wird, oder umgekehrt wo denn der Text definiert wurde, der an einer bestimmten Stelle ausgegeben wird.

Die Lokalisierung der DTD-Angabe in ``<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//DE">`` ist übrigens falsch! Die Länderkennung an der Stelle sagt in welcher Sprache die *DTD* verfasst ist, und nicht in welcher Sprache das Dokument verfasst ist, dessen Struktur durch die DTD definiert ist. Dort muss also immer EN stehen.

Dass das Dokument in UTF-8 kodiert ist, stimmt auch nur wenn die geöffnete Textdatei das zufällig war. Und wenn man im Titel etwas ausserhalb von ASCII angibt, dann liefert das Programm einen `UnicodEncodeError`.

Das Datum in der Versionsinfo würde ich nicht lokalisieren. Da Versionsinfo etwas technisches ist, könnte man das Datum auch einfach "technisch" im ISO-Format 2007-11-15 angeben.

Das die Umlaute in der GUI, zumindest teilweise, richtig angezeigt werden ist wohl Glück. Man sollte bei so etwas besser mit Unicode arbeiten.
Antworten