def test_config_exists_in_custom_path(self): with open('config.ini', 'w') as f: custom_conf = ConfigParser() custom_conf.add_section('Section5') custom_conf.set('Section5', 'Option7', 'Value11') custom_conf.set('Section5', 'Option8', 'Value12') custom_conf.add_section('Section6') custom_conf.set('Section6', 'Option9', 'Value13') custom_conf.write(f) from libmozdata import config config.set_config(config.ConfigIni('config.ini')) self.assertEqual(config.get('Section5', 'Option7'), 'Value11') self.assertEqual(config.get('Section5', 'Option7', 'Default'), 'Value11') self.assertEqual(config.get('Section5', 'Option8'), 'Value12') self.assertEqual(config.get('Section5', 'Option8', 'Default'), 'Value12') self.assertEqual(config.get('Section6', 'Option9'), 'Value13') self.assertEqual(config.get('Section6', 'Option9', 'Default'), 'Value13') self.assertIsNone(config.get('Section5', 'Option9')) self.assertEqual(config.get('Section5', 'Option9', 'Default'), 'Default')
def set_server(): global patchanalysis server_ports_lock.acquire() next_server_port = server_ports.pop() server_ports.append(next_server_port + 1) server_ports_lock.release() stdout_server = open('server_' + str(next_server_port) + ".out", "a", buffering=0) subprocess.call('./serveHG.sh central ' + str(next_server_port) + ' &', shell=True, stdout=stdout_server, stderr=stdout_server) from libmozdata import config class MyConfig(config.ConfigIni): def __init__(self, path=None): super(MyConfig, self).__init__(path) def get(self, section, option, default=None, type=str): if section == 'Mercurial' and option == 'URL': print('http://127.0.0.1:' + str(next_server_port) + '/') return 'http://127.0.0.1:' + str(next_server_port) + '/' return super(MyConfig, self).get(section, option, default, type) config.set_config(MyConfig()) from libmozdata import patchanalysis # HACKY! Wait for the server to start. time.sleep(5)
from libmozdata import config import os class MyConfig(config.Config): PATH = 'auto_nag/scripts/configs/config.json' def __init__(self): super(MyConfig, self).__init__() if not os.path.exists(MyConfig.PATH): self.conf = {'bz_api_key': ''} else: with open(MyConfig.PATH) as In: self.conf = json.load(In) if not self.conf.get('bz_api_key', None): raise Exception( 'Your config.json file must contain a Bugzilla token' ) def get(self, section, option, default=None, type=str): if section == 'Bugzilla': if option == 'token': return self.conf['bz_api_key'] elif section == 'User-Agent': return 'relman-auto-nag' return default config.set_config(MyConfig())
def load(): config.set_config(MyConfig())
import json from libmozdata import config import os class MyConfig(config.Config): PATH = 'auto_nag/scripts/configs/config.json' def __init__(self): super(MyConfig, self).__init__() if not os.path.exists(MyConfig.PATH): self.conf = {'bz_api_key': ''} else: with open(MyConfig.PATH) as In: self.conf = json.load(In) if not self.conf.get('bz_api_key', None): raise Exception( 'Your config.json file must contain a Bugzilla token') def get(self, section, option, default=None, type=str): if section == 'Bugzilla': if option == 'token': return self.conf['bz_api_key'] elif section == 'User-Agent': return 'relman-auto-nag' return default config.set_config(MyConfig())
from libmozdata import config import os class ConfigEnv(config.Config): def get(self, section, option, default=None, type=str): res = os.environ.get("LIBMOZDATA_CFG_" + section.upper() + "_" + option.upper()) if not res: return default if type == list or type == set: return type([s.strip(" /t") for s in res.split(",")]) return type(res) config.set_config(ConfigEnv()) from bisect import bisect_left as bisect import copy import datetime import dateutil.parser import libmozdata.utils as lmdutils from libmozdata.bugzilla import Bugzilla from libmozdata.connection import Connection from math import ceil import pytz MIMES = { "text/x-phabricator-request", "text/x-github-pull-request",