aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Plugins/Extensions
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python/Plugins/Extensions')
-rwxr-xr-xlib/python/Plugins/Extensions/DVDPlayer/plugin.py19
-rw-r--r--lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp6
2 files changed, 23 insertions, 2 deletions
diff --git a/lib/python/Plugins/Extensions/DVDPlayer/plugin.py b/lib/python/Plugins/Extensions/DVDPlayer/plugin.py
index 64b4ae50..e1ab3ef4 100755
--- a/lib/python/Plugins/Extensions/DVDPlayer/plugin.py
+++ b/lib/python/Plugins/Extensions/DVDPlayer/plugin.py
@@ -39,8 +39,11 @@ 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
- self.filelist = FileList(currDir, matchingPattern = "(?i)^.*\.(iso)", useServiceRef = True)
+ inhibitDirs = ["/bin", "/boot", "/dev", "/etc", "/home", "/lib", "/proc", "/sbin", "/share", "/sys", "/tmp", "/usr", "/var"]
+ self.filelist = FileList(currDir, matchingPattern = "(?i)^.*\.(iso|img)", useServiceRef = True)
self["filelist"] = self.filelist
self["FilelistActions"] = ActionMap(["SetupActions"],
@@ -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
@@ -625,6 +634,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
diff --git a/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp b/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp
index 2ba53927..5fbfb0aa 100644
--- a/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp
+++ b/lib/python/Plugins/Extensions/DVDPlayer/src/servicedvd.cpp
@@ -32,6 +32,7 @@ eServiceFactoryDVD::eServiceFactoryDVD()
{
std::list<std::string> extensions;
extensions.push_back("iso");
+ extensions.push_back("img");
sc->addServiceFactory(eServiceFactoryDVD::id, this, extensions);
}
}
@@ -480,7 +481,10 @@ RESULT eServiceDVD::getName(std::string &name)
if ( m_ddvd_titlestring[0] != '\0' )
name = m_ddvd_titlestring;
else
- name = m_ref.path;
+ if ( !m_ref.name.empty() )
+ name = m_ref.name;
+ else
+ name = m_ref.path;
return 0;
}