def test_clear(self): Pconf.defaults(TEST_OVERRIDES) self.assertEqual(Pconf.get(), TEST_OVERRIDES) Pconf.clear() self.assertEqual(Pconf.get(), {})
def test_overrides_get(self): Pconf.defaults(TEST_OVERRIDES) self.assertEqual(Pconf.get(), TEST_OVERRIDES)
def test_defaults_get(self): Pconf.defaults(TEST_DEFAULTS) self.assertEqual(Pconf.get(), TEST_DEFAULTS)
def test_defaults(self): Pconf.defaults(TEST_DEFAULTS) pconf.store.memory.Memory.assert_called_once_with(TEST_DEFAULTS) self.assertEqual(len(Pconf._Pconf__hierarchy), 1)
from datetime import date from dateutil.parser import isoparse from dateutil.relativedelta import relativedelta from jira import JIRA from pconf import Pconf import re Pconf.env(match="^JIRA_.*", docker_secrets=["JIRA_PASSWORD_FILE"], to_lower=True, convert_underscores=True) Pconf.defaults({ "jira-template-type": "Template Task", "jira-target-type": "Task", "jira-project-key": "DAILY", "jira-created-state": "Backlog", "jira-done-state": "Done", "jira-field-name": "Repeat" }) config = Pconf.get() jira = JIRA(config["jira-url"], basic_auth=(config["jira-user"], config["jira-password"])) def has_open_clone(template, status): jql = 'project = {} AND type = "{}" AND issueLinkType = clones AND issuekey in linkedIssues("{}") AND status = "{}"' clones = jira.search_issues( jql.format(config["jira-project-key"], config["jira-target-type"], template.key, status)) return len(clones) > 0
"""Application Config""" import os from pconf import Pconf DIR_PATH = os.path.dirname(os.path.realpath(__file__)) Pconf.defaults({ 'bot-move-topic-name': 'bot-move', "bot-speak-topic-name": 'bot-speak', "bot-cam-topic-name": 'cam-command' }) localpath = os.path.join(DIR_PATH, 'dev.json').format() Pconf.file(localpath, encoding='json') Pconf.env() CONFIG = Pconf.get() MQTT_HOST = CONFIG.get("mqtt-host", '') MQTT_USER = CONFIG.get("mqtt-user", '') MQTT_PWD = CONFIG.get("mqtt-pwd", '') MQTT_PORT = int(CONFIG.get("mqtt-port", -1)) MQTT_MOTOR_MOVE_TOPIC_NAME = CONFIG.get("bot-move-topic-name", '') MQTT_SPEAK_TOPIC_NAME = CONFIG.get("bot-speak-topic-name", '') MQTT_CAM_TOPIC_NAME = CONFIG.get("bot-cam-topic-name", '') WEB_PORT = int(CONFIG.get("PORT", 5000))