Timerscript mit dialog

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
bennym
User
Beiträge: 36
Registriert: Freitag 13. Oktober 2006, 21:17
Kontaktdaten:

Timerscript mit dialog

Beitragvon bennym » Sonntag 18. März 2007, 20:05

Hallo!

Ich habe eine Timerscript geschrieben.


Ich freu mich über jede Menge Kritik und Tipps!

mfg benny

Code: Alles auswählen

#!/usr/bin/python
#-*-coding=utf-8-*-

version = "0.5"


import dialog, os, time



d = dialog.Dialog(dialog="dialog")


#Introbox
def introbox():

   d.infobox(   "Scheduler - version " + version +
            "\n\n by benny:"
            "\n\n\nreleased under the GPL")

   time.sleep(0.5)




#Hauptmenu
def mainmenu():
   (code,tag) = d.menu(
      "Was soll getan werden?",
      width=60,
      choices=[   ("Einen neuen Event erstellen","")])


#Newevent oder nicht?
   if tag == "Einen neuen Event erstellen":
      newevent()


#Welche Anwendung soll ausgeführt werden
def newevent():
      (code, answer) = d.inputbox(
                  "Geben Sie den Befehl ein:")

      tasklist = []
      tasklist.append(answer)
      
      command = ' '.join(tasklist)

   

      (code, seconds) = d.inputbox(
                  "In wievielen Minuten?")

      
      
      #Sekunden werden in Minuten umgerechnet
      minutes = int(seconds) * 60
      #print minutes

      list = []
      list.append(minutes)

      while True:
         #print list
         x = (int(str(list[0])))   
   

#Sekunden oder Minuten oder Stunden im Infotext?
# Anmerkung: Aktualisierungspeed: Sekunden > Minuten > Stunden


         if x < 240:
            text = "Noch " + str(x) + " Sekunden \nverbleibend"
            #print "erster Abschnitt", str(x/60)
            #break
            time.sleep(1)

         elif 14400 > x > 240:
            text = "Noch " + str(x/60) + " Minuten \nverbleibend"
            #print "zweiter Abschnitt", str(x)
            #break
            time.sleep(1)

         else:
            text = "Noch " + str(x/60/60) + " Stunden \nverbleibend"
            #print "dritter Abschnitt", str(x/60/60)
            #break
            time.sleep(1)



         d.infobox(text)

         list[0] = str(int(list[0]) - 1)
   
         if "-1" in list:
            os.system(command)
            start()
         


#STAAAAARTTT
def start():
   introbox()
   mainmenu()

start()


Nirven
User
Beiträge: 130
Registriert: Mittwoch 10. Mai 2006, 08:18
Wohnort: Bremerhaven

Beitragvon Nirven » Sonntag 18. März 2007, 21:32

Hm, woher kommt das Modul Dialog?
Benutzeravatar
Michael Schneider
User
Beiträge: 566
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Bremen
Kontaktdaten:

Beitragvon Michael Schneider » Dienstag 20. März 2007, 09:23

Moin!

Keine Ahnung, aber es macht ne ganze Menge. ^^

@Benny, gibt es einen speziellen Grund, warum Dein halbes Script aus Leerzeilen besteht? Es wirkt so ein wenig unübersichtlich, wenn man "unnötig" viel scrollen muss.

Grüße,
Michael
Diese Nachricht zersört sich in 5 Sekunden selbst ...
bennym
User
Beiträge: 36
Registriert: Freitag 13. Oktober 2006, 21:17
Kontaktdaten:

Beitragvon bennym » Dienstag 20. März 2007, 21:52

Hallo!

Dialog ist ein Text user interface. Also ne Gui für die Console. Es basiert glaub auf curses, ist aber wesentlich einfacher zu programieren.

Bekommen tut mans mit apt-get install python-dialog unter ubuntu und debian.

@Michale Schneider
Die vielen Lehrzeilen? Ja, geb zu das es etwas unübersichtlich ist.... Gibt keinen bestimmten Grund warums so viele gibt :P

mfg benny

edit:
Die HP von dialog ist:
http://hightek.org/dialog/
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Mittwoch 21. März 2007, 11:35

bennym hat geschrieben:@Michale Schneider
Die vielen Lehrzeilen?

Freudsche Ironie? ;)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder