Exemple #1
0
def _load_xvm_xc(filename, autoreload):
    # debug('_load_xvm_xc: "{}", {}'.format(filename, autoreload))
    try:
        config = deepcopy(default_config.DEFAULT_CONFIG)
        if not os.path.isfile(filename):
            log('[WARNING] xvm.xc was not found, building new')
            with open(filename, 'w') as f:
                f.write(DEFAULT_XVM_XC)
        if os.path.isfile(filename):
            result = JSONxLoader.load(filename, _load_log)
            if result is not None:
                config = _merge_configs(config, result)
            config['__stateInfo'] = {}
        else:
            log('[WARNING] xvm.xc was not found, using the built-in config')
            config['__stateInfo'] = {'warning':''}
    except Exception as ex:
        config['autoReloadConfig'] = autoreload
        config['__stateInfo'] = {'error':str(ex), 'stacktrace':traceback.format_exc()}
        err(traceback.format_exc())
    #log('config={}'.format(config))

    _tuneup_config(config)

    config = unicode_to_ascii(config)

    return config
def _load_xvm_xc(filename, autoreload):
    # debug('_load_xvm_xc: "{}", {}'.format(filename, autoreload))
    try:
        config = deepcopy(default_config.DEFAULT_CONFIG)
        if not os.path.isfile(filename):
            log('[WARNING] xvm.xc was not found, building new')
            with open(filename, 'w') as f:
                f.write(DEFAULT_XVM_XC)
        if os.path.isfile(filename):
            result = JSONxLoader.load(filename, _load_log)
            if result is not None:
                config = _merge_configs(config, result)
            config['__stateInfo'] = {}
        else:
            log('[WARNING] xvm.xc was not found, using the built-in config')
            config['__stateInfo'] = {'warning': ''}
    except Exception as ex:
        config['autoReloadConfig'] = autoreload
        config['__stateInfo'] = {
            'error': str(ex),
            'stacktrace': traceback.format_exc()
        }
        err(traceback.format_exc())
    #log('config={}'.format(config))

    _tuneup_config(config)

    config = unicode_to_ascii(config)

    return config
Exemple #3
0
def _load_locale_file():
    try:
        data = JSONxLoader.load('{}/{}.xc'.format(XVM.LOCALE_DIR, get('language')), _load_log)
    except Exception:
        data = default_config.LANG_RU if get('region').lower() == 'ru' else default_config.LANG_EN
        err(traceback.format_exc())
    data = unicode_to_ascii(data)
    return data
Exemple #4
0
def _load_locale_file():
    try:
        data = JSONxLoader.load('{}/{}.xc'.format(XVM.LOCALE_DIR, get('language')), _load_log)
    except Exception:
        data = default_config.LANG_RU if get('region').lower() == 'ru' else default_config.LANG_EN
        err(traceback.format_exc())
    data = unicode_to_ascii(data)
    return data
Exemple #5
0
 def test_object(self):
     result = JSONxLoader.load('testdata/object.xc')
     self.assertEqual(result, {
         "string_key": "value",
         "number_key": 123,
         "array_key": [],
         "object_key": {}
     })
Exemple #6
0
 def test_ref(self):
     result = JSONxLoader.load('testdata/reference.xc')
     self.assertEqual(result, {
         "def": {
             "damageText": "100500dmg!",
             "damageMessage": "New message"
         },
         "damageTextPlayer": {
             "damageText": "100500dmg!",
             "damageMessage": "Original message"
         },
         "reference_chain": "Taaa daaaa!",
         "override_example": "100500dmg!"
     })
Exemple #7
0
 def test_list(self):
     result = JSONxLoader.load('testdata/array.xc')
     self.assertEqual(result, [0, [1, 2, 3], {}, ''])
Exemple #8
0
 def test_default(self):
     result = JSONxLoader.load('testdata/xvm_default.xc')
     self.assertEqual(result['definition']['description'], 'Default settings for XVM')
     self.assertEqual(result['minimap']['circles']['view'][0]['enabled'], True)
     self.assertEqual(result['minimap']['lines']['vehicle'][0]['enabled'], True)
Exemple #9
0
 def test_unicode(self):
     result = JSONxLoader.load('testdata/unicode.xc')
     self.assertEqual(result['cyrillic_string'], u'Кирилица')
     self.assertEqual(result['lander'], u'Länder')