Bundesliga Verwaltung mit wxPython und SQLite
Verfasst: Sonntag 16. März 2008, 11:14
Hallo zusammen,
wie der Titel schon vermuten läßt, geht es hier um ein Programm zur schnellen Verwaltung der ersten Fussball Bundesliga (das müsste dann die zehnmillionste sein die es im Netz gibt, aber das erschien mir eine sinnvolle Aufgabe um sich eine Programmiersprache anzueignen). Die Verzeichnisse und Dateien in dem Ziparchiv müssen in ein Verzeichnis gepackt werden. Hier eine kurze Beschreibung des Archivinhaltes:
/gif - enthält die Wappen der Bundesliga Vereine
/icons - enthält die vom Programm verwendeten Icons
applogic.py - (377 Zeilen) Die Programmlogik, oder die Schicht zwischen Datenbankwrapper und Frontend
createdb.py - (614 Zeilen) Erzeugt eine neue Datenbank. Wird zur Ausführung nicht benötigt, da Datenbank im Archiv enthalten.
dblayer.py - (76 Zeilen) Datenbankwrapper, wird eventuell später ausgetauscht falls ich eine anderes DB-Backend nutzen möchte.
ligadb.s3db - (ca. 25KB) Die SQLite Datenbank der Anwendung.
ligamodules.py (390 Zeilen) Aus dem Hauptprogramm ausgelagerte Widgets.
umbliga.py - (322 Zeilen) Das Hauptprogramm.
Ich habe dem Programm bisher die Versionsnummer 0.0.1 gegeben, das lässt also ahnen wieviel des geplanten Funktionsumfanges ich bereits umgesetzt habe. Trotzdem zeigt das Programm schon einiges an Informationen und Ergebnisse können eingegeben werden und werden natürlich auch verarbeitet. Bis zur Version 1 sollen noch jede Menge Statistiken, ein Editor für die nächsten Jahre (sprich komfortable Eingabe der Mannschaften und des Spielplans, eventuell ein Onlineupdate), Ewige Tabelle und einiges anderes hinzukommen.
Hier gibt es einen Screeshot:
http://www.flickr.com/photos/12002553@N ... 7/sizes/o/
Der Downloadlink ist hier:
http://rapidshare.com/files/99929654/umbLiga.zip.html
(Entschuldigung fpr rapidshare, aber ich habe derzeit keine eigene Möglichkeit ein Download anzubieten)
Eine kurze Bedienungsanleitung:
Die Hauptsteuerung geschieht mit drei der vier Buttons rechts oben (der vierte hat noch keine Funktion). Dort kann man sich die einzelnen Spieltage anzeigen lassen und neue Ergebnisse eingeben. Natürlich kommt später ein Menu hinzu, aber für den kleinen Funktionsumfang reichen drei Buttons
Die Art der angezeigten Tabelle kann mit der ComboBox links oben ausgewählt werden.
Durch einen Klick auf einen Verein in der Tabelle wechselt die Spielplananzeige rechts unten und zeigt den Spielplan des markierten Vereins an.
Warum ich das Programm hier schon der (hoffentlich zahlreichen) Kritik aussetze?
Erst einmal komme ich eigentlich aus dem "VB-Lager" und habe mir im laufe der Jahre so ziemlich alle VB typischen Konventionen angeeignet. Sei es Namenskonvention oder Programmierstil. Ich denke mal hier ist das Know-How der mich auf den richtigen Python-Weg bringen kann
So als ehemaliger einsamer VB Programmierer habe ich bisher nach folgendem Motto programmiert:
"It was hard to write the code, it should be hard to read it and impossible to change it" *g*
Deshalb dachte ich ich könnte hier ein paar Anregungen für eine bessere Lesbarkeit meines Codes bekommen. Seien es Doc-Strings (wo ich echt null Inspiration habe wie die aussehen sollten) oder was gelegentliche Kommentare anbelangt. Zwar habe ich es ab und an versucht, aber da gibt es bestimmt jede Menge Optimierungspotential, um es mal positiv zu formulieren.
Ausserdem habe ich das Programm nur unter Linux entwickelt. Mich würde interessieren ob das auf anderen Plattformen ebenfalls so aussieht wie ich mir das gedacht habe. Ich denke mal da könnten einige Probleme auftreten. Leider habe ich privat keine Möglichkeit es auf anderen Systemen zu testen.
Kurz: Kommentare und Kritik ausdrücklich erwünscht. Es reicht ja wenn ihr euch einen kleinen Teil des Quellcodes rauspickt und den hemmungslos niedermacht (OK, positive Kritik war auch schön )
So langer Rede kurzer Sinn:
Danke schon einmal im Vorraus,
Pumeluk2
wie der Titel schon vermuten läßt, geht es hier um ein Programm zur schnellen Verwaltung der ersten Fussball Bundesliga (das müsste dann die zehnmillionste sein die es im Netz gibt, aber das erschien mir eine sinnvolle Aufgabe um sich eine Programmiersprache anzueignen). Die Verzeichnisse und Dateien in dem Ziparchiv müssen in ein Verzeichnis gepackt werden. Hier eine kurze Beschreibung des Archivinhaltes:
/gif - enthält die Wappen der Bundesliga Vereine
/icons - enthält die vom Programm verwendeten Icons
applogic.py - (377 Zeilen) Die Programmlogik, oder die Schicht zwischen Datenbankwrapper und Frontend
createdb.py - (614 Zeilen) Erzeugt eine neue Datenbank. Wird zur Ausführung nicht benötigt, da Datenbank im Archiv enthalten.
dblayer.py - (76 Zeilen) Datenbankwrapper, wird eventuell später ausgetauscht falls ich eine anderes DB-Backend nutzen möchte.
ligadb.s3db - (ca. 25KB) Die SQLite Datenbank der Anwendung.
ligamodules.py (390 Zeilen) Aus dem Hauptprogramm ausgelagerte Widgets.
umbliga.py - (322 Zeilen) Das Hauptprogramm.
Ich habe dem Programm bisher die Versionsnummer 0.0.1 gegeben, das lässt also ahnen wieviel des geplanten Funktionsumfanges ich bereits umgesetzt habe. Trotzdem zeigt das Programm schon einiges an Informationen und Ergebnisse können eingegeben werden und werden natürlich auch verarbeitet. Bis zur Version 1 sollen noch jede Menge Statistiken, ein Editor für die nächsten Jahre (sprich komfortable Eingabe der Mannschaften und des Spielplans, eventuell ein Onlineupdate), Ewige Tabelle und einiges anderes hinzukommen.
Hier gibt es einen Screeshot:
http://www.flickr.com/photos/12002553@N ... 7/sizes/o/
Der Downloadlink ist hier:
http://rapidshare.com/files/99929654/umbLiga.zip.html
(Entschuldigung fpr rapidshare, aber ich habe derzeit keine eigene Möglichkeit ein Download anzubieten)
Eine kurze Bedienungsanleitung:
Die Hauptsteuerung geschieht mit drei der vier Buttons rechts oben (der vierte hat noch keine Funktion). Dort kann man sich die einzelnen Spieltage anzeigen lassen und neue Ergebnisse eingeben. Natürlich kommt später ein Menu hinzu, aber für den kleinen Funktionsumfang reichen drei Buttons
Die Art der angezeigten Tabelle kann mit der ComboBox links oben ausgewählt werden.
Durch einen Klick auf einen Verein in der Tabelle wechselt die Spielplananzeige rechts unten und zeigt den Spielplan des markierten Vereins an.
Warum ich das Programm hier schon der (hoffentlich zahlreichen) Kritik aussetze?
Erst einmal komme ich eigentlich aus dem "VB-Lager" und habe mir im laufe der Jahre so ziemlich alle VB typischen Konventionen angeeignet. Sei es Namenskonvention oder Programmierstil. Ich denke mal hier ist das Know-How der mich auf den richtigen Python-Weg bringen kann
So als ehemaliger einsamer VB Programmierer habe ich bisher nach folgendem Motto programmiert:
"It was hard to write the code, it should be hard to read it and impossible to change it" *g*
Deshalb dachte ich ich könnte hier ein paar Anregungen für eine bessere Lesbarkeit meines Codes bekommen. Seien es Doc-Strings (wo ich echt null Inspiration habe wie die aussehen sollten) oder was gelegentliche Kommentare anbelangt. Zwar habe ich es ab und an versucht, aber da gibt es bestimmt jede Menge Optimierungspotential, um es mal positiv zu formulieren.
Ausserdem habe ich das Programm nur unter Linux entwickelt. Mich würde interessieren ob das auf anderen Plattformen ebenfalls so aussieht wie ich mir das gedacht habe. Ich denke mal da könnten einige Probleme auftreten. Leider habe ich privat keine Möglichkeit es auf anderen Systemen zu testen.
Kurz: Kommentare und Kritik ausdrücklich erwünscht. Es reicht ja wenn ihr euch einen kleinen Teil des Quellcodes rauspickt und den hemmungslos niedermacht (OK, positive Kritik war auch schön )
So langer Rede kurzer Sinn:
Danke schon einmal im Vorraus,
Pumeluk2