Внимание! Новое программного обеспечение для World Vision Foros Ultra и World Vision Foros Combo S2/T2 выложено в теме с обновлением.

Подробней в теме: по ссылке

Автор Тема: Доработка опенПли 3.0  (Прочитано 9764 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Дмитрий73

  • Помощник модератора
  • Фельдфебель
  • *****
  • Спасибо
  • -> Вы поблагодарили: 172
  • -> Вас поблагодарили: 3155
  • Сообщений: 2221
  • Репутация: +3181/-0
  • Пол: Мужской
  • awards Заслуженный пользователь клуба За весомый программный вклад Огромный вклад в развитие тем форума Продвинутый пользователь За заслуги перед wvclub.net За верность клубу
    • Награды
  • Модель ресивера: et8500/et7000mini/formuler1
Доработка опенПли 3.0
« : 17 Март 2013, 14:53:20 »
В этом посте выложу небольшие изменения для вывода ЕПГ.
1)В одиночном ЕПГ будут сохранятся прошедшие события(вплоть до 2 часов),задается в настройках.
Меню-Настройки-Система-Настройки ЕПГ-Сохранять прошедшие данные EPG для (мин)
2)В мульти ЕПГ появится оставшееся время для текущих передач и продолжительность для следующих.

Установка:
Файл из архива положить через фтп в ресивер, по пути /usr/lib/enigma2/python/Components/
рестарт GUI

Этот вариант только для опенПли 3.0
Для других имиджей выкладываю изменения в виде патча/ diff(для тех кто в этом понимает).
Эти пользователи сказали Вам СПАСИБО:

Оффлайн nikolasi

  • Супер VIP
  • Младший фейерверкер
  • *****
  • Спасибо
  • -> Вы поблагодарили: 18
  • -> Вас поблагодарили: 276
  • Сообщений: 120
  • Репутация: +278/-0
  • Пол: Мужской
  • awards Эксперт За знание своего дела Специалист Enigma2 Продвинутый пользователь За весомый программный вклад За заслуги перед wvclub.net
    • Награды
  • Модель ресивера: vu+ solo2, vu+ solo se
Доработка опенПли 3.0
« Ответ #1 : 17 Март 2013, 16:23:57 »
Спасибо Дима.Да вопрос тока config.epg.histminutes.getValue()-указываетса в минутах?Тоисть 30-60-120?Работает тока у кого не пли- r3.x, r3.y, 80, r3.h,  и тд не прокатит.Нужно вписать r3.left(), r3.top() и тд и плясать от етого вот пример
if nowTime < beginTime:
begin = localtime(beginTime)
end = localtime(beginTime+duration)
res.extend((
(eListboxPythonMultiContent.TYPE_TEXT, r4.left(), r4.top(), r4.width(), r4.height(), 1, RT_HALIGN_CENTER|RT_VALIGN_CENTER, "%02d.%02d - %02d.%02d"%(begin[3],begin[4],end[3],end[4])),
(eListboxPythonMultiContent.TYPE_TEXT, r3.left(), r3.top(), 80, r3.height(), 1, RT_HALIGN_RIGHT|RT_VALIGN_CENTER, _("%d min") % (duration / 60)),
                                        (eListboxPythonMultiContent.TYPE_TEXT, r3.left() + 90, r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, EventName)
))
else:
percent = (nowTime - beginTime) * 100 / duration
prefix = "+"
remaining = ((beginTime+duration) - int(time())) / 60
if remaining <= 0:
prefix = ""
res.extend((
(eListboxPythonMultiContent.TYPE_PROGRESS, r2.left(), r2.top(), r2.width(), r2.height(), percent),
(eListboxPythonMultiContent.TYPE_TEXT, r3.left(), r3.top(), 80, r3.height(), 1, RT_HALIGN_RIGHT|RT_VALIGN_CENTER, _("%s%d min") % (prefix, remaining)),
                                        (eListboxPythonMultiContent.TYPE_TEXT, r3.left() + 90, r3.top(), r3.width(), r3.height(), 0, RT_HALIGN_LEFT, EventName)
))
return res
Эти пользователи сказали Вам СПАСИБО:

Оффлайн Дмитрий73

  • Помощник модератора
  • Фельдфебель
  • *****
  • Спасибо
  • -> Вы поблагодарили: 172
  • -> Вас поблагодарили: 3155
  • Сообщений: 2221
  • Репутация: +3181/-0
  • Пол: Мужской
  • awards Заслуженный пользователь клуба За весомый программный вклад Огромный вклад в развитие тем форума Продвинутый пользователь За заслуги перед wvclub.net За верность клубу
    • Награды
  • Модель ресивера: et8500/et7000mini/formuler1
Доработка опенПли 3.0
« Ответ #2 : 17 Март 2013, 17:11:44 »
Спасибо Дима.Да вопрос тока config.epg.histminutes.getValue()-указываетса в минутах?Тоисть 30-60-120?
В Пли,в настройках, шаг задан в 15 минут,а в бинарник идет в секундах.До 2 часов самое большое,хотя я себе переделал до 12 часов,но в таком случае нельзя пользоваться GraphMultiEPG,это сохранение ЕПГ на Пли для него делалось.
config.epg.histminutes = ConfigSelectionNumber(min = 0, max = 120, stepwidth = 15, default = 0, wraparound = True)
def EpgHistorySecondsChanged(configElement):
from enigma import eEPGCache
eEPGCache.getInstance().setEpgHistorySeconds(config.epg.histminutes.getValue()*60)
config.epg.histminutes.addNotifier(EpgHistorySecondsChanged)
А по поводу минут в мульти епг...
Я ведь даже в другие исходники и не смотрел,как там это выглядит.Ну теперь с твоим кодом,для тех кто захочет похожее сделать,будет все понятно.
« Последнее редактирование: 17 Март 2013, 17:28:24 от Дмитрий73 »