from Screens.ScanSetup import ScanSetup
from Screens.ServiceScan import ServiceScan
from Screens.MessageBox import MessageBox
-from Tools.Directories import resolveFilename, SCOPE_CONFIG
+from Tools.Directories import resolveFilename, SCOPE_CONFIG, copyfile
#from Screens.Screen import Screen
+from os import unlink
from enigma import eTimer, eDVBDB
-import os
class DefaultServiceScan(ServiceScan):
skin = """
<widget name="scan_progress" position="10,105" size="400,15" pixmap="skin_default/progress_big.png" borderWidth="2" borderColor="#cccccc" />
<widget name="servicelist" position="10,135" size="400,265" selectionDisabled="1" />
</screen>"""
-
+
def __init__(self, session, scanList):
- os.system("rm " + resolveFilename(SCOPE_CONFIG) + "/lamedb")
+ try:
+ unlink(resolveFilename(SCOPE_CONFIG) + "/lamedb");
+ except OSError:
+ pass
db = eDVBDB.getInstance()
db.reloadServicelist()
ServiceScan.__init__(self, session, scanList)
def __init__(self, session, args = None):
ScanSetup.__init__(self, session)
# backup lamedb
- os.system("cp " + resolveFilename(SCOPE_CONFIG) + "/lamedb " + resolveFilename(SCOPE_CONFIG) + "/lamedb.backup")
+ confdir = resolveFilename(SCOPE_CONFIG)
+ copyfile(confdir + "/lamedb", confdir + "/lamedb.backup")
self.scan_type.value = "multisat"
self.createSetup()
self.scanIndex = 0
def scanFinished(self, value = None):
print "finished"
+ print "self.scanIndex:", self.scanIndex
db = eDVBDB.getInstance()
- satint = self.multiscanlist[self.scanIndex][0]
- print "scanned sat:", satint
- db.saveServicelist("/tmp/lamedb." + str(satint))
- file = open("/tmp/sat" + str(satint) + ".info", "w")
- xml = """<default>
+ print "self.multiscanlist:", self.multiscanlist
+ if len(self.multiscanlist) - 1 >= self.scanIndex and len(self.multiscanlist[self.scanIndex]) > 0:
+ satint = self.multiscanlist[self.scanIndex][0]
+ print "scanned sat:", satint
+ db.saveServicelist("/tmp/lamedb." + str(satint))
+ file = open("/tmp/sat" + str(satint) + ".info", "w")
+ xml = """<default>
<prerequisites>
<tag type="services" />
<bcastsystem type="DVB-S" />
</file>
</files>
</default>""" % (satint, "Dream", nimmanager.getSatDescription(satint), satint)
- file.write(xml)
- file.close()
+ file.write(xml)
+ file.close()
self.scanIndex += 1
if self.scanIndex + 1 >= len(self.multiscanlist):
print "no more sats to scan"
- os.system("cp " + resolveFilename(SCOPE_CONFIG) + "/lamedb.backup " + resolveFilename(SCOPE_CONFIG) + "/lamedb")
+ confdir = resolveFilename(SCOPE_CONFIG)
+ copyfile(confdir + "/lamedb.backup", confdir + "/lamedb")
db.reloadServicelist()
self.close()
else:
session.open(DefaultServicesScannerPlugin)
def Plugins(**kwargs):
- return PluginDescriptor(name="Default Services Scanner", description=_("Scans default lamedbs sorted by satellite with a connected dish positioner"), where = PluginDescriptor.WHERE_PLUGINMENU, fnc=DefaultServicesScannerMain)
+ return PluginDescriptor(name="Default Services Scanner", description=_("Scans default lamedbs sorted by satellite with a connected dish positioner"), where = PluginDescriptor.WHERE_PLUGINMENU, needsRestart = False, fnc=DefaultServicesScannerMain)