Skip to content

Commit 716ae06

Browse files
author
Clark Perkins
committed
Added ability to specify a different config file
1 parent b435633 commit 716ae06

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

stackdio/cli/__init__.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,10 @@
66

77
import click
88

9-
from stackdio.cli.mixins import blueprints, bootstrap, formulas, stacks
9+
from stackdio.cli.mixins import blueprints, formulas, stacks
1010
from stackdio.cli.utils import pass_client
1111
from stackdio.client import StackdioClient
12+
from stackdio.client.config import CFG_FILE
1213
from stackdio.client.version import __version__
1314

1415

@@ -19,10 +20,13 @@
1920

2021
@click.group(context_settings=CONTEXT_SETTINGS)
2122
@click.version_option(__version__, '-v', '--version')
23+
@click.option('-c', '--config-file', help='The config file to use.',
24+
type=click.Path(dir_okay=False, file_okay=True), default=CFG_FILE,
25+
envvar='STACKDIO_CLI_CONFIG_FILE')
2226
@click.pass_context
23-
def stackdio(ctx):
27+
def stackdio(ctx, config_file):
2428
# Create a client instance
25-
client = StackdioClient()
29+
client = StackdioClient(cfg_file=config_file)
2630

2731
# Throw an error if we're not configured already
2832
if ctx.invoked_subcommand not in ('configure', None) and not client.usable():

stackdio/client/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@
4141
class StackdioClient(BlueprintMixin, FormulaMixin, AccountMixin, ImageMixin,
4242
RegionMixin, StackMixin, SettingsMixin, HttpMixin):
4343

44-
def __init__(self, url=None, username=None, password=None, verify=True):
45-
self.config = StackdioConfig()
44+
def __init__(self, url=None, username=None, password=None, verify=True, cfg_file=None):
45+
self.config = StackdioConfig(cfg_file)
4646

4747
self.url = None
4848
self.username = None

stackdio/client/config.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@
2525
from stackdio.client.compat import ConfigParser, NoOptionError
2626

2727

28-
CFG_DIR = os.path.join(os.path.expanduser('~'), '.stackdio')
29-
CFG_FILE = os.path.join(CFG_DIR, 'client.cfg')
28+
CFG_FILE = os.path.join(os.path.expanduser('~'), '.stackdio', 'client.cfg')
3029

3130

3231
class UserPath(click.Path):

0 commit comments

Comments
 (0)