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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
from datasource import datasource
class lamedb(datasource):
def __init__(self, filename = "lamedb"):
datasource.__init__(self)
self.setFilename(filename)
def setFilename(self, filename):
self.filename = filename
def getName(self):
return "lamedb"
def getCapabilities(self):
return [("read file", self.read), ("print all", self.printAll)]
def read(self):
inputfile = open(self.filename, "r")
lines = inputfile.readlines()
inputfile.close()
versionstring = lines[0].split('/')
version = int(versionstring[1])
if 3 > version or 4 < version:
print "unsupported lamedb version"
return
transpondersreading = False
sats = {}
transponders = {}
for line in lines:
if line.strip() == "transponders":
transpondersreading = True
continue
if line.strip() == "services":
transpondersreading = False
continue
if transpondersreading:
if ord(line[0]) == 9:
transponder = line.strip().split(' ')[1].split(':')
sat = transponder[4]
if not sats.has_key(sat):
sats[sat] = []
sats[sat].append((transponder, tsid, onid))
tsid = None
onid = None
elif line.strip() != "/" and line.strip() != "end":
data = line.strip().split(":")
tsid = str(int(data[1], 16))
onid = str(int(data[2], 16))
satlist = sats.keys()
satlist.sort()
for sat in satlist:
print sat
self.addSat(sat, sat)
transponders = sats[sat]
transponders.sort(key = lambda a: a[0])
for transpondertuple in transponders:
transponder = transpondertuple[0]
tsid = transpondertuple[1]
onid = transpondertuple[2]
print transponder, tsid, onid
tmp_transponder = {}
tmp_transponder["frequency"] = transponder[0]
tmp_transponder["symbol_rate"] = transponder[1]
tmp_transponder["polarization"] = transponder[2]
tmp_transponder["fec"] = transponder[3]
if version == 3:
if len(transponder) > 6:
tmp_transponder["system"] = transponder[6]
tmp_transponder["modulation"] = transponder[7]
elif version == 4:
if len(transponder) > 7:
tmp_transponder["system"] = transponder[7]
tmp_transponder["modulation"] = transponder[8]
if (tsid != "1" or onid != "1"):
tmp_transponder["tsid"] = transponder[0]
tmp_transponder["onid"] = transponder[0]
self.addTransponder(sat, tmp_transponder)
|