1 from datasource import datasource
3 class lamedb(datasource):
4 def __init__(self, filename = "lamedb"):
5 datasource.__init__(self)
6 self.setFilename(filename)
8 def setFilename(self, filename):
9 self.filename = filename
14 def getCapabilities(self):
15 return [("read file", self.read), ("print all", self.printAll)]
18 inputfile = open(self.filename, "r")
19 lines = inputfile.readlines()
22 versionstring = lines[0].split('/')
23 version = int(versionstring[1])
24 if 3 > version or 4 < version:
25 print "unsupported lamedb version"
28 transpondersreading = False
32 if line.strip() == "transponders":
33 transpondersreading = True
35 if line.strip() == "services":
36 transpondersreading = False
38 if transpondersreading:
40 transponder = line.strip().split(' ')[1].split(':')
42 if not sats.has_key(sat):
44 sats[sat].append((transponder, tsid, onid))
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))
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
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]
70 if len(transponder) > 6:
71 tmp_transponder["system"] = transponder[6]
72 tmp_transponder["modulation"] = transponder[7]
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)