aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Components/Harddisk.py4
-rw-r--r--lib/python/Screens/InfoBarGenerics.py5
-rw-r--r--lib/python/Screens/MovieSelection.py6
-rw-r--r--lib/python/Tools/Directories.py18
4 files changed, 25 insertions, 8 deletions
diff --git a/lib/python/Components/Harddisk.py b/lib/python/Components/Harddisk.py
index ca77e56f..37e957e4 100644
--- a/lib/python/Components/Harddisk.py
+++ b/lib/python/Components/Harddisk.py
@@ -1,5 +1,7 @@
import os
+from Tools.Directories import *
+
def tryOpen(filename):
try:
procFile = open(filename)
@@ -124,7 +126,7 @@ class Harddisk:
return (res >> 8)
def createMovieFolder(self):
- res = os.system("mkdir /hdd/movies")
+ res = os.system("mkdir " + resolveFilename(SCOPE_HDD))
return (res >> 8)
errorList = [ _("Everything is fine"), _("Creating partition failed"), _("Mkfs failed"), _("Mount failed"), _("Create movie folder failed"), _("Unmount failed")]
diff --git a/lib/python/Screens/InfoBarGenerics.py b/lib/python/Screens/InfoBarGenerics.py
index fa773d80..a659b5be 100644
--- a/lib/python/Screens/InfoBarGenerics.py
+++ b/lib/python/Screens/InfoBarGenerics.py
@@ -25,6 +25,7 @@ from Screens.MinuteInput import MinuteInput
from Components.Harddisk import harddiskmanager
from Tools import Notifications
+from Tools.Directories import *
#from enigma import eTimer, eDVBVolumecontrol, quitMainloop
from enigma import *
@@ -719,9 +720,9 @@ class InfoBarInstantRecord:
def instantRecord(self):
try:
- stat = os.stat("/hdd/movies")
+ stat = os.stat(resolveFilename(SCOPE_HDD))
except:
- self.session.open(MessageBox, "No HDD found!", MessageBox.TYPE_ERROR)
+ self.session.open(MessageBox, _("No HDD found or HDD not initialized!"), MessageBox.TYPE_ERROR)
return
if self.isInstantRecordRunning():
diff --git a/lib/python/Screens/MovieSelection.py b/lib/python/Screens/MovieSelection.py
index 2ba2d059..6bb18721 100644
--- a/lib/python/Screens/MovieSelection.py
+++ b/lib/python/Screens/MovieSelection.py
@@ -8,6 +8,8 @@ from Components.DiskInfo import DiskInfo
from Screens.MessageBox import MessageBox
from Screens.FixedMenu import FixedMenu
+from Tools.Directories import *
+
from enigma import eServiceReference, eServiceCenter
class ChannelContextMenu(FixedMenu):
@@ -65,13 +67,13 @@ class MovieSelection(Screen):
self.movemode = False
self.bouquet_mark_edit = False
- self["list"] = MovieList(eServiceReference("2:0:1:0:0:0:0:0:0:0:/hdd/movies/"))
+ self["list"] = MovieList(eServiceReference("2:0:1:0:0:0:0:0:0:0:" + resolveFilename(SCOPE_HDD)))
if (selectedmovie is not None):
self.onShown.append(self.moveTo)
self.selectedmovie = selectedmovie
#self["okbutton"] = Button("ok", [self.channelSelected])
- self["freeDiskSpace"] = DiskInfo("/hdd/movies", DiskInfo.FREE)
+ self["freeDiskSpace"] = DiskInfo(resolveFilename(SCOPE_HDD), DiskInfo.FREE)
self["actions"] = ActionMap(["OkCancelActions", "ContextMenuActions"],
{
diff --git a/lib/python/Tools/Directories.py b/lib/python/Tools/Directories.py
index a192298e..64c44cb2 100644
--- a/lib/python/Tools/Directories.py
+++ b/lib/python/Tools/Directories.py
@@ -8,6 +8,7 @@ SCOPE_SKIN_IMAGE = 4
SCOPE_USERETC = 5
SCOPE_CONFIG = 6
SCOPE_LANGUAGE = 7
+SCOPE_HDD = 8
PATH_CREATE = 0
PATH_DONTCREATE = 1
@@ -22,23 +23,28 @@ defaultPaths = {
SCOPE_SKIN: ("/usr/share/enigma2/", PATH_DONTCREATE),
SCOPE_SKIN_IMAGE: ("/usr/share/enigma2/", PATH_DONTCREATE),
+ SCOPE_HDD: ("/hdd/movie/", PATH_DONTCREATE),
SCOPE_USERETC: ("", PATH_DONTCREATE) # user home directory
}
-def resolveFilename(scope, base):
+def resolveFilename(scope, base = ""):
# in future, we would check for file existence here,
# so we can provide default/fallbacks.
path = defaultPaths[scope]
if path[1] == PATH_CREATE:
- if (not os.path.exists(path[0])):
+ if (not pathExists(scope)):
os.mkdir(path[0])
# FIXME: we also have to handle DATADIR etc. here.
return path[0] + base
# this is only the BASE - an extension must be added later.
+
+def pathExists(scope):
+ return os.path.exists(defaultPaths[scope][0])
+
def getRecordingFilename(basename):
# filter out non-allowed characters
@@ -52,7 +58,7 @@ def getRecordingFilename(basename):
i = 0
while True:
- path = "/hdd/movies/" + filename
+ path = resolveFilename(SCOPE_HDD, filename)
if i > 0:
path += "_%03d" % i
try:
@@ -60,3 +66,9 @@ def getRecordingFilename(basename):
i += 1
except IOError:
return path
+
+# this fixes paths or files when changed in a new enigma2 version
+def fixOldDirectoryEntries():
+ if (os.path.exists("/hdd/movies")):
+ if (not os.path.exists(resolveFilename(SCOPE_HDD))):
+ os.system("mv /hdd/movies " + resolveFilename(SCOPE_HDD))