diff options
Diffstat (limited to 'lib/python/Plugins/Extensions/DVDPlayer/plugin.py')
| -rwxr-xr-x | lib/python/Plugins/Extensions/DVDPlayer/plugin.py | 36 |
1 files changed, 33 insertions, 3 deletions
diff --git a/lib/python/Plugins/Extensions/DVDPlayer/plugin.py b/lib/python/Plugins/Extensions/DVDPlayer/plugin.py index 3d262c92..ddfe1989 100755 --- a/lib/python/Plugins/Extensions/DVDPlayer/plugin.py +++ b/lib/python/Plugins/Extensions/DVDPlayer/plugin.py @@ -39,7 +39,10 @@ class FileBrowser(Screen): currDir = "/media/dvd/" if not pathExists(currDir): currDir = "/" + if lastpath == "": # 'None' is magic to start at the list of mountpoints + currDir = None + inhibitDirs = ["/bin", "/boot", "/dev", "/etc", "/home", "/lib", "/proc", "/sbin", "/share", "/sys", "/tmp", "/usr", "/var"] self.filelist = FileList(currDir, matchingPattern = "(?i)^.*\.(iso)", useServiceRef = True) self["filelist"] = self.filelist @@ -79,6 +82,12 @@ class FileBrowser(Screen): lastpath = (pathname.rstrip("/").rsplit("/",1))[0] print "lastpath video_ts.ifo=", lastpath self.close(pathname) + if fileExists(pathname+"VIDEO_TS/VIDEO_TS.IFO"): + print "dvd structure found, trying to open..." + lastpath = (pathname.rstrip("/").rsplit("/",1))[0] + print "lastpath video_ts.ifo=", lastpath + pathname += "VIDEO_TS" + self.close(pathname) else: lastpath = filename[0:filename.rfind("/")] print "lastpath directory=", lastpath @@ -88,8 +97,8 @@ class FileBrowser(Screen): self.close(None) class DVDSummary(Screen): - skin = """ - <screen position="0,0" size="132,64"> + skin = ( + """<screen name="DVDSummary" position="0,0" size="132,64" id="1"> <widget source="session.CurrentService" render="Label" position="5,4" size="120,28" font="Regular;12" transparent="1" > <convert type="ServiceName">Name</convert> </widget> @@ -101,7 +110,20 @@ class DVDSummary(Screen): <widget source="session.CurrentService" render="Progress" position="6,46" size="60,18" borderWidth="1" > <convert type="ServicePosition">Position</convert> </widget> - </screen>""" + </screen>""", + """<screen name="DVDSummary" position="0,0" size="96,64" id="2"> + <widget source="session.CurrentService" render="Label" position="0,0" size="96,25" font="Regular;12" transparent="1" > + <convert type="ServiceName">Name</convert> + </widget> + <widget name="DVDPlayer" position="0,26" size="96,12" font="Regular;10" transparent="1" /> + <widget name="Chapter" position="0,40" size="66,12" font="Regular;10" transparent="1" halign="left" /> + <widget source="session.CurrentService" render="Label" position="66,40" size="30,12" font="Regular;10" transparent="1" halign="right" > + <convert type="ServicePosition">Position</convert> + </widget> + <widget source="session.CurrentService" render="Progress" position="0,52" size="96,12" borderWidth="1" > + <convert type="ServicePosition">Position</convert> + </widget> + </screen>""") def __init__(self, session, parent): Screen.__init__(self, session, parent) @@ -606,6 +628,14 @@ class DVDPlayer(Screen, InfoBarBase, InfoBarNotifications, InfoBarSeek, InfoBarP newref = eServiceReference(4369, 0, val) print "play", newref.toString() if curref is None or curref != newref: + if newref.toString().endswith("/VIDEO_TS") or newref.toString().endswith("/"): + names = newref.toString().rsplit("/",3) + if names[2].startswith("Disk ") or names[2].startswith("DVD "): + name = str(names[1]) + " - " + str(names[2]) + else: + name = names[2] + print "setting name to: ", self.service + newref.setName(str(name)) self.session.nav.playService(newref) self.service = self.session.nav.getCurrentService() print "self.service", self.service |
