Пример #1
0
    def GET(self, *args, **kwargs):

        #Infinite geo-location checks by default
        result = {
            'SDCERR': weblcm_def.WEBLCM_ERRORS.get('SDCERR_SUCCESS'),
            'InfoMsg': 'AWM configuration only supported in LITE mode',
            'geolocation_scanning_enable': 1,
        }

        # check if there is a configuration file which contains a "scan_attempts:0" entry
        # if configuration file does not exist, scan_attempts is not disabled
        f = cherrypy.request.app.config['weblcm'].get('awm_cfg', None)
        if not f:
            return result
        if not os.path.isfile(f):
            return result

        config = Config()
        with AWMCfgManage._lock:
            config.readFile(f)
            if config.exists("scan_attempts"):
                result['geolocation_scanning_enable'] = config.value(
                    "scan_attempts")[0]
                result['ErrorMesg'] = ''

        return result
Пример #2
0
    def test_greeting(self):
        config = Config()

        config.addString("", "test")
        config.setValue("test", "value")
        config.addBoolean("", "test_bool")
        config.setValue("test_bool", True)
        config.addInteger("", "test_int")
        config.setValue("test_int", 9)
        config.addInteger("", "test_unsigned_int")
        config.setValue("test_unsigned_int", -9)
        config.addFloat("", "test_float")
        config.setValue("test_float", 82.1002)

        self.assert_(config.value("test")[0] == "value")
        self.assert_(config.value("test")[1] == True)
        self.assert_(config.value("test_bool")[0] == True)
        self.assert_(config.value("loose")[1] == False)
        self.assert_(config.value("test_int")[0] == 9)
        self.assert_(config.value("test_unsigned_int")[0] == -9)
        self.assert_(fabs(config.value("test_float")[0] - 82.1002) < 0.00001)

        config.setValue("test_bool", False)

        config.writeFile("test.conf")

        self.assert_(os.path.exists("./test.conf") == True)

        config.readFile("test.conf")

        self.assert_(config.value("test")[0] == "value")
        self.assert_(config.value("test")[1] == True)

        os.remove("./test.conf")
Пример #3
0
    def PUT(self):

        # Enable/disable geolocation scanning
        # 0: disable geolocation scanning
        # others: enable geolocation scanning
        result = {
            'SDCERR': weblcm_def.WEBLCM_ERRORS.get('SDCERR_FAIL'),
            'InfoMsg':
            "AWM's geolocation scanning configuration only supported in LITE mode",
            'geolocation_scanning_enable': 1,
        }

        # determine if in LITE mode
        litemode = False
        try:
            file = open("/etc/default/adaptive_ww", "r")
            for line in file:
                if re.search('LITE', line):
                    litemode = True
                    break
        except Exception as e:
            pass

        if not litemode:
            return result

        #prep for next error condition
        result['InfoMsg'] = 'No writable configuration file found'
        # check if there is a configuration file which contains a "scan_attempts:0" entry
        # if writable configuration file does not exist, scan_attempts can not be modified

        fp = cherrypy.request.app.config['weblcm'].get('awm_cfg', None)
        if not fp:
            return result

        d = Path(os.path.dirname(fp))
        d.mkdir(exist_ok=True)

        geolocation_scanning_enable = cherrypy.request.json.get(
            'geolocation_scanning_enable', 0)

        config = Config()
        with AWMCfgManage._lock:
            if os.path.isfile(fp):
                config.readFile(fp)
            if geolocation_scanning_enable:
                if config.exists("scan_attempts"):
                    config.remove("", "scan_attempts")
                    config.writeFile(fp)
            else:
                if not config.exists("scan_attempts"):
                    config.addInteger("", "scan_attempts")
                config.setValue("scan_attempts", geolocation_scanning_enable)
                config.writeFile(fp)

        result['geolocation_scanning_enable'] = geolocation_scanning_enable
        result['SDCERR'] = weblcm_def.WEBLCM_ERRORS.get('SDCERR_SUCCESS')
        result['InfoMsg'] = ''
        return result
Пример #4
0
#!/usr/bin/env python

import sys

if len(sys.argv) != 2:
    raise SystemExit("Provide a path to the config file you wish to read")

from pylibconfig import Config
config = Config()

try:
    config.readFile(sys.argv[1])
    print "Config loaded"
    sys.exit(0)
except Exception as e:
    print "Config failed to read :("
    print e
    sys.exit(1)