mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-02 07:18:25 +01:00
Get rid of cloud gonfig check in runtime init
This commit is contained in:
@@ -58,6 +58,14 @@ class CmdDataSync(CmdBase):
|
||||
Logger.info('Cannot perform the cmd since DVC is busy and locked. Please retry the cmd later.')
|
||||
return 1
|
||||
|
||||
good = self.config.sanity_check()
|
||||
|
||||
if not good[0]:
|
||||
Logger.error('config \'%s\' is not correctly setup. Please fix:' % Runtime.CONFIG)
|
||||
for e in good[1]:
|
||||
Logger.error(' ' + e)
|
||||
return 1
|
||||
|
||||
try:
|
||||
for target in self.parsed_args.targets:
|
||||
data_item = self.settings.path_factory.data_item(target)
|
||||
|
||||
@@ -93,7 +93,7 @@ class CmdDataRemove(CmdBase):
|
||||
# it raises exception if not a symlink is provided
|
||||
Logger.debug(u'[Cmd-Remove] Remove file {}.'.format(target))
|
||||
|
||||
data_item = self.settings.path_factory.data_item(target)
|
||||
data_item = self.settings.path_factory.existing_data_item(target)
|
||||
|
||||
self._remove_cache_file(data_item)
|
||||
self._remove_state_file(data_item)
|
||||
@@ -120,7 +120,8 @@ class CmdDataRemove(CmdBase):
|
||||
self._remove_dvc_path(data_item.cache, 'cache')
|
||||
else:
|
||||
if not self.parsed_args.keep_in_cache:
|
||||
Logger.warn(u'[Cmd-Remove] Unable to find cache file for data item %s' % data_item.data.relative)
|
||||
msg = u'[Cmd-Remove] Unable to find cache file {} for data item {}'
|
||||
Logger.warn(msg.format(data_item.cache.relative, data_item.data.relative))
|
||||
pass
|
||||
|
||||
def _remove_dvc_path(self, dvc_path, name):
|
||||
@@ -132,6 +133,9 @@ class CmdDataRemove(CmdBase):
|
||||
def remove_from_cloud(self, aws_file_name):
|
||||
Logger.debug(u'[Cmd-Remove] Remove from cloud {}.'.format(aws_file_name))
|
||||
|
||||
if not self.config.aws_access_key_id or not self.config.aws_secret_access_key:
|
||||
Logger.debug('[Cmd-Remove] Unable to check cache file in the cloud')
|
||||
return
|
||||
conn = S3Connection(self.config.aws_access_key_id, self.config.aws_secret_access_key)
|
||||
bucket_name = self.config.storage_bucket
|
||||
bucket = conn.lookup(bucket_name)
|
||||
|
||||
+17
-4
@@ -35,6 +35,16 @@ class ConfigI(object):
|
||||
def storage_prefix(self):
|
||||
return ''
|
||||
|
||||
def sanity_check(self):
|
||||
pass
|
||||
|
||||
def aws_access_key_id(self):
|
||||
return None
|
||||
|
||||
@property
|
||||
def aws_secret_access_key(self):
|
||||
return None
|
||||
|
||||
|
||||
class Config(ConfigI):
|
||||
CONFIG = 'dvc.conf'
|
||||
@@ -72,12 +82,16 @@ class Config(ConfigI):
|
||||
def aws_access_key_id(self):
|
||||
if not self._aws_creds:
|
||||
self._aws_creds = self.get_aws_credentials()
|
||||
if not self._aws_creds:
|
||||
return None
|
||||
return self._aws_creds[0]
|
||||
|
||||
@property
|
||||
def aws_secret_access_key(self):
|
||||
if not self._aws_creds:
|
||||
self._aws_creds = get_aws_credentials()
|
||||
self._aws_creds = self.get_aws_credentials()
|
||||
if not self._aws_creds:
|
||||
return None
|
||||
return self._aws_creds[1]
|
||||
|
||||
@property
|
||||
@@ -191,7 +205,6 @@ class Config(ConfigI):
|
||||
|
||||
return None
|
||||
|
||||
|
||||
def sanity_check(self):
|
||||
""" sanity check a config
|
||||
|
||||
@@ -221,12 +234,12 @@ class Config(ConfigI):
|
||||
elif cloud == 'amazon':
|
||||
creds = self.get_aws_credentials()
|
||||
if creds is None:
|
||||
errors.append('can\'t find aws credentials. TODO')
|
||||
errors.append('can\'t find aws credentials.')
|
||||
self._aws_creds = creds
|
||||
elif cloud == 'google':
|
||||
project = self._config['GC'].get('ProjectName', None)
|
||||
if project is None or len(project) < 1:
|
||||
errors.append('can\'t read google cloud project name. Please set ProjectName in section GC. TODO HOW FIND')
|
||||
errors.append('can\'t read google cloud project name. Please set ProjectName in section GC.')
|
||||
else:
|
||||
errors.append('unknown Cloud %s' % cloud)
|
||||
|
||||
|
||||
@@ -29,13 +29,6 @@ class Runtime(object):
|
||||
|
||||
if parse_config:
|
||||
runtime_config = Config(Runtime.conf_file_path(runtime_git.git_dir))
|
||||
|
||||
good = runtime_config.sanity_check()
|
||||
if good[0] == False:
|
||||
Logger.error('config \'%s\' is not correctly setup. Please fix:' % Runtime.CONFIG)
|
||||
for e in good[1]:
|
||||
Logger.error(' ' + e)
|
||||
sys.exit(-1)
|
||||
else:
|
||||
runtime_config = ConfigI()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user