Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Язык программирования Python (Питон, Пайтон)

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

Язык программирования Python (Питон, Пайтон)
 ОтветГолосаПроценты
первый раз слышу8
1.37%
слыхал, но ничего сказать про него немогу142
24.40%
изучал, но меня от него не прёт25
4.30%
изучаю и скоро на него перейду258
44.33%
скрипты пишу в основном на нём94
16.15%
пишу только на нём47
8.08%
я из комманды разработчиков Python'а8
1.37%
Гости не могут голосовать, зарегистрируйтесть!Всего Голосов: 582
SharkyEXE

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Код:
 
# -*- coding: utf-8 -*-
 
from Components.ActionMap import ActionMap
from Components.config import config, ConfigInteger, ConfigSubsection, ConfigYesNo, configfile
from Components.MenuList import MenuList
from enigma import ePoint, eTimer, getDesktop
from os import environ
from Plugins.Plugin import PluginDescriptor
from Screens.Screen import Screen
from Tools.Directories import resolveFilename, SCOPE_LANGUAGE, SCOPE_PLUGINS
from Components.Label import Label
 
##############################################################################
 
config.plugins.NewYear = ConfigSubsection()
config.plugins.NewYear.enabled = ConfigYesNo(default=True)
config.plugins.NewYear.position_x = ConfigInteger(default=336)
config.plugins.NewYear.position_y = ConfigInteger(default=30)
 
##############################################################################
 
SKIN = """
<screen position="0,0" size="610,90" zPosition="-7" backgroundColor="#ff000000" title="New Year" flags="wfNoBorder">
        <ePixmap position="0,0" zPosition="1" size="40,40" pixmap="/usr/lib/enigma2/python/Plugins/Extensions/NewYear_SyEXE/calendar.png" alphatest="on" />
        <widget name="title_text" position="0,0" size="610,45" font="Regular;30" backgroundColor="#ff000000" transparent="1" halign="center">
        </widget>
        <widget source="global.CurrentTime" render="Label" position="0,45" size="610,45" font="Regular;30" backgroundColor="#ff000000" transparent="1" halign="center">
            <convert type="ClockToText">NewYear</convert>
        </widget>
    
    </screen>"""
 
class NewYearNewScreen(Screen):
    def __init__(self, session):
        Screen.__init__(self, session)
        self.skin = SKIN
        self.onShow.append(self.movePosition)
        self['title_text'] = Label(_('До Нового , 2019 Года , осталось :'))
 
    def movePosition(self):
        if self.instance:
            self.instance.move(ePoint(config.plugins.NewYear.position_x.value, config.plugins.NewYear.position_y.value))
 
##############################################################################
 
class NewYear():
    def __init__(self):
        self.dialog = None
 
    def gotSession(self, session):
        self.dialog = session.instantiateDialog(NewYearNewScreen)
        self.showHide()
 
    def changeVisibility(self):
        if config.plugins.NewYear.enabled.value:
            config.plugins.NewYear.enabled.value = False
        else:
            config.plugins.NewYear.enabled.value = True
        config.plugins.NewYear.enabled.save()
        self.showHide()
 
    def showHide(self):
        if config.plugins.NewYear.enabled.value:
            self.dialog.show()
        else:
            self.dialog.hide()
 
pClockk = NewYear()
 
##############################################################################
 
class NewYearPositioner(Screen):
    def __init__(self, session):
        Screen.__init__(self, session)
        self.skin = SKIN
 
        self["actions"] = ActionMap(["WizardActions"],
        {
            "left": self.left,
            "up": self.up,
            "right": self.right,
            "down": self.down,
            "ok": self.ok,
            "back": self.exit
        }, -1)
        
        desktop = getDesktop(0)
        self.desktopWidth = desktop.size().width()
        self.desktopHeight = desktop.size().height()
        
        self.moveTimer = eTimer()
        self.moveTimer.callback.append(self.movePosition)
        self.moveTimer.start(50, 1)
 
    def movePosition(self):
        self.instance.move(ePoint(config.plugins.NewYear.position_x.value, config.plugins.NewYear.position_y.value))
        self.moveTimer.start(50, 1)
 
    def left(self):
        value = config.plugins.NewYear.position_x.value
        value -= 1
        if value < 0:
            value = 0
        config.plugins.NewYear.position_x.value = value
 
    def up(self):
        value = config.plugins.NewYear.position_y.value
        value -= 1
        if value < 0:
            value = 0
        config.plugins.NewYear.position_y.value = value
 
    def right(self):
        value = config.plugins.NewYear.position_x.value
        value += 1
        if value > self.desktopWidth:
            value = self.desktopWidth
        config.plugins.NewYear.position_x.value = value
 
    def down(self):
        value = config.plugins.NewYear.position_y.value
        value += 1
        if value > self.desktopHeight:
            value = self.desktopHeight
        config.plugins.NewYear.position_y.value = value
 
    def ok(self):
        config.plugins.NewYear.position_x.save()
        config.plugins.NewYear.position_y.save()
        configfile.save()
        self.close()
 
    def exit(self):
        config.plugins.NewYear.position_x.cancel()
        config.plugins.NewYear.position_y.cancel()
        self.close()
 
##############################################################################
 
class NewYearMenu(Screen):
    skin = """
        <screen position="center,center" size="400,145" title="New Year Setup">
            <widget name="list" position="10,10" size="390,135" />
        </screen>"""  
 
    def __init__(self, session):
        Screen.__init__(self, session)
        self.session = session
        self["list"] = MenuList([])
        self.setTitle(_("Новый Год Настройки"))
        self["actions"] = ActionMap(["OkCancelActions"], {"ok": self.okClicked, "cancel": self.close}, -1)
         self.onLayoutFinish.append(self.showMenu)
 
    def showMenu(self):
        list = []
        if config.plugins.NewYear.enabled.value:
            list.append(_("Деактивировать новый год"))
            list.append(_("Изменить позицию нового года"))
        else:
            list.append(_("Активировать новый год"))
        self["list"].setList(list)
 
    def okClicked(self):
        sel = self["list"].getCurrent()
        if pClockk.dialog is None:
            pClockk.gotSession(self.session)
        if sel == _("Деактивировать новый год") or sel == _("Активировать новый год"):
            pClockk.changeVisibility()
            self.showMenu()
        if sel == _("Изменить позицию нового года") :
            pClockk.dialog.hide()
            self.session.openWithCallback(self.positionerCallback, NewYearPositioner)
 
    def positionerCallback(self, callback=None):
        pClockk.showHide()
 
##############################################################################
 
def sessionstart(reason, **kwargs):
    if reason == 0:
        pClockk.gotSession(kwargs["session"])
 
def main(session, **kwargs):
    session.open(NewYearMenu)
 
##############################################################################
 
def Plugins(**kwargs):
    return [
        PluginDescriptor(where=[PluginDescriptor.WHERE_SESSIONSTART], fnc=sessionstart),
        PluginDescriptor(name=_("Новый год"), description=_("Show the 'Countdown to New Year' on the screen"), where=PluginDescriptor.WHERE_PLUGINMENU, icon = 'plugin.png', fnc=main)]
 


Всего записей: 354 | Зарегистр. 25-01-2009 | Отправлено: 18:59 08-06-2018 | Исправлено: SharkyEXE, 19:04 08-06-2018
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Интернет » Web-программирование » Язык программирования Python (Питон, Пайтон)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru