MPD-Wecker

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten
ptrck
User
Beiträge: 9
Registriert: Dienstag 31. März 2009, 15:46

hej,

ich bin etwas aus der übung gekommen und zudem sowieso anfänger in python. daher habe ich mir zur übung folgendes geschrieben:

ein programm, das nach aktivierung in den standby modus wechselt, zu einer eingestellten zeit wieder aufwacht und den mpd anwirft. das ganze läuft über eine ncurses oberfläche (wollte ich einfach mal ausprobieren) in der man die zeit einstellen und einen letzten blick auf die weck-playlist werfen kann, einschlafen & wieder aufwachen wird mit rtcwake gemacht.

es ging mir mehr um das python-üben als um den nutzen. :)

wäre super, wenn der ein oder andere mal einen blick auf den code werfen könnte: http://paste.pocoo.org/show/149604/

danke!
patrick
Zuletzt geändert von ptrck am Montag 9. November 2009, 19:25, insgesamt 1-mal geändert.
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

In Kurzform, weil ich eigentlich Englisch machen soll:
Benutzeravatar
snafu
User
Beiträge: 6833
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Warum nutzt du `os.system()`, wo du doch offenbar weißt, dass es das modernere `subprocess.Popen()` gibt?
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Und wozu ``date`` verwenden, wenn Python dafür Tools in der Stdlib mitbringt?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ptrck
User
Beiträge: 9
Registriert: Dienstag 31. März 2009, 15:46

* PEP8
* es gibt conditional expressions
* \ muss nicht immer sein: http://docs.python.org/howto/doanddont. ... statements
* es gibt curses.wrapper
* except sollte explizit angeben, was abgefangen wird
was passt denn nicht so gut in die pep8-standards?
conditional expressions habe ich eingebaut, ging bisher an mir vorbei.. gute sache!
den rest hab ich angepasst.. danke!
snafu hat geschrieben:Warum nutzt du `os.system()`, wo du doch offenbar weißt, dass es das modernere `subprocess.Popen()` gibt?
du hast recht, ist geändert. danke
Leonidas hat geschrieben:Und wozu ``date`` verwenden, wenn Python dafür Tools in der Stdlib mitbringt?
ich habe den befehl bisher direkt über die kommandozeile eingegeben und fand das mit den date-strings sehr praktisch. also dass man relativ flexibel "tomorrow 8" oder etwas derartiges eingeben kann. ich habe da nichts dergleichen in den python-libs gefunden. ich könnte mir natürlich etwas ähnliches selber bauen. mal schauen... danke!
Benutzeravatar
mkesper
User
Beiträge: 919
Registriert: Montag 20. November 2006, 15:48
Wohnort: formerly known as mkallas
Kontaktdaten:

ptrck hat geschrieben:ich habe den befehl bisher direkt über die kommandozeile eingegeben und fand das mit den date-strings sehr praktisch. also dass man relativ flexibel "tomorrow 8" oder etwas derartiges eingeben kann. ich habe da nichts dergleichen in den python-libs gefunden. ich könnte mir natürlich etwas ähnliches selber bauen. mal schauen... danke!
Sowas ist halt problematisch, weil eine andere Implementierung des Befehls eventuell anders reagiert (von Plattformunabhängigkeit jetzt mal nicht zu reden).
ptrck
User
Beiträge: 9
Registriert: Dienstag 31. März 2009, 15:46

mkallas hat geschrieben:Sowas ist halt problematisch, weil eine andere Implementierung des Befehls eventuell anders reagiert (von Plattformunabhängigkeit jetzt mal nicht zu reden).
ja, das stimmt wohl. muss ich ändern!
ich habe etwas in der richtung gefunden (http://pypi.python.org/pypi/parsedatetime/0.8.6), versuche mich im moment aber doch erst einmal selbst daran. ein wenig regexp-wiederholung kann nicht schaden.
Benutzeravatar
snafu
User
Beiträge: 6833
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Reicht dir [mod]datetime[/mod] nicht?
ptrck
User
Beiträge: 9
Registriert: Dienstag 31. März 2009, 15:46

snafu hat geschrieben:Reicht dir [mod]datetime[/mod] nicht?
es ging mir darum, einfach eine beliebige datums-/zeitangabe eingeben zu können, die dann erkannt wird. datetime ist ja immer an bestimmte formate (%y.%m.%d, etc) gebunden. ich bin gerade dabei, eine klasse zu schreiben, die beliebige, "menschliche" eingaben (zb tomorrow 16:00) entgegennimmt und ein entsprechendes datetime-objekt daraus macht. mal schauen was daraus wird. soweit eine gute übung.

Edit:
so schaut das ganze bisher aus:
http://paste.pocoo.org/show/150800/
Antworten