Seite 1 von 1

TimeLimiter

Verfasst: Freitag 23. Dezember 2011, 18:09
von jtschoch
Hallo Liebe Pythonforum,

Ich habe heute mein Projekt mit der 0.4 Version fertiggestellt,
das Programm heißt TimeLimiter,
damit kann man die Zeit begrennzen, dass man nicht so lange vorn Rechner sitzt.
Ich habe deshalb die 0.4 Version draus gemacht, weil vor der Veröffentlichung paar Funktionen
und Verbesserrungen dazu gekommen sind. Es ist erstmal nur für Ubuntu/Linux verfügbar.

Hier ist der Link: https://sites.google.com/site/mypythonp ... imelimiter

Es könnte sein das noch Fehler auftreten,
aber an dennen Arbeite ich noch.

Wenn ihr einen Endeckt dann Postet mir den bitte,
Zeitangabe und Fehlermeldung.

Re: TimeLimiter

Verfasst: Freitag 23. Dezember 2011, 20:08
von nomnom
Es wäre schön, wenn man sich den Code auch anschauen könnte, ohne sich die .deb-Datei herunterzuladen, zu entpacken, nach dem Code zu suchen und sie dann in einem Editor zu öffnen …

Edit: Hab mir mal erlaubt, den Code auf paste.pocoo.org zu pasten. http://paste.pocoo.org/show/525090/

Re: TimeLimiter

Verfasst: Freitag 23. Dezember 2011, 21:10
von webspider
Wieso kann der Code nicht in etwa so (vorsicht, ungetestet) aussehen? In der ursprünglichen Form ist es viel zu umständlich und erinnert mehr an eine Sprache wie Java statt Python.

Code: Alles auswählen

import sys, time

duration = sys.argv[1].split(':') # setzt HH:MM als Format voraus
minutes = int(duration[0]) * 60 + int(duration[1])

for i in minutes:
    time.sleep(60) # eine Minute schlafen...

print("Shutting down...")
do_shutdown() # eigene Funktion implementieren

Re: TimeLimiter

Verfasst: Freitag 23. Dezember 2011, 21:17
von nomnom
Man könnte auch `shutdown -h uhrzeit im format hh:mm` ausführen. :?

Edit: Meine Lösung wäre diese gewesen.

Es gibt übrigens das Modul pynotify, mit dem man das Ubuntu-Notify-OSD benutzen kann. Hier ist eines der Beispiele. Wenn du noch mehr wissen willst, steht hier vielleicht noch was.

Re: TimeLimiter

Verfasst: Freitag 23. Dezember 2011, 21:29
von webspider
OK, stimmt, bin halt davon ausgegangen, dass der verbesserte Code auf Linux und Windows laufen soll :mrgreen:

Schon erschreckend wie schwer es sich hier manche machen. Noch leichter als einen Begriff in die Kommandozeile einzutippen wäre es natürlich etwas Selbstdisziplin zu demonstrieren und um die gewünschte Uhrzeit auszuschalten. Oder nach Ertönen des passend eingestellten Weckers auszuschalten.

Aber das wäre vermutlich zu leicht.

edit: Brauchen shutdown und dergleichen nicht Root-Rechte? Meine gelesen zu haben, dass man sich genau aus diesem Grund die Mühe mit dbus macht.

Re: TimeLimiter

Verfasst: Freitag 23. Dezember 2011, 22:25
von nomnom
Hm, also das vorgestellte Script sollte unter Ubuntu eigentlich nicht funktionieren, da es ab Ubuntu 10.10 kein HAL mehr gibt, dafür aber UPower, allerdings kann man damit den Rechner nicht mehr herunterfahren. Demnach müsste man auf eine Lösung zurückgreifen, die je nach Desktopumgebung die speziellen DBus-Interfaces bereitstellt.

Neue Version ;) Hab nichts zu tun. :( Echt toll, dass man mit der Python-Standardbibliothek so viele Dinge sich erleichtern kann!! :)

Edit:
Hab gar nicht gesehen, dass er auch die anderen Einträge durchprobiert. ’tschuldigung.

Re: TimeLimiter

Verfasst: Samstag 24. Dezember 2011, 09:44
von jtschoch
Ja, ich habe ja gesagt dass ich den Code noch verbessere.
Ich Arbeite noch dran!

Aber danke für die Hinweiße.

Und auserdem habe ich ihn unter Ubuntu 11.10 getestet.
Der Code liegt in /usr/bin/timelimiter keine Endung!
sonst müsste man in der Konsole folgebndes eingeben:
timelimiter.py hh:mm

EDIT: Mit dem dbus ist ja nur das man den Rechner unter Ubuntu ohne Root/Admin Rechte runter fahren kann.
Und bei der nächten Version will ich das mit --help ... mit parser machen!

Re: TimeLimiter

Verfasst: Samstag 24. Dezember 2011, 18:04
von Leonidas
Und was ist dieses linux2, was ist mit uns linux3-Usern? ;)

Re: TimeLimiter

Verfasst: Sonntag 25. Dezember 2011, 12:26
von Dav1d
Interessant

Code: Alles auswählen

─[ArchBox][~]╼ python -c "import sys; print sys.platform"
linux2
─[ArchBox][~]╼ uname -r                                  
3.1.5-1-ARCH
Edit: Blick in die Dokumentation:
Linux (2.x and 3.x) 'linux2'

Re: TimeLimiter

Verfasst: Sonntag 25. Dezember 2011, 12:46
von cofi
Hier der entsprechende Issue: http://bugs.python.org/issue12326

linux3 gab es definitiv ;)

Re: TimeLimiter

Verfasst: Dienstag 27. Dezember 2011, 19:47
von jtschoch
Das hatte mich ja auch gewundert, aber es ist halt so!

Re: TimeLimiter

Verfasst: Dienstag 27. Dezember 2011, 23:16
von Leonidas
Daswegen auch bei linux ``startswith`` verwenden.