self.inputfile = ""
self.cutlist = [ ]
self.chaptermarks = [ ]
+ self.timeCreate = None
def addService(self, service):
from os import path
from enigma import eServiceCenter, iServiceInformation
+ from ServiceReference import ServiceReference
+ from time import localtime, time
self.source = service
serviceHandler = eServiceCenter.getInstance()
info = serviceHandler.info(service)
self.descr = info and " " + info.getInfoString(service, iServiceInformation.sDescription) or ""
+ sTimeCreate = info.getInfo(service, iServiceInformation.sTimeCreate)
+ if sTimeCreate > 1:
+ self.timeCreate = localtime(sTimeCreate)
+ serviceref = ServiceReference(info.getInfoString(service, iServiceInformation.sServiceref))
self.name = info and info.getName(service) or "Title" + t.descr
+ self.channel = serviceref.getServiceName()
self.inputfile = service.getPath()
self.filesize = path.getsize(self.inputfile)
self.estimatedDiskspace = self.filesize
if self.job.menupreview:
self.waitAndOpenPlayer()
else:
- self.job.project.session.openWithCallback(self.previewCB, MessageBox, _("Do you want to preview this project before burning?"), timeout = 60, default = False)
+ self.job.project.session.openWithCallback(self.previewCB, MessageBox, _("Do you want to preview this DVD before burning?"), timeout = 60, default = False)
def previewCB(self, answer):
if answer == True:
if self.job.menupreview:
self.closedCB(True)
else:
- self.job.project.session.openWithCallback(self.closedCB, MessageBox, _("Do you want to burn this project to DVD medium?") )
+ self.job.project.session.openWithCallback(self.closedCB, MessageBox, _("Do you want to burn this collection to DVD medium?") )
def closedCB(self, answer):
if answer == True:
return titles_per_menu
def formatTitle(template, title, track):
- import re
+ print template
template = template.replace("$i", str(track))
+ print template
template = template.replace("$t", title.name)
+ print template
template = template.replace("$d", title.descr)
+ print template
template = template.replace("$c", str(len(title.chaptermarks)+1))
+ print template
template = template.replace("$f", title.inputfile)
+ print template
+ template = template.replace("$C", title.channel)
+ print template
l = title.length
lengthstring = "%d:%02d:%02d" % (l/3600, l%3600/60, l%60)
template = template.replace("$l", lengthstring)
- res = re.search("(?:/.*?).*/(?P<year>\d{4})(?P<month>\d{2})(?P<day>\d{2}).(?P<hour>\d{2})(?P<minute>\d{2}).-.*.?.ts", title.inputfile)
- if res:
- template = template.replace("$Y", res.group("year"))
- template = template.replace("$M", res.group("month"))
- template = template.replace("$D", res.group("day"))
- template = template.replace("$h", res.group("hour"))
- template = template.replace("$m", res.group("minute"))
+ print template
+ if title.timeCreate:
+ template = template.replace("$Y", str(title.timeCreate[0]))
+ template = template.replace("$M", str(title.timeCreate[1]))
+ template = template.replace("$D", str(title.timeCreate[2]))
+ timestring = "%d:%02d" % (title.timeCreate[3], title.timeCreate[4])
+ template = template.replace("$T", timestring)
else:
- template = template.replace("$Y", "").replace("$M", "").replace("$D", "").replace("$h", "").replace("$m", "")
+ template = template.replace("$Y", "").replace("$M", "").replace("$D", "").replace("$T", "")
return template.decode("utf-8")
def CreateMenus(job):
<widget source="key_green" render="Label" position="140,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#1f771f" transparent="1" />
<widget source="key_yellow" render="Label" position="280,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#a08500" transparent="1" />
<widget source="key_blue" render="Label" position="420,0" zPosition="1" size="140,40" font="Regular;20" halign="center" valign="center" backgroundColor="#18188b" transparent="1" />
- <widget name="config" position="20,50" size="540,276" scrollbarMode="showOnDemand" />
- <widget source="info" render="Label" position="20,330" size="520,110" font="Regular;20" />
+ <widget name="config" position="10,50" size="540,276" scrollbarMode="showOnDemand" />
+ <widget source="info" render="Label" position="20,350" size="520,90" font="Regular;16" />
</screen>"""
def __init__(self, session, project = None):
self["key_yellow"] = StaticText(_("Load"))
self["key_blue"] = StaticText(_("Save"))
- infotext = _("Available format variables") + ":\n$i=" + _("Track") + ", $t=" + _("Title") + ", $d=" + _("Description") + ", $l=" + _("length") + ", $c=" + _("chapters") + "\n" + _("Record") + " $Y=" + _("year") + ", $M=" + _("month") + ", $D=" + _("day") + ", $h=" + _("hour") + ", $m=" + _("minute") + ", $f=" + _("filename")
+ infotext = _("Available format variables") + ":\n%i=" + _("Track") + ", %t=" + _("Title") + ", %d=" + _("Description") + ", %l=" + _("length") + ", %c=" + _("chapters") + ",\n" + _("Record") + " %T=" + _("Begin time") + ", %Y=" + _("year") + ", %M=" + _("month") + ", %D=" + _("day") + ",\n%C=" + _("Channel") + ", %f=" + _("filename")
self["info"] = StaticText(infotext)
self.settings = project.settings
self.list = []
- self.list.append(getConfigListEntry("Collection name", self.settings.name))
- self.list.append(getConfigListEntry("Authoring mode", self.settings.authormode))
- self.list.append(getConfigListEntry("Menu background image", self.settings.menubg))
- self.list.append(getConfigListEntry("Menu title format", self.settings.titleformat))
- self.list.append(getConfigListEntry("Menu subtitle format", self.settings.subtitleformat))
- self.list.append(getConfigListEntry("Menu headline color", self.settings.color_headline))
- self.list.append(getConfigListEntry("Menu plain text color", self.settings.color_button))
- self.list.append(getConfigListEntry("Menu highlighted button color", self.settings.color_highlight))
- self.list.append(getConfigListEntry("Menu font face", self.settings.font_face))
- self.list.append(getConfigListEntry("Font size (headline, titles, subtitles)", self.settings.font_size))
- self.list.append(getConfigListEntry("Menu spaces (top, between rows, left)", self.settings.space))
- self.list.append(getConfigListEntry("Menu audio", self.settings.menuaudio))
- self.list.append(getConfigListEntry("VMGM (intro trailer)", self.settings.vmgm))
+ self.list.append(getConfigListEntry(_("Collection name"), self.settings.name))
+ self.list.append(getConfigListEntry(_("Authoring mode"), self.settings.authormode))
+ self.list.append(getConfigListEntry(_("Menu")+' '+_("background image"), self.settings.menubg))
+ self.list.append(getConfigListEntry(_("Menu")+' '+_("Title"), self.settings.titleformat))
+ self.list.append(getConfigListEntry(_("Menu")+' '+_("Subtitles"), self.settings.subtitleformat))
+ self.list.append(getConfigListEntry(_("Menu")+' '+_("headline")+' '+_("color"), self.settings.color_headline))
+ self.list.append(getConfigListEntry(_("Menu")+' '+_("text")+' '+_("color"), self.settings.color_button))
+ self.list.append(getConfigListEntry(_("Menu")+' '+_("highlighted button")+' '+_("color"), self.settings.color_highlight))
+ self.list.append(getConfigListEntry(_("Menu")+' '+_("font face"), self.settings.font_face))
+ self.list.append(getConfigListEntry(_("Font size")+' ('+_("headline")+', '+_("Title")+', '+_("Subtitles")+')', self.settings.font_size))
+ self.list.append(getConfigListEntry(_("Menu")+' '+_("spaces (top, between rows, left)"), self.settings.space))
+ self.list.append(getConfigListEntry(_("Menu")+' '+_("Audio"), self.settings.menuaudio))
+ self.list.append(getConfigListEntry(_("VMGM (intro trailer)"), self.settings.vmgm))
ConfigListScreen.__init__(self, self.list)
self.keydict = {}
"addTitle": (self.addTitle, _("Add a new title"), _("Add title")),
"editTitle": (self.editTitle, _("Edit chapters of current title"), _("Edit title")),
"removeCurrentTitle": (self.removeCurrentTitle, _("Remove currently selected title"), _("Remove title")),
- "settings": (self.settings, _("Project settings"), _("Settings")),
+ "settings": (self.settings, _("Collection settings"), _("Settings")),
"burnProject": (self.burnProject, _("Burn DVD"), _("Burn DVD")),
})
"cancel": self.leave
})
- self["key_red"] = StaticText(_("Add title"))
- self["key_green"] = StaticText(_("Edit title"))
- self["key_yellow"] = StaticText(_("Remove title"))
+ self["key_red"] = StaticText(_("Remove title"))
+ self["key_green"] = StaticText(_("Add title"))
+ self["key_yellow"] = StaticText(_("Edit title"))
self["key_blue"] = StaticText(_("Settings"))
self["title_label"] = StaticText()
def showMenu(self):
menu = []
+ menu.append((_("Burn DVD"), "burn"));
+ menu.append((_("Preview menu"), "previewMenu"));
menu.append((_("Collection settings"), "settings"));
menu.append((_("Add a new title"), "addtitle"));
menu.append((_("Remove title"), "removetitle"));
menu.append((_("Edit chapters of current title"), "edittitle"));
- menu.append((_("Preview menu"), "previewMenu"));
- menu.append((_("Burn DVD"), "burn"));
menu.append((_("Exit"), "exit"));
self.session.openWithCallback(self.menuCallback, ChoiceBox, title="", list=menu)
<keymap>
<map context="DVDTitleList">
- <key id="KEY_RED" mapto="addTitle" flags="m" />
- <key id="KEY_GREEN" mapto="editTitle" flags="m" />
+ <key id="KEY_RED" mapto="removeCurrentTitle" flags="m" />
+ <key id="KEY_GREEN" mapto="addTitle" flags="m" />
+ <key id="KEY_YELLOW" mapto="editTitle" flags="m" />
<key id="KEY_BLUE" mapto="settings" flags="m" />
- <key id="KEY_YELLOW" mapto="removeCurrentTitle" flags="m" />
<key id="KEY_RECORD" mapto="burnProject" flags="m" />
<key id="KEY_0" mapto="burnProject" flags="m" />
<key id="KEY_VIDEO" mapto="addTitle" flags="m" />
name="Dreambox DVD record"
authormode="linked_nomenu"
titleformat="$i. $t"
- subtitleformat="$Y-$M-$D, $h:$m, $d ($c chapters)"
+ subtitleformat="$D.$M.$Y, $T $C, $d ($c chapters)"
vmgm="/usr/share/enigma2/dreamvmgm.mpg"
menubg="/usr/share/enigma2/dreamdvd_boat.jpg"
menuaudio="/usr/share/enigma2/silence.mp2"
"up": self.up,
"down": self.down,
"ok": (self.ok, _("select")),
- "back": (self.cancel, _("cancel")),
+ "back": (self.cancel, _("Cancel")),
}, -2)
self["ColorActions"] = LocationBoxActionMap(self, "ColorActions",
self.nextFunction=nextFunc
if self.lang == 'de_DE':
- self.mapping.append (u".,?'\"0-()@/:_") # 0
+ self.mapping.append (u".,?'\"0-()@/:_$") # 0
self.mapping.append (u" 1") # 1
- self.mapping.append (u"aäbc2AÄBC") # 2
+ self.mapping.append (u"a�bc2A�BC") # 2
self.mapping.append (u"def3DEF") # 3
self.mapping.append (u"ghi4GHI") # 4
self.mapping.append (u"jkl5JKL") # 5
- self.mapping.append (u"mnoö6MNOÖ") # 6
- self.mapping.append (u"pqrsß7PQRSß") # 7
- self.mapping.append (u"tuüv8TUÜV") # 8
+ self.mapping.append (u"mno�6MNO�") # 6
+ self.mapping.append (u"pqrs�7PQRS�") # 7
+ self.mapping.append (u"tu�v8TU�V") # 8
self.mapping.append (u"wxyz9WXYZ") # 9
elif self.lang == 'es_ES':
- self.mapping.append (u".,?'\"0-()@/:_") # 0
+ self.mapping.append (u".,?'\"0-()@/:_$") # 0
self.mapping.append (u" 1") # 1
- self.mapping.append (u"abcáà2ABCÁÀ") # 2
- self.mapping.append (u"deéèf3DEFÉÈ") # 3
- self.mapping.append (u"ghiíì4GHIÍÌ") # 4
+ self.mapping.append (u"abc��2ABC��") # 2
+ self.mapping.append (u"de��f3DEF��") # 3
+ self.mapping.append (u"ghi��4GHI��") # 4
self.mapping.append (u"jkl5JKL") # 5
- self.mapping.append (u"mnñoóò6MNÑOÓÒ") # 6
+ self.mapping.append (u"mn�o��6MN�O��") # 6
self.mapping.append (u"pqrs7PQRS") # 7
- self.mapping.append (u"tuvúù8TUVÚÙ") # 8
+ self.mapping.append (u"tuv��8TUV��") # 8
self.mapping.append (u"wxyz9WXYZ") # 9
if self.lang in ['sv_SE', 'fi_FI']:
- self.mapping.append (u".,?'\"0-()@/:_") # 0
+ self.mapping.append (u".,?'\"0-()@/:_$") # 0
self.mapping.append (u" 1") # 1
- self.mapping.append (u"abcåä2ABCÅÄ") # 2
- self.mapping.append (u"defé3DEFÉ") # 3
+ self.mapping.append (u"abc��2ABC��") # 2
+ self.mapping.append (u"def�3DEF�") # 3
self.mapping.append (u"ghi4GHI") # 4
self.mapping.append (u"jkl5JKL") # 5
- self.mapping.append (u"mnoö6MNOÖ") # 6
+ self.mapping.append (u"mno�6MNO�") # 6
self.mapping.append (u"pqrs7PQRS") # 7
self.mapping.append (u"tuv8TUV") # 8
self.mapping.append (u"wxyz9WXYZ") # 9
else:
- self.mapping.append (u".,?'\"0-()@/:_") # 0
+ self.mapping.append (u".,?'\"0-()@/:_$") # 0
self.mapping.append (u" 1") # 1
self.mapping.append (u"abc2ABC") # 2
self.mapping.append (u"def3DEF") # 3