Tools/Directories.py: Get rid of "fallback" in resolveFilename
[openblackhole/openblackhole-enigma2.git] / tools / create_picon_e1_to_e2.py
1 #
2 # create links for picon
3 #   usage: create_picon_providers lamedb
4 # run in picon directory.
5 # It will read the servicenames from the lamedb and create symlinks
6 # for the servicereference names.
7
8 import os, sys
9
10 f = open(sys.argv[1]).readlines()
11
12 f = f[f.index("services\n")+1:-3]
13
14 while len(f) > 2:
15         ref = [int(x, 0x10) for x in f[0][:-1].split(':')]
16         name = f[1][:-1]
17         name = name.replace('\xc2\x87', '').replace('\xc2\x86', '')
18
19         fields = f[2].split(',')
20         if len(fields) and fields[0][0] is 'p':
21                 provider = fields[0].split(':')[1]
22         else:
23                 provider = 'unknown'
24
25         if ref[4] == 1:
26                 servicetype = 'tv'
27         elif ref[4] == 2:
28                 servicetype = 'radio'
29         else:
30                 servicetype = 'unknown'
31
32         sat = str(ref[1]/16/16/16/16)
33
34 #       SID:NS:TSID:ONID:STYPE:UNUSED(channelnumber in enigma1)
35 #       X   X  X    X    D     D
36
37 #       REFTYPE:FLAGS:STYPE:SID:TSID:ONID:NS:PARENT_SID:PARENT_TSID:UNUSED
38 #   D       D     X     X   X    X    X  X          X           X
39
40         refstr = "1:0:%X:%X:%X:%X:%X:0:0:0" % (ref[4], ref[0], ref[2], ref[3], ref[1])
41         refstr = refstr.replace(':', '_')
42
43         filename = name + ".png"
44         linkname = refstr + ".png"
45
46         filename = filename.replace('/', '_').replace('\\', '_').replace('&', '_').replace('\'', '').replace('"', '').replace('`', '').replace('*', '_').replace('?', '_').replace(' ', '_').replace('(', '_').replace(')', '_')
47         provider = provider.replace('/', '_').replace('\\', '_').replace('&', '_').replace('\'', '').replace('"', '').replace('`', '').replace('*', '_').replace('?', '_').replace(' ', '_').replace('(', '_').replace(')', '_')
48         filename = filename.replace('\n', '')
49         provider = provider.replace('\n', '')
50
51         for i in range(len(filename)):
52                 if ord(filename[i]) > 127:
53                         filename = filename[0:i] + '_' + filename[i + 1:]
54
55         for i in range(len(provider)):
56                 if ord(provider[i]) > 127:
57                         provider = provider[0:i] + '_' + provider[i + 1:]
58
59         filename = sat + "_" + provider + "_" + servicetype + "_" + filename
60
61         sat = sat[0:2] + '.' + sat[-1:] + 'e'
62         #TODO: west
63
64         try:
65                 os.makedirs(sat + '/' + servicetype)
66         except:
67                 pass
68
69         print sat[0:2] + '.' + sat[-1:] + 'E' + '_' + "%X" % ref[0] + '.png'
70         try:
71                 os.rename(sat[0:-1] + 'E' + '_' + "%X" % ref[0] + '.png', sat + '/' + servicetype + '/' + filename)
72         except:
73                 pass
74
75         try:
76                 os.symlink(filename, sat + '/' + servicetype + '/' + linkname)
77         except:
78                 pass
79
80         f =f[3:]