gui fenster in python erstellen..

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • gui fenster in python erstellen..

      hi..
      ich habe mir ein kleines script in python geschrieben funktions name ist check()
      nun wollte ich das als script in enigma2 einbinden.

      Ich wäre euch sehr dankbar für ein bsp.
      für ein "gui fenster" und wenn ich z.b die rote taste drücke das er die function check() ausführt..

      soviel weiß ich schon:

      plugin nach /usr/lib/enigma2/python/Plugins/Extensions/MEINNAME/plugin.py
      eine leere __init__.py anlegen.


      mein code:

      import urllib, re, time

      url = "http://www.serienwiki.de"
      data = urllib.urlopen(url).read()
      series = re.findall("<h2>(.*?),.*?.2011</h2>|<b>(.*?)</b></td>.*?title=.(.*?). alt.*?href=.*?>(.*?)</a>.*?right.><b>(.*?)</b>.*?href=.*?>(.*?)</a>", data)

      def date():
      date = time.strftime("%A",time.gmtime())
      if date == "Monday":
      date = "Montag"
      return date

      def check():
      for serie in series:
      if serie[0] == "Dienstag":
      break
      if serie[0] == date():
      continue

      else:
      print serie[0], serie[1], serie[2], serie[3], serie[4]
      Du brauchst hilfe ?? !!
      JOIN unseren irc channel #newnigma2 @ irc0.brn.ch.swissirc.net
    • RE: gui fenster in python erstellen..

      z.b. so :D aber ich würde anstelle von urllib twisted nehmen :D

      PHP-Quellcode

      1. # -*- coding: utf-8 -*-
      2. from Screens.Screen import Screen
      3. from Components.ActionMap import ActionMap
      4. from Components.Label import Label
      5. from Components.Button import Button
      6. from Plugins.Plugin import PluginDescriptor
      7. from Screens.Screen import Screen
      8. import urllib, re, time
      9. class startDemoScreen(Screen):
      10. skin = """
      11. <screen position="center,center" size="560,430" title="%s" >
      12. <widget name="info" position="10,100" size="540,300" zPosition="1" font="Regular;18" halign="center" valign="center" />
      13. <ePixmap name="red" position="5,365" zPosition="4" size="140,40" pixmap="skin_default/buttons/red.png" transparent="1" alphatest="on" />
      14. <widget name="key_red" position="5,365" zPosition="5" size="140,40" valign="center" halign="center" font="Regular;21" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
      15. <ePixmap name="green" position="150,365" zPosition="4" size="140,40" pixmap="skin_default/buttons/green.png" transparent="1" alphatest="on" />
      16. <widget name="key_green" position="150,365" zPosition="5" size="140,40" valign="center" halign="center" font="Regular;21" transparent="1" foregroundColor="white" shadowColor="black" shadowOffset="-1,-1" />
      17. </screen>"""% _("Demo blubb Screen")
      18. def __init__(self, session, plugin_path):
      19. self.skin_path = plugin_path
      20. self.plugin_path = plugin_path
      21. Screen.__init__(self, session)
      22. self["actions"] = ActionMap(["SetupActions", "ColorActions"],
      23. {
      24. "green": self.settings,
      25. "cancel": self.close,
      26. }, -1)
      27. self.url = "http://www.serienwiki.de"
      28. self["info"] = Label("los geht")
      29. self["key_green"] = Button(_("Start"))
      30. self["key_red"] = Button(_("Cancel"))
      31. def settings(self):
      32. data = urllib.urlopen(self.url).read()
      33. series = re.findall("<h2>(.*?),.*?.2011</h2>|<b>(.*?)</b></td>.*?title=.(.*?). alt.*?href=.*?>(.*?)</a>.*?right.><b>(.*?)</b>.*?href=.*?>(.*?)</a>", data)
      34. self.check(series)
      35. def date(self):
      36. date = time.strftime("%A",time.gmtime())
      37. if date == "Monday":
      38. date = "Montag"
      39. return date
      40. def check(self, series):
      41. for serie in series:
      42. if serie[0] == "Dienstag":
      43. break
      44. if serie[0] == self.date():
      45. continue
      46. else:
      47. print serie[0], serie[1], serie[2], serie[3], serie[4]
      48. def main(session, **kwargs):
      49. session.open(startDemoScreen, plugin_path)
      50. def Plugins(path,**kwargs):
      51. global plugin_path
      52. plugin_path = path
      53. return [
      54. PluginDescriptor(name="Demo blubb",description="Demo blubb", where = [ PluginDescriptor.WHERE_PLUGINMENU ], fnc = main),
      55. PluginDescriptor(name="Demo blubb", where = PluginDescriptor.WHERE_EXTENSIONSMENU, fnc=main)
      56. ]
      Alles anzeigen
      Dateien
      • plugin.py

        (2,9 kB, 339 mal heruntergeladen, zuletzt: )
      • __init__.py

        (0 Byte, 505 mal heruntergeladen, zuletzt: )
      » time to say goodbye «

      Konfuzius sagt:
      Erst wenn eine Mücke auf deinen Hoden landet wirst du lernen Probleme ohne Gewalt zu lösen.
    • RE: gui fenster in python erstellen..

      büdde :)
      Dateien
      • plugin.py

        (4,04 kB, 481 mal heruntergeladen, zuletzt: )
      » time to say goodbye «

      Konfuzius sagt:
      Erst wenn eine Mücke auf deinen Hoden landet wirst du lernen Probleme ohne Gewalt zu lösen.
    • huhu nix :)

      Kannst du mir BITTE nochmal ein beispiel machen mit dem code unten.. :)

      Die gif's sind die vereinslogos und würden dann in "script/vlogos/" liegen.

      Platz - Letzter Platz - Vereinslogo - Vereinsname - Spiele - Siege - Unentschieden - Niederlagen - Torverhaeltnisse - Differenz - Punkte

      für eine saubere anzeige habe ich extra jeden wert in eine variable gepackt :)
      für eine saubere tabellen artige anzeige :D

      PHP-Quellcode

      1. # -*- coding: utf-8 -*-
      2. import urllib, re, time, datetime, os, sys
      3. ### config
      4. url = "http://fussballdaten.de/bundesliga/"
      5. data = urllib.urlopen(url).read()
      6. ### parsen
      7. platz = re.findall("<tr.*?<td class=.Platz.*?.>(.*?)</td>", data)
      8. lplatz = re.findall("<td class=.VPlatz.>(.*?)</td>", data)
      9. tendenz = re.findall("<td class=.Tendenz.>(.*?)</td>", data)
      10. logoverein = re.findall("<td class=.Verein.><span class=.Logo.><img alt=.*? src=./bilder/t-vereine/15x15/(.*?)...>", data)
      11. verein = re.findall("<td class=.Verein.><span class=.Logo.><img alt=.*?src=.*?></span><a href=.*?>(.*?)</a></td>", data)
      12. spiele = re.findall("<td class=.Spiele.>(.*?)</td>", data)
      13. siege = re.findall("<td class=.S.>(.*?)</td>", data)
      14. unen = re.findall("<td class=.U.>(.*?)</td>", data)
      15. nieder = re.findall("<td class=.N.>(.*?)</td>", data)
      16. torver = re.findall("<td class=.Torverhaeltnis.>(.*?)</td>", data)
      17. diff = re.findall("<td class=.Diff.>(.*?)</td>", data)
      18. punkte = re.findall("<td class=.Punkte.>(.*?)</td>", data)
      19. ### bisschen voodooo
      20. def umlaute(text):
      21. text = text.replace('&nbsp;'," ").replace(''',"'").replace('&szlig;',"Ã.").replace('&quot;','"').replace('&ndash;',"-")
      22. text = text.replace('&copy;.*'," ").replace('&amp;',"&").replace('&uuml;',"ü").replace('&auml;',"ä").replace('&ouml;',"ö")
      23. text = text.replace('&Uuml;',"Ã.").replace('&Auml;',"Ã.").replace('&Ouml;',"Ã.").replace('ü',"ü").replace('ö',"ö")
      24. text = text.replace('<img src="/bilder/allgemein/',"").replace('" alt="" />',"")
      25. return text
      26. #### haupt function
      27. def tab():
      28. count = 0
      29. while (count < 18):
      30. tmp_platz = platz[count]
      31. tmp_lplatz = lplatz[count]
      32. tmp_vereinslogo = umlaute(logoverein[count])
      33. tmp_vereinsname = umlaute(verein[count])
      34. tmp_spiele = spiele[count]
      35. tmp_siege = siege[count]
      36. tmp_u = unen[count]
      37. tmp_n = nieder[count]
      38. tmp_torv = torver[count]
      39. tmp_diff = diff[count]
      40. tmp_punkte = punkte[count]
      41. # Platz - Letzter Platz - Vereinlogo - Vereinsname - Spiele - Siege - Unentschieden - Niederlagen - Torverhaeltnisse - Differenz - Punkte
      42. print tmp_platz, tmp_lplatz, tmp_vereinslogo, tmp_vereinsname, tmp_spiele, tmp_siege, tmp_u, tmp_n, tmp_torv, tmp_diff, tmp_punkte
      43. count = count + 1
      44. tab()
      Alles anzeigen


      AUSGABE:

      root@dm8000:~# python tab.py
      1. (1.) 3026.gif Borussia Dortmund 28 20 5 3 58:17 +41 65
      2. (2.) 3054.gif Bayer Leverkusen 28 17 7 4 57:34 +23 58
      3. (4.) 3063.gif FC Bayern München 28 15 6 7 60:34 +26 51
      4. (3.) 3043.gif Hannover 96 28 16 2 10 40:40 0 50
      5. (5.) 3058.gif 1. FSV Mainz 05 28 14 3 11 43:35 +8 45
      6. (6.) 3070.gif 1. FC Nürnberg 28 12 6 10 42:37 +5 42
      7. (7.) 3042.gif Hamburger SV 28 12 5 11 43:44 -1 41
      8. (8.) 3038.gif SC Freiburg 28 11 5 12 35:39 -4 38
      9. (9.) 3111.gif 1899 Hoffenheim 28 9 10 9 42:39 +3 37
      10. (10.) 3082.gif FC Schalke 04 28 10 6 12 33:33 0 36
      11. (11.) 3050.gif 1. FC Köln 28 10 5 13 38:49 -11 35
      12. (12.) 3018.gif SV Werder Bremen 28 8 9 11 38:54 -16 33
      13. (14.) 3035.gif Eintracht Frankfurt 28 9 5 14 28:38 -10 32
      14. (13.) 3047.gif 1. FC Kaiserslautern 28 8 7 13 36:44 -8 31
      15. (15.) 3088.gif VfB Stuttgart 28 8 6 14 47:50 -3 30
      16. (17.) 3098.gif VfL Wolfsburg 28 6 10 12 32:41 -9 28
      17. (16.) 3086.gif FC St. Pauli 28 8 4 16 29:49 -20 28
      18. (18.) 3062.gif Borussia Mönchengladbach 28 6 5 17 38:62 -24 23

      DANKE !

      P.S Es ist auch die letzte bitte :D
      Du brauchst hilfe ?? !!
      JOIN unseren irc channel #newnigma2 @ irc0.brn.ch.swissirc.net