Seite 1 von 1

mitfahrgelegenheit.de - Komfortabel auslesen

Verfasst: Mittwoch 12. November 2008, 20:34
von ayJay
Vor einiger Zeit habe ich hier mal angefragt, wie ich in einenem Tk Entry-Widget eine Autovervollständigung implementieren kann. Jetzt ist es endlich mal so weit, dass ich das Projekt mal vorstelle.

Es handelt sich um ein Tk-Programm, mit dem man komfortabel die Seite mitfahrgelegenheit.de abfragen kann. Was mich an der Seite gestört hat: man bekommt erstmal nur eine Übersicht präsentiert, und muss sich dann durch alle Ergebnisse durchklicken. Genau das übernimmt das Tool. Man gibt Start und Ziel (mit der o.g. autocomplete-Funktion ;) ) und ein Datum ein und drückt schließlich auf "Suchen". Dann werden alle passenden Mitfahrgelegenheiten gesucht und in eine xml-Datei gespeichert.

Was noch kommen muss/wird:
  • Anzeige der Angebote
  • Anbindung von anderen ähnlichen Seiten
  • ein Icon
  • ...
Der Code ist gewachsen, außerdem ist es mein erstes Python-Programm. Wenn also jemand schlecht programmierte Stellen oder alternative, elegantere Wege für bestimmte Aufgaben findet, immer raus damit. Besonders bei der Behandlung von Umlauten in Ortsnamen bin ich froh, dass es geht, aber total unsicher, ob das nicht einfacher geht. Das Hautproblem war (ist): Entry.get() gibt normalerweise ein str zurück, wenn aber Umlaute drin sind wird es ein unicode-String...

Python 2.6 wird benötigt (irgend was mit dem datepicker braucht das...)
http://pythoncode.py.funpic.de/MfG.zip

Verfasst: Mittwoch 12. November 2008, 22:35
von Dauerbaustelle
Hallo, da du Feedback wolltest, meckere ich einfach mal rum ;)

- global ist böse. Du brauchst das nicht ;)
- Anstatt a=b oder a==b benutze doch a = b bzw.a == b.
- if-Statements müssen nicht in Klammern (also nicht if (bedingung))
- Benutze für das Parsen (Schreiben) von XML doch einen XML-Parser
- Funktionsnamen entweder alle auf Englisch oder alle auf Deutsch. Alles andere ist doof ;)
- Zeile 192, if 1: Weglassen bzw mit if __name__ == "__main__": ersetzen.

Verfasst: Mittwoch 12. November 2008, 22:58
von ayJay
Danke, ist doch genau das was ich meine :)

zu dem if 1: ist debug-Zeug, kommt natürlich raus
zu global: wie kann ich dann z.B. in den event-Handlern schreibend auf Variablen zugreifen? Übergeben kann ich den Funktionen ja nichts...
zu der Formatierung, den Funktionsnamen und den if-Klammern: wird im nächsten Schritt vereinheitlicht. Aber nicht mehr heute ;)
und zu guter Letzt der XML-Parser: ich weiß nicht,ob der xml-Output drin bleibt, aber wenn ja werde ich mich auf jeden Fall mal umschauen.

Vielen Dank nochmal für das Feedback!

Verfasst: Donnerstag 13. November 2008, 10:22
von Redprince
Du solltest dir dringend PEP-8 durchlesen, dein Code ist größtenteils etwas anstrengend zu lesen! Funktionen kannst du mit Sicherheit etwas übergeben, lambda hilft dir sicher weiter ;)