Esempio n. 1
0
def runService():
    log(LOG_INFO, "started")
    ad = atmodriver.AtmoDriver()
    cd = CaptureThread(ad)
    runOk = False
    if dfAtmoInstDir:
        ad.driver_path = xbmc.translatePath(os.path.join(dfAtmoInstDir, 'drivers'))
    if cd.setConfig(xbmcaddon.Addon()):
        if cd.configure():
            cd.getConfig(xbmcaddon.Addon(), True)
            cd.run()
            cd.close()
    cd = None
    ad = None
    atmodriver.setLogLevel(LOG_NONE, None)
Esempio n. 2
0
def runService():
    log(LOG_INFO, "started")
    ad = atmodriver.AtmoDriver()
    cd = CaptureThread(ad)
    runOk = False
    if dfAtmoInstDir:
        ad.driver_path = xbmc.translatePath(
            os.path.join(dfAtmoInstDir, 'drivers'))
    if cd.setConfig(xbmcaddon.Addon()):
        if cd.configure():
            cd.getConfig(xbmcaddon.Addon(), True)
            cd.run()
            cd.close()
    cd = None
    ad = None
    atmodriver.setLogLevel(LOG_NONE, None)
Esempio n. 3
0
    def setConfig(self, config, diff=False):
        global logLevel

        if not os.path.isfile(addonConfigFile):
            self.configFileTime = 0
            displayNotificationAndLog(LOG_ERROR, "Addon not configured!")
            return False
        self.configFileTime = os.path.getmtime(addonConfigFile)

        for p in dfatmoParmList:
            type, name = p
            v = config.getSetting(name)

            if type == 'b':
                if v == 'true':
                    v = 1
                else:
                    v = 0
            elif type == 'i':
                if v == 'true':
                    v = 1
                elif v == 'false':
                    v = 0
                else:
                    v = int(v)
            else:
                v = v.strip()

            ov = None
            doSetParm = True

            if name == 'log_level':
                ov = logLevel
                logLevel = v
                atmodriver.setLogLevel(logLevel, log)
                doSetParm = False
            elif name == 'driver':
                if self.useCustomDriver:
                    ov = 'custom'
                if v == 'custom':
                    self.useCustomDriver = True
                    v = 'null'
                else:
                    self.useCustomDriver = False
            elif name == 'custom_driver':
                ov = self.customDriver
                self.customDriver = v
                doSetParm = False

            if ov == None:
                ov = self.atmoDriver.getParm(name)

            if doSetParm:
                try:
                    self.atmoDriver.setParm(name, v)
                except atmodriver.error as err:
                    displayNotification(LOG_ERROR, err)
                    return False

            if name == 'driver' and self.useCustomDriver:
                v = 'custom'

            if diff:
                if v != ov:
                    log(LOG_INFO,
                        "parameter '{0}': '{1}' -> '{2}'".format(name, ov, v))
            else:
                log(LOG_INFO, "parameter '{0}': '{1}'".format(name, v))

        return True
Esempio n. 4
0
class CustomDriverCallbacks:
    def __init__(self, atmoDriver):
        self.atmoDriver = atmoDriver

    def getParm(self, name):
        return self.atmoDriver.getParm(name)

    def setParm(self, name, value):
        self.atmoDriver.setParm(name, value)

    def driverError(self, msg):
        return atmodriver.error(str(msg))


atmodriver.setLogLevel(logLevel)
ad = atmodriver.AtmoDriver()
customDriver = None

# Uncomment the output driver you want to use
# Script custom drivers should be set with customDriver
# Native output drivers should be set with ad.driver
customDriver = "mydriver"
#ad.driver = "file"

ad.driver_param = "/tmp/atmo.out"
ad.driver_path = "."
ad.left = 1
ad.right = 1
ad.top = 1
ad.bottom = 1
Esempio n. 5
0
        log(level, msg)

class CustomDriverCallbacks:
    def __init__(self, atmoDriver):
        self.atmoDriver = atmoDriver

    def getParm(self, name):
        return self.atmoDriver.getParm(name)

    def setParm(self, name, value):
        self.atmoDriver.setParm(name, value)

    def driverError(self, msg):
        return atmodriver.error(str(msg))

atmodriver.setLogLevel(logLevel)
ad = atmodriver.AtmoDriver()
customDriver = "jsondriver"

ad.driver_param = "/dev/stdout"
ad.driver_path = "."
ad.left = 1
ad.right = 1
ad.top = 1
ad.bottom = 1
ad.filter = atmodriver.FILTER_NONE

od = ad
customDriverModule = __import__(customDriver)
od = customDriverModule.newOutputDriver(CustomDriverCallbacks(ad), Logger())
log(atmodriver.LOG_INFO, "Custom driver interface version is %d" % od.getInterfaceVersion())
Esempio n. 6
0
    def setConfig(self, config, diff=False):
        global logLevel

        if not os.path.isfile(addonConfigFile):
            self.configFileTime = 0
            displayNotificationAndLog(LOG_ERROR, "Addon not configured!")
            return False
        self.configFileTime = os.path.getmtime(addonConfigFile)

        for p in dfatmoParmList:
            type, name = p
            v = config.getSetting(name)
            
            if type == 'b':
                if v == 'true':
                    v = 1
                else:
                    v = 0
            elif type == 'i':
                v = int(v)
            else:
                v = v.strip()

            ov = None
            doSetParm = True
            
            if name == 'log_level':
                ov = logLevel
                logLevel = v
                atmodriver.setLogLevel(logLevel, log)
                doSetParm = False
            elif name == 'driver':
                if self.useCustomDriver:
                    ov = 'custom'
                if v == 'custom':
                    self.useCustomDriver = True
                    v = 'null'
                else:                                
                    self.useCustomDriver = False
            elif name == 'custom_driver':
                ov = self.customDriver
                self.customDriver = v
                doSetParm = False
                
            if ov == None:
                ov = self.atmoDriver.getParm(name)

            if doSetParm:
                try:
                    self.atmoDriver.setParm(name, v)
                except atmodriver.error as err:
                    displayNotification(LOG_ERROR, err)
                    return False

            if name == 'driver' and self.useCustomDriver:
                v = 'custom'
                
            if diff:
                if v != ov:
                    log(LOG_INFO, "parameter '{0}': '{1}' -> '{2}'".format(name, ov, v))
            else:
                log(LOG_INFO, "parameter '{0}': '{1}'".format(name, v))

        return True