Ejemplo n.º 1
0
def _list(env, key, more, loader):
    """Lists all defined config values"""
    if env:
        env = env.strip()
    if key:
        key = key.strip()
    if loader:
        loader = loader.strip()

    if env:
        settings.setenv(env)

    cur_env = settings.current_env.lower()

    click.echo(
        click.style(
            'Working in %s environment ' % cur_env,
            bold=True, bg='blue', fg='white'
        )
    )

    if not loader:
        data = settings.store
    else:
        identifier = '{}_{}'.format(loader, cur_env)
        data = settings._loaded_by_loaders.get(identifier, {})
        data = data or settings._loaded_by_loaders.get(loader, {})

    # remove to avoid displaying twice
    data.pop('SETTINGS_MODULE', None)

    def color(_k):
        if _k in dir(default_settings):
            return 'blue'
        return 'green'

    if not key:
        datalines = '\n'.join(
            '%s: %s' % (click.style(k, bg=color(k), fg='white'),
                        pprint.pformat(v))
            for k, v in data.items()
        )
        (click.echo_via_pager if more else click.echo)(datalines)
    else:
        key = key.upper()
        value = data.get(key)
        if not value:
            click.echo(click.style('Key not found', bg='red', fg='white'))
            return
        click.echo(
            '%s: %s' % (
                click.style(key.upper(), bg=color(key), fg='white'),
                pprint.pformat(value)
            )
        )

    if env:
        settings.setenv()
Ejemplo n.º 2
0
 def __init__(self, dynaconf_file=None):
     try:
         self.dynaconf_file = dynaconf_file
         if self.dynaconf_file is not None:
             settings.load_file(path=dynaconf_file)
             if "ENV_FOR_DYNACONF" in os.environ:
                 settings.setenv(os.environ["ENV_FOR_DYNACONF"])
             else:
                 settings.setenv("development")
     except Exception as error:
         logging.error(
             f"error in SecretsConnector __init__() "
             f"error = {error} at {datetime.now()}"
         )
         raise
Ejemplo n.º 3
0
    print("INIVAR", settings.INIVAR)
    print("JSONVAR", settings.JSONVAR)

print("store:", settings.store)
print("loaders:", settings.loaded_by_loaders)
print("deleted:", settings._deleted)
print("dotenv_override:", settings.DOTENV_OVERRIDE_FOR_DYNACONF)
print("redis:", settings.REDIS_FOR_DYNACONF)
print("PYVAR", settings.PYVAR)
print("YAMLVAR", settings.YAMLVAR)
print("TOMLVAR", settings.TOMLVAR)
print("INIVAR", settings.INIVAR)
print("JSONVAR", settings.JSONVAR)


settings.setenv('staging')
print("PYVAR", settings.PYVAR)
print("YAMLVAR", settings.YAMLVAR)
print("TOMLVAR", settings.TOMLVAR)
print("INIVAR", settings.INIVAR)
print("JSONVAR", settings.JSONVAR)
print("store:", settings.store)
print("loaders:", settings.loaded_by_loaders)
print("deleted:", settings._deleted)
print("dotenv_override:", settings.DOTENV_OVERRIDE_FOR_DYNACONF)
print("redis:", settings.REDIS_FOR_DYNACONF)

settings.setenv()
print("PYVAR", settings.PYVAR)
print("YAMLVAR", settings.YAMLVAR)
print("TOMLVAR", settings.TOMLVAR)
Ejemplo n.º 4
0
Archivo: app.py Proyecto: zejr/dynaconf
print(settings.CUSTOM)

print("* Switiching to production")
# using [production] env values for context
with settings.using_env("PRODUCTION"):
    print(settings.CUSTOM)
    print(settings.HOST)

print("* Switiching to development")
# back to default [development] env
print(settings.get("CUSTOM"))
print(settings.HOST)

print("* Switiching to production")
# set env to [production]:
settings.setenv("production")
print(settings.HOST)
print(settings.CUSTOM)

print("* Switiching to development")
# back to [development] env again
settings.setenv()
print(settings.HOST)
print(settings.get("INEXISTENT"))  # None

print(settings.WORKS)

assertions = {
    "HOST": "dev_server.com from yaml",
    "PORT": 5000,
    "USERNAME": "******",
Ejemplo n.º 5
0
    print("TOMLVAR", settings.TOMLVAR)
    print("INIVAR", settings.INIVAR)
    print("JSONVAR", settings.JSONVAR)

print("store:", settings.store)
print("loaders:", settings.loaded_by_loaders)
print("deleted:", settings._deleted)
print("dotenv_override:", settings.DOTENV_OVERRIDE_FOR_DYNACONF)
print("redis:", settings.REDIS_FOR_DYNACONF)
print("PYVAR", settings.PYVAR)
print("YAMLVAR", settings.YAMLVAR)
print("TOMLVAR", settings.TOMLVAR)
print("INIVAR", settings.INIVAR)
print("JSONVAR", settings.JSONVAR)

settings.setenv("staging")
print("PYVAR", settings.PYVAR)
print("YAMLVAR", settings.YAMLVAR)
print("TOMLVAR", settings.TOMLVAR)
print("INIVAR", settings.INIVAR)
print("JSONVAR", settings.JSONVAR)
print("store:", settings.store)
print("loaders:", settings.loaded_by_loaders)
print("deleted:", settings._deleted)
print("dotenv_override:", settings.DOTENV_OVERRIDE_FOR_DYNACONF)
print("redis:", settings.REDIS_FOR_DYNACONF)

settings.setenv()
print("PYVAR", settings.PYVAR)
print("YAMLVAR", settings.YAMLVAR)
print("TOMLVAR", settings.TOMLVAR)
Ejemplo n.º 6
0
import os

from dynaconf import settings

# This is the main settings file
os.environ["SETTINGS_FILE_FOR_DYNACONF"] = "default.toml"

# To make dynaconf read more file we need to include it
print("using config 1")
os.environ["INCLUDES_FOR_DYNACONF"] = "./cfg/settings.toml"

print("development")
settings.setenv("development")
print(settings.VAR_DFT)
print(settings.VAR1)
assert settings.VAR_DFT == "default_dev"
assert settings.VAR1 == "config1_dev"

print("changing to production")
settings.setenv("production")
print(settings.VAR_DFT)
print(settings.VAR1)
assert settings.VAR_DFT == "default_prod"
assert settings.VAR1 == "config1_prod"

print("----")

# To make dynaconf a diferent file we need to include it
# includes can be a toml-like list
print("using config 2")
os.environ["INCLUDES_FOR_DYNACONF"] = "['./cfg2/settings.toml']"
Ejemplo n.º 7
0
# Imports
import time
import os
import board
from pprint import pprint
from datetime import datetime
from dynaconf import settings
import adafruit_dht
import psycopg2
import subprocess
import argparse
import threading
import paho.mqtt.publish as mqtt_publish

# Load config
settings.setenv("APP")
USE_DOCKER = settings.USE_DOCKER
GPIO_LIST = settings.GPIO_LIST
USE_DATABASE = settings.USE_DATABASE
USE_GPIO = settings.USE_GPIO
USE_WEBCAM = settings.USE_WEBCAM
USE_MQTT = settings.USE_MQTT
WEBCAM_INTERVAL = settings.WEBCAM_INTERVAL
WEBCAM_OUTPUT_PATH = os.getcwd(
) + os.path.sep + 'data' + os.path.sep + 'images'
WEBCAM_DEVICE = settings.WEBCAM_DEVICE
WEBCAM_USE_PNG = settings.WEBCAM_USE_PNG
WEBCAM_RESOLUTION = settings.WEBCAM_RESOLUTION
WEBCAM_EXTRA_ARGS = settings.WEBCAM_EXTRA_ARGS
WEBCAM_TIMELAPSE = settings.WEBCAM_TIMELAPSE
SLEEP = settings.as_float('SLEEP')
Ejemplo n.º 8
0
from dynaconf import settings

print('development')
print(settings.VAR1)
print(settings.VAR2)

print('production')
settings.setenv('production')
print(settings.VAR1)
print(settings.VAR2)