Jump to: navigation, search

Satori/ConfigObjectProposal

< Satori
Revision as of 03:35, 25 March 2014 by Caleb Groom (talk | contribs) (Created page with "Configuration settings for Satori are currently gathered from the command line via argparse. argparse creates a namespace object that allows variables to be read in dotted att...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Configuration settings for Satori are currently gathered from the command line via argparse. argparse creates a namespace object that allows variables to be read in dotted attribute for (config.foo, config.bar, etc). However, this makes developers who want to use Satori in their application create their own namespace-like object. The proposed change is to treat the configuration object as a dictionary.

Using Satori in Python Code Today

from satori import discovery

class MyConfig(object):
    pass

config = MyConfig()
config.username = "bob"
config.system_info = "ohai-solo"

result = discovery.run('192.0.2.1', config)

Converting the Config Object to a Dictionary

To implement this change, parse_args from satori/shell.py will pass the argparse object to the vars() call. This will convert the object to a dictionary.

Satori in Python Code After Implementation

from satori import discovery
result = discovery.run('192.0.2.1', {'username': 'bob', 'system_info': 'ohai-solo)