# -*- coding: utf-8 -*- from Screens.Screen import Screen from Plugins.Plugin import PluginDescriptor from Components.ActionMap import ActionMap from Components.Label import Label from calendar import month from time import localtime, strftime def Plugins(**kwargs): return [PluginDescriptor(name=_("Календарь"), description=_("Show the 'Calendar' on the screen"), where=PluginDescriptor.WHERE_PLUGINMENU, icon = 'plugin.png', fnc=main)] def main(session, **kwargs): session.open(vCalendar) class vCalendar(Screen): skin = """ <screen name="vCalendar" position="center,center" size="241,332" title="vCalendar"> <widget name="display" font="Console;20" position="0,0" size="241,330"/> <eLabel font="Regular;20" foregroundColor="#ff4A3C" position="0,307" size="120,25" text="Месяц -"/> <eLabel font="Regular;20" foregroundColor="#56C856" position="165,307" size="120,25" text="Месяц +"/> <widget name="title_text" font="Regular;20" position="0,115" size="247,25" foregroundColor="#ffffff"/> </screen>""" def __init__(self, session): Screen.__init__(self, session) self.session = session self['title_text'] = Label(_('Пн Вт Ср Чт Пт Сб Вс')) self["display"] = Label(_("wait...")) self.myJahr=localtime()[0] self.calJahr=self.myJahr self.myMonat=localtime()[1] self.calMonat=self.myMonat self.myTag=localtime()[2] self.myMonatt=strftime("%d.%m.%Y\n%A\n") self["actions"] = ActionMap(["OkCancelActions", "ColorActions"], { "red": self.preview, "green": self.next, "cancel": self.ExitCal }, -1) self.onLayoutFinish.append(self.fillLabels) def fillLabels(self): jetzt = ('\n' + self.myMonatt + '\n' + month(self.myJahr,self.myMonat)) self["display"].setText(jetzt) def ExitCal(self): self.close() def preview(self): if self.calMonat>1: self.calMonat-=1 else: self.calMonat=12 self.calJahr-=1 wann = ('\n' + self.myMonatt + '\n' + month(self.calJahr,self.calMonat)) self["display"].setText(wann) def next(self): if self.calMonat<12: self.calMonat+=1 else: self.calMonat=1 self.calJahr+=1 wann = ('\n' + self.myMonatt + '\n' + month(self.calJahr,self.calMonat)) self["display"].setText(wann) |