From 2c5c1cd0b0602025692a2ca512ccacff5d68d21c Mon Sep 17 00:00:00 2001 From: Erwan Rouchet <rouchet@teklia.com> Date: Tue, 14 May 2019 12:58:36 +0000 Subject: [PATCH] Helper method to get options from environment variables --- arkindex/__init__.py | 2 +- arkindex/client.py | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/arkindex/__init__.py b/arkindex/__init__.py index b96c6b5..cf78c2e 100644 --- a/arkindex/__init__.py +++ b/arkindex/__init__.py @@ -1 +1 @@ -from arkindex.client import ArkindexClient # noqa: F401 +from arkindex.client import ArkindexClient, options_from_env # noqa: F401 diff --git a/arkindex/client.py b/arkindex/client.py index d1d843b..c93b72a 100644 --- a/arkindex/client.py +++ b/arkindex/client.py @@ -1,7 +1,7 @@ """ Arkindex API Client """ -import os.path +import os import apistar import logging import yaml @@ -16,6 +16,22 @@ BASE_DIR = os.path.dirname(os.path.abspath(__file__)) logger = logging.getLogger(__name__) +def options_from_env(): + """ + Get API client keyword arguments from environment variables. + """ + options = {} + if 'ARKINDEX_API_TOKEN' in os.environ: + options['token'] = os.environ.get('ARKINDEX_API_TOKEN') + + if 'ARKINDEX_API_INTERNAL_URL' in os.environ: + options['base_url'] = os.environ.get('ARKINDEX_API_INTERNAL_URL') + elif 'ARKINDEX_API_URL' in os.environ: + options['base_url'] = os.environ.get('ARKINDEX_API_URL') + + return options + + class ArkindexClient(apistar.Client): """ An Arkindex API client. -- GitLab