SleepTimerEdit.py: add missing Sleeptimer ask save
[enigma2.git] / tools / host_tools / FormatConverter / lamedb.py
1 from datasource import datasource
2
3 class lamedb(datasource):
4         def __init__(self, filename = "lamedb"):
5                 datasource.__init__(self)
6                 self.setFilename(filename)
7                 
8         def setFilename(self, filename):
9                 self.filename = filename
10                 
11         def getName(self):
12                 return "lamedb"
13         
14         def getCapabilities(self):
15                 return [("read file", self.read), ("print all", self.printAll)]
16         
17         def read(self):
18                 inputfile = open(self.filename, "r")
19                 lines = inputfile.readlines()
20                 inputfile.close()
21                 
22                 versionstring = lines[0].split('/')
23                 version = int(versionstring[1])
24                 if 3 > version or 4 < version:
25                         print "unsupported lamedb version"
26                         return
27
28                 transpondersreading = False
29                 sats = {}
30                 transponders = {}
31                 for line in lines:
32                         if line.strip() == "transponders":
33                                 transpondersreading = True
34                                 continue
35                         if line.strip() == "services":
36                                 transpondersreading = False
37                                 continue
38                         if transpondersreading:
39                                 if ord(line[0]) == 9:
40                                         transponder = line.strip().split(' ')[1].split(':')
41                                         sat = transponder[4]
42                                         if not sats.has_key(sat):
43                                                 sats[sat] = []
44                                         sats[sat].append((transponder, tsid, onid))
45                                         tsid = None
46                                         onid = None
47                                 elif line.strip() != "/" and line.strip() != "end":
48                                         data = line.strip().split(":")
49                                         tsid = str(int(data[1], 16))
50                                         onid = str(int(data[2], 16))
51                 satlist = sats.keys()
52                 satlist.sort()
53                 
54                 for sat in satlist:
55                         print sat
56                         self.addSat(sat, sat)
57                         transponders = sats[sat]
58                         transponders.sort(key = lambda a: a[0])
59                         for transpondertuple in transponders:
60                                 transponder = transpondertuple[0]
61                                 tsid = transpondertuple[1]
62                                 onid = transpondertuple[2]
63                                 print transponder, tsid, onid
64                                 tmp_transponder = {}
65                                 tmp_transponder["frequency"] = transponder[0]
66                                 tmp_transponder["symbol_rate"] = transponder[1]
67                                 tmp_transponder["polarization"] = transponder[2]
68                                 tmp_transponder["fec"] = transponder[3]
69                                 if version == 3:
70                                         if len(transponder) > 6:
71                                                 tmp_transponder["system"] = transponder[6]
72                                                 tmp_transponder["modulation"] = transponder[7]
73                                 elif version == 4:
74                                         if len(transponder) > 7:
75                                                 tmp_transponder["system"] = transponder[7]
76                                                 tmp_transponder["modulation"] = transponder[8]
77                                 if (tsid != "1" or onid != "1"): 
78                                         tmp_transponder["tsid"] = transponder[0]
79                                         tmp_transponder["onid"] = transponder[0]
80                                 self.addTransponder(sat, tmp_transponder)
81