from Components.Button import Button
from Components.SelectionList import SelectionList
from enigma import eServiceReference, eServiceCenter, iServiceInformation
-import os
+from os import path as os_path
def main(session, service, **kwargs):
session.open(MovieTagEditor, service, session.current_dialog, **kwargs)
setPreferredTagEditor(TagEditor)
except:
pass
- return PluginDescriptor(name="TagEditor", description=_("Edit tags..."), where = PluginDescriptor.WHERE_MOVIELIST, fnc=main)
-
+ return PluginDescriptor(name = "TagEditor", description = _("Edit tags..."), where = PluginDescriptor.WHERE_MOVIELIST, fnc = main)
class TagEditor(Screen):
skin = """
def addCustomCallback(self, ret):
ret = ret and ret.strip().replace(" ","_").capitalize()
- if ret and ret not in self.tags:
- self.tags.append(ret)
- self.updateMenuList(self.tags, [ret])
+ tags = self.tags
+ if ret and ret not in tags:
+ tags.append(ret)
+ self.updateMenuList(tags, [ret])
def loadTagsFile(self):
try:
taglist.append(tag)
def setTimerTags(self, timer, tags):
- if hasattr(timer, "tags") and timer.tags != tags:
+ if timer.tags != tags:
timer.tags = tags
self.timerdirty = True
file = file + ".meta"
else:
file = file + ".ts.meta"
- if os.path.exists(file):
+ if os_path.exists(file):
metafile = open(file, "r")
sid = metafile.readline()
title = metafile.readline()
def foreachTimerTags(self, func):
self.timerdirty = False
for timer in self.session.nav.RecordTimer.timer_list + self.session.nav.RecordTimer.processed_timers:
- if hasattr(timer, "tags") and timer.tags:
+ if timer.tags:
func(timer, timer.tags[:])
if self.timerdirty:
self.session.nav.RecordTimer.saveTimer()
def foreachMovieTags(self, func):
serviceHandler = eServiceCenter.getInstance()
for dir in config.movielist.videodirs.value:
- if os.path.isdir(dir):
+ if os_path.isdir(dir):
root = eServiceReference("2:0:1:0:0:0:0:0:0:0:" + dir)
list = serviceHandler.list(root)
if list is None:
if info is None:
continue
tags = info.getInfoString(serviceref, iServiceInformation.sTags).split(' ')
- if tags == ['']:
- tags = []
- if tags:
- func(serviceref, tags)
+ if not tags or tags == ['']:
+ continue
+ func(serviceref, tags)
def updateMenuList(self, tags, extrasel = []):
seltags = [x[1] for x in self["list"].getSelectionsList()] + extrasel
self["list"].setList([])
for tag in tags:
self["list"].addSelection(tag, tag, 0, tag in seltags)
-
+
def loadFromHdd(self):
tags = self.tags[:]
self.foreachTimerTags(lambda t, tg: self.joinTags(tags, tg))
self.updateMenuList(tags)
self.tags = tags
- def listReplace(self, lst, fr, to=None):
+ def listReplace(self, lst, fr, to = None):
if fr in lst:
lst.remove(fr)
if to != None and not to in lst:
self.updateMenuList(self.tags)
def showMenu(self):
- menu = []
- menu.append((_("Add new tag"), self.addCustom))
- menu.append((_("Rename this tag"), self.renameTag))
- menu.append((_("Delete this tag"), self.removeTag))
- menu.append((_("Delete unused tags"), self.removeUnused))
- menu.append((_("Delete all tags"), self.removeAll))
- self.session.openWithCallback(self.menuCallback, ChoiceBox, title="", list=menu)
+ menu = [
+ (_("Add new tag"), self.addCustom),
+ (_("Rename this tag"), self.renameTag),
+ (_("Delete this tag"), self.removeTag),
+ (_("Delete unused tags"), self.removeUnused),
+ (_("Delete all tags"), self.removeAll)
+ ]
+ self.session.openWithCallback(self.menuCallback, ChoiceBox, title = "", list = menu)
def menuCallback(self, choice):
- if choice is None:
- return
- choice[1]()
+ if choice:
+ choice[1]()
def cancel(self):
if not self.origtags == self.ghosttags:
TagEditor.__init__(self, session, tags, args)
def saveTags(self, file, tags):
- if os.path.exists(file + ".ts.meta"):
+ if os_path.exists(file + ".ts.meta"):
metafile = open(file + ".ts.meta", "r")
sid = metafile.readline()
title = metafile.readline()
# This will try to get back to an updated movie list.
# A proper way to do this should be provided in enigma2.
try:
- self.parentscreen.csel.reloadList()
- self.parentscreen.close()
+ parentscreen = self.parentscreen
+ parentscreen.csel.reloadList()
+ parentscreen.close()
except AttributeError:
pass
+