-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathChannelConverter.py
More file actions
65 lines (52 loc) · 2.27 KB
/
ChannelConverter.py
File metadata and controls
65 lines (52 loc) · 2.27 KB
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
# ===============================================================================
# Author: Mariusz Brzeski
# Date 01.02.2012
# ===============================================================================
import os
import lameDB
import lameDBBouquet
import DvbViewer
import Kingofsat
from optparse import OptionParser
if __name__ == '__main__':
parser = OptionParser()
parser.add_option("-r", "--root",
action="store",
type="string",
dest="RootName",
help="DVBViewer list root name")
parser.add_option("-l", "--lameDB",
action="store",
type="string",
dest="LameDBile",
help="Enigma 2 files list: path to lamedb file")
parser.add_option("-o", "--out",
action="store",
type="string",
dest="OutputFileList",
help="DVBViewer output ini file")
parser.add_option("-s",
action="store_true",
dest="Site",
help="Get additional data from kingofsat.net")
(options, args) = parser.parse_args()
cEnigma2Struct = lameDB.Enigma2Struct(options.LameDBile)
cBouquetPath = os.path.dirname(options.LameDBile)
cBouquetPath = os.path.join(cBouquetPath, "bouquets.tv")
cBouquets = lameDBBouquet.Bouquets()
cBouquetsList = cBouquets.Read(cBouquetPath)
dvbViewer = DvbViewer.DvbViewer(options.RootName)
kingOfSatData = None
if options.Site:
kingOfSatData = Kingofsat.Kingofsat(cEnigma2Struct.getOrbitals())
for bouquet in cBouquetsList:
for bouquetService in bouquet.Services:
service = cEnigma2Struct.FindService(bouquetService)
if service is None:
print("Can't find serviceID: {} from bouquet Name: {} ({})".format(bouquetService.ServiceID, bouquet.Name, bouquet.FilePath ))
continue
kosService = None
if kingOfSatData:
kosService = kingOfSatData.findService(service.Transponder.Data.OrbitalPosition, service.ServiceID)
dvbViewer.addservice(service, kosService, bouquet.Name)
dvbViewer.save(options.OutputFileList)