mitfahrgelegenheit.de - Komfortabel auslesen

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
ayJay
User
Beiträge: 17
Registriert: Dienstag 20. Mai 2008, 01:10

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
Wars don't determine who's right - only who's left
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

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.
ayJay
User
Beiträge: 17
Registriert: Dienstag 20. Mai 2008, 01:10

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!
Wars don't determine who's right - only who's left
Redprince
User
Beiträge: 128
Registriert: Freitag 22. Oktober 2004, 09:22
Wohnort: Salzgitter
Kontaktdaten:

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 ;)
I am not part of the allesburner. I am the [url=http://allesburner.de]allesburner[/url].
Antworten