api: Add support for Environment Variables.
This adds support for controlling the basic configuration (user, API key, etc.) of the Zulip API bindings via environment variables. Fixes #3364. Tweaked by tabbott to update variable names and document in README.md.
This commit is contained in:
parent
46e7e05516
commit
863df67150
|
@ -44,7 +44,12 @@ Alternatively, you may explicitly use "--user", "--api-key", and
|
|||
`--site` in our examples, which is especially useful when testing. If
|
||||
you are running several bots which share a home directory, we
|
||||
recommend using `--config` to specify the path to the `zuliprc` file
|
||||
for a specific bot.
|
||||
for a specific bot. Finally, you can control the defaults for all of
|
||||
these variables using the environment variables `ZULIP_CONFIG`,
|
||||
`ZULIP_API_KEY`, `ZULIP_EMAIL`, `ZULIP_SITE`, `ZULIP_CERT`,
|
||||
`ZULIP_CERT_KEY`, and `ZULIP_CERT_BUNDLE`. Command-line options take
|
||||
precedence over environment variables take precedence over the config
|
||||
files.
|
||||
|
||||
The command line equivalents for other configuration options are:
|
||||
|
||||
|
|
|
@ -186,8 +186,25 @@ class Client(object):
|
|||
if client is None:
|
||||
client = _default_client()
|
||||
|
||||
# Fill values from Environment Variables if not available in Constructor
|
||||
if config_file is None:
|
||||
config_file = os.environ.get("ZULIP_CONFIG")
|
||||
if api_key is None:
|
||||
api_key = os.environ.get("ZULIP_API_KEY")
|
||||
if email is None:
|
||||
email = os.environ.get("ZULIP_EMAIL")
|
||||
if site is None:
|
||||
site = os.environ.get("ZULIP_SITE")
|
||||
if client_cert is None:
|
||||
client_cert = os.environ.get("ZULIP_CERT")
|
||||
if client_cert_key is None:
|
||||
client_cert_key = os.environ.get("ZULIP_CERT_KEY")
|
||||
if cert_bundle is None:
|
||||
cert_bundle = os.environ.get("ZULIP_CERT_BUNDLE")
|
||||
|
||||
if config_file is None:
|
||||
config_file = get_default_config_filename()
|
||||
|
||||
if os.path.exists(config_file):
|
||||
config = SafeConfigParser()
|
||||
with open(config_file, 'r') as f:
|
||||
|
|
Loading…
Reference in a new issue