aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Tools/Directories.py
blob: a192298e7369f7b0847daf9283f89077d342099c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
import os

SCOPE_TRANSPONDERDATA = 0
SCOPE_SYSETC = 1
SCOPE_FONTS = 2
SCOPE_SKIN = 3
SCOPE_SKIN_IMAGE = 4
SCOPE_USERETC = 5
SCOPE_CONFIG = 6
SCOPE_LANGUAGE = 7

PATH_CREATE = 0
PATH_DONTCREATE = 1

defaultPaths = {
		SCOPE_TRANSPONDERDATA: ("/etc/", PATH_DONTCREATE),
		SCOPE_SYSETC: ("/etc/", PATH_DONTCREATE),
		SCOPE_FONTS: ("/usr/share/fonts/", PATH_DONTCREATE),
		SCOPE_CONFIG: ("/etc/enigma2/", PATH_CREATE),
					    
		SCOPE_LANGUAGE: ("/usr/share/enigma2/po/", PATH_CREATE),

		SCOPE_SKIN: ("/usr/share/enigma2/", PATH_DONTCREATE),
		SCOPE_SKIN_IMAGE: ("/usr/share/enigma2/", PATH_DONTCREATE),
		
		SCOPE_USERETC: ("", PATH_DONTCREATE) # user home directory
	}

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])):
			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 getRecordingFilename(basename):
	
		# filter out non-allowed characters
	non_allowed_characters = "/.\\"
	
	filename = ""
	for c in basename:
		if c in non_allowed_characters:
			c = "_"
		filename += c
	
	i = 0
	while True:
		path = "/hdd/movies/" + filename
		if i > 0:
			path += "_%03d" % i
		try:
			open(path + ".ts")
			i += 1
		except IOError:
			return path