diff --git a/.gitignore b/.gitignore index 7c364b7106b..462e7bf8eaf 100644 --- a/.gitignore +++ b/.gitignore @@ -70,3 +70,6 @@ target/ *.sublime-* .python-version + +# Vim +*.sw* diff --git a/dbt/config.py b/dbt/config.py index 85cdf137b95..ccd6dc1cc30 100644 --- a/dbt/config.py +++ b/dbt/config.py @@ -1,4 +1,5 @@ import os.path +import os from copy import deepcopy import hashlib import pprint @@ -22,7 +23,9 @@ DEFAULT_SEND_ANONYMOUS_USAGE_STATS = True DEFAULT_USE_COLORS = True DEFAULT_PROFILES_DIR = os.path.join(os.path.expanduser('~'), '.dbt') - +PROFILES_DIR = os.path.expanduser( + os.environ.get('DBT_PROFILES_DIR', DEFAULT_PROFILES_DIR) + ) INVALID_PROFILE_MESSAGE = """ dbt encountered an error while trying to read your profiles.yml file. @@ -41,7 +44,7 @@ defined in your profiles.yml file. You can find profiles.yml here: {profiles_file}/profiles.yml -""".format(profiles_file=DEFAULT_PROFILES_DIR) +""".format(profiles_file=PROFILES_DIR) def read_profile(profiles_dir): @@ -62,7 +65,7 @@ def read_profile(profiles_dir): def read_profiles(profiles_dir=None): """This is only used in main, for some error handling""" if profiles_dir is None: - profiles_dir = DEFAULT_PROFILES_DIR + profiles_dir = PROFILES_DIR raw_profiles = read_profile(profiles_dir) @@ -624,7 +627,7 @@ def from_args(cls, args, project_profile_name=None, cli_vars=None): threads_override = getattr(args, 'threads', None) # TODO(jeb): is it even possible for this to not be set? - profiles_dir = getattr(args, 'profiles_dir', DEFAULT_PROFILES_DIR) + profiles_dir = getattr(args, 'profiles_dir', PROFILES_DIR) target_override = getattr(args, 'target', None) raw_profiles = read_profile(profiles_dir) profile_name = cls._pick_profile_name(args.profile, diff --git a/dbt/main.py b/dbt/main.py index 1f2ba98da53..57ec83189be 100644 --- a/dbt/main.py +++ b/dbt/main.py @@ -27,7 +27,7 @@ from dbt.utils import ExitCodes from dbt.config import Project, RuntimeConfig, DbtProjectError, \ - DbtProfileError, DEFAULT_PROFILES_DIR, read_config, \ + DbtProfileError, PROFILES_DIR, read_config, \ send_anonymous_usage_stats, colorize_output, read_profiles from dbt.exceptions import DbtProfileError, DbtProfileError, RuntimeException @@ -298,11 +298,11 @@ def parse_args(args): base_subparser.add_argument( '--profiles-dir', - default=DEFAULT_PROFILES_DIR, + default=PROFILES_DIR, type=str, help=""" Which directory to look in for the profiles.yml file. Default = {} - """.format(DEFAULT_PROFILES_DIR) + """.format(PROFILES_DIR) ) base_subparser.add_argument( diff --git a/dbt/task/debug.py b/dbt/task/debug.py index fe930997bb0..a575791f6ff 100644 --- a/dbt/task/debug.py +++ b/dbt/task/debug.py @@ -16,7 +16,7 @@ class DebugTask(BaseTask): def path_info(self): open_cmd = dbt.clients.system.open_dir_cmd() - profiles_dir = dbt.config.DEFAULT_PROFILES_DIR + profiles_dir = dbt.config.PROFILES_DIR message = PROFILE_DIR_MESSAGE.format( open_cmd=open_cmd, diff --git a/dbt/task/init.py b/dbt/task/init.py index 1146bb9e2d4..68b1bc2cf70 100644 --- a/dbt/task/init.py +++ b/dbt/task/init.py @@ -91,7 +91,7 @@ def get_addendum(self, project_name, profiles_path): def run(self): project_dir = self.args.project_name - profiles_dir = dbt.config.DEFAULT_PROFILES_DIR + profiles_dir = dbt.config.PROFILES_DIR profiles_file = os.path.join(profiles_dir, 'profiles.yml') self.create_profiles_dir(profiles_dir)