def test_update_config_and_ini(self, section, option, value, expect_return): updated_config_ini_path = './tests/config/updated_config.ini' if os.path.exists(updated_config_ini_path): os.remove(updated_config_ini_path) config = Config(updated_config_ini_path) print(config.path) assert config.update_config_and_ini(section, option, value) is expect_return
class ConfigTestCase(unittest.TestCase): def setUp(self): self.root_path = os.path.realpath(os.path.dirname(__file__)) self.config = Config(self.root_path) def test_from_pyfile(self): self.config.from_pyfile('config_for_test.py') self.assertEqual(self.config['KEY'], 'VALUE') self.assertFalse(self.config.from_pyfile('no_file.py', True)) self.assertRaises(IOError, self.config.from_pyfile, 'no_file.py') def test_from_object(self): self.config.from_object(__name__) self.assertEqual(self.config['TEST_KEY'], 'key-for-test') self.assertEqual(self.config['SECRET_KEY'], 'secret_key___')
def test_wrong_schema(self): wrong_schema = { "type": True } try: Config(config_schema=wrong_schema) except SystemExit: assert True else: assert False
def test_customize_config(self): customize_dict = {'multi': {'process_number': cpu_count(), 'thread_number': cpu_count() if cpu_count() > 5 else 5, 'delay': 2.0}, 'customize': {'use': 1, 'char': 'a'} } customize_ini_path = './tests/config/customize_config.ini' default_config = Config(DEFAULT_INI_PATH) Config(path=customize_ini_path, config_dict=customize_dict) customize_config = Config(path=customize_ini_path, config_dict=customize_dict) customize_config.list_config() assert customize_config.ini['multi'] != default_config.ini['multi'] assert customize_config.ini['proxy'] == default_config.ini['proxy'] assert customize_config.ini['customize']['use'] == '1'
def setUp(self): self.root_path = os.path.realpath(os.path.dirname(__file__)) self.config = Config(self.root_path)
from crawler.config import Config config_dict = {'sample': {'value': 1}} config_schema = { "type": "object", "properties": { "sample": { "type": "object", "properties": { "value": { "type": "integer", "minimum": 0, "exclusiveMaximum": 10 } } } } } if __name__ == "__main__": config = Config("config_sample.ini", config_dict, config_schema, use_default_config=False) config.list_config() # value : 1 print(config.get_config("sample", "value")) # 1
def main(): cfg = Config() crawler = Crawler(cfg.TG_SESSION, cfg.API_ID, cfg.API_HASH, cfg.PROXY) loop = asyncio.get_event_loop() loop.run_until_complete(crawler.start_poll())
def setup_method(): if os.path.exists(CONFIG_DIR_PATH): rmtree(CONFIG_DIR_PATH) os.mkdir(CONFIG_DIR_PATH) Config.make_default_ini(DEFAULT_INI_PATH)
import asyncio import logging import sys from crawler.api import create_app from crawler.config import Config from structlog import get_logger config = Config() logging.basicConfig(format="%(message)s", stream=sys.stdout, level=config.LOG_LEVEL.upper()) logger = get_logger() logger.debug("config:", config=config) loop = asyncio.get_event_loop() app = create_app(config, loop)
def __init__(self, *config: Config): self.config = copy.deepcopy( config[0]) if len(config) == 1 else Config() self.chinese_support = False