Esempio n. 1
0
def setup_env():
    global env, config
    env = Environment({
        'dir': {
            'path': '~/.windfarm',
            'create': True,
            'mode': 448  # 0700
        },
        'files': {
            'config': {
                'type': 'config',
                'default': {
                    'path': 'config/default.cfg',
                    'rel_to': 'pkg',
                    'pkg': 'windfarm'
                },
                'read': True
            },
            'state': {
                'type': 'raw',
                'read': False
            }
        },
        'basename': 'windfarm'
    })
    config = env['config']

    logging.config.dictConfig({
        'version': 1,
        'formatters': {
            'standard': {
                'format': '%(levelname)s: %(message)s'
            }
        },
        'handlers': {
            'default': {
                'class': 'logging.StreamHandler',
                'formatter': 'standard'
            }
        },
        'loggers': {
            'bot': {
                'handlers': ['default'],
                'level': 'INFO',
                'propagate': False
            }
        }
    })

    # update config from environment variables for heroku
    for var in [
            'api_keys.consumer_key', 'api_keys.consumer_secret',
            'api_keys.access_key', 'api_keys.access_secret'
    ]:
        try:
            config[var] = os.environ[var.upper()]
        except KeyError:
            continue
Esempio n. 2
0
def test_environment_add():
    e = Environment(
        dir=Directory('tests/env1',
            config=ConfigFile('json_config', defaults='default.cfg'),
            otherconfig=ConfigFile('json_config2')
        )
    )
    e.add(
        config_var_dir=Directory(e.config.somedir, create=True),
        somefile=scruffy.File(e.config.somefile),
        string_dir='/tmp/scruffy_string_dir'
    )
    assert os.path.exists('/tmp/scruffy_test_dir')
    assert e.config_var_dir.exists
    assert e.config_var_dir.path == '/tmp/scruffy_test_dir'
    e.config_var_dir.remove()
    assert not os.path.exists('/tmp/scruffy_test_dir')
    assert e.somefile.content.strip() == 'thing'
    e.config_var_dir.create()
    assert os.path.exists('/tmp/scruffy_string_dir')
    e.config_var_dir.remove()
Esempio n. 3
0
def setup_env():
    global env, config
    env = Environment(setup_logging=False,
        voltron_dir=Directory('~/.voltron', create=True,
            config=ConfigFile('config', defaults=File('config/default.cfg', parent=PackageDirectory())),
            sock=File('sock'),
            history=File('history'),
            user_plugins=PluginDirectory('plugins')
        ),
        pkg_plugins=PluginDirectory('plugins', parent=PackageDirectory())
    )
    config = env.config

    # create shared instance of plugin manager
    voltron.plugin.pm = voltron.plugin.PluginManager()
Esempio n. 4
0
def test_environment_directory_config():
    e = Environment(
        dir=Directory('tests/env1',
            config=ConfigFile('json_config', defaults='default.cfg'),
            otherconfig=ConfigFile('json_config2')
        )
    )
    assert e.config.setting1 == 667
    assert e.config.setting2 == True
    assert e.config.setting3.key1 == 'not value'
    assert e.config.setting3.key2 == 'value'
    assert e.dir.config.setting1 == 667
    assert e.dir.config.setting2 == True
    assert e.dir.config.setting3.key1 == 'not value'
    assert e.dir.config.setting3.key2 == 'value'
    assert e.dir.otherconfig.setting1 == 888
    assert e.dir.otherconfig.setting2 == True
Esempio n. 5
0
def setup_env():
    global env, config
    env = Environment({
        'dir': {
            'path': '~/.voltron',
            'create': True,
            'mode': 448  # 0700
        },
        'files': {
            'config': {
                'type': 'config',
                'default': {
                    'path': 'config/default.cfg',
                    'rel_to': 'pkg',
                    'pkg': 'voltron'
                },
                'read': True
            },
            'sock': {
                'name': '{basename}.sock',
                'type': 'raw',
                'var': 'VOLTRON_SOCKET'
            },
            'history': {
                'type': 'raw',
                'var': 'VOLTRON_HISTORY'
            },
            'local_plugins': {
                'type': 'plugin_dir',
                'name': 'plugins',
                'create': True
            },
            'internal_plugins': {
                'type': 'plugin_dir',
                'name': 'plugins',
                'rel_to': 'pkg',
                'pkg': 'voltron'
            }
        },
        'basename': 'voltron'
    })
    config = env['config']

    # create shared instance of plugin manager
    plugin.pm = plugin.PluginManager()
Esempio n. 6
0
def setup_env():
    global env, config
    env = Environment(setup_logging=False,
                      voltron_dir=Directory(
                          '~/.voltron',
                          create=True,
                          config=ConfigFile('config',
                                            defaults=File(
                                                'config/default.cfg',
                                                parent=PackageDirectory()),
                                            apply_env=True),
                          sock=File('{config:server.listen.domain}'),
                          history=File('history'),
                          user_plugins=PluginDirectory('plugins')),
                      pkg_plugins=PluginDirectory('plugins',
                                                  parent=PackageDirectory()))
    config = env.config

    voltron.plugin.pm.register_plugins()
Esempio n. 7
0
def setup_env():
    global env, config
    env = Environment({
        'dir': {
            'path': '~/.cloutron',
            'create': True,
            'mode': 448  # 0700
        },
        'files': {
            'config': {
                'type': 'config',
                'default': {
                    'path': 'config/default.cfg',
                    'rel_to': 'pkg',
                    'pkg': 'cloutron'
                },
                'read': True
            },
            'local_plugins': {
                'type': 'plugin_dir',
                'name': 'plugins',
                'create': True
            },
            'internal_plugins': {
                'type': 'plugin_dir',
                'name': 'plugins',
                'rel_to': 'pkg',
                'pkg': 'cloutron'
            }
        },
        'basename': 'cloutron'
    })
    config = env['config']

    # create shared instance of plugin manager
    plugin.pm = plugin.PluginManager()
Esempio n. 8
0
def test_environment_config_default():
    e = Environment(config=ConfigFile('tests/env1/json_config', defaults='tests/env1/default.cfg'))
    assert e.config.setting1 == 667
    assert e.config.setting2 == True
    assert e.config.setting3.key1 == 'not value'
    assert e.config.setting3.key2 == 'value'
Esempio n. 9
0
def test_environment_config():
    e = Environment(config=ConfigFile('tests/env1/json_config'))
    assert e.config.setting1 == 667
    assert e.config.setting3.key1 == 'not value'