mirror of
https://github.com/Stone-Red-Code/dvc.git
synced 2026-11-12 07:18:23 +01:00
State file constructor param change
This commit is contained in:
@@ -137,7 +137,7 @@ class CmdImportFile(CmdBase):
|
||||
System.symlink(data_item.symlink_file, data_item.data.relative)
|
||||
|
||||
state_file = StateFile(StateFile.COMMAND_IMPORT_FILE,
|
||||
data_item.state.relative,
|
||||
data_item,
|
||||
self.settings,
|
||||
argv=[input, output],
|
||||
input_files=[],
|
||||
|
||||
+1
-2
@@ -131,13 +131,12 @@ ProjectName =
|
||||
empty_data_path = os.path.join(self.parsed_args.data_dir, self.EMPTY_FILE_NAME)
|
||||
cache_file_suffix = self.EMPTY_FILE_NAME + '_' + self.EMPTY_FILE_CHECKSUM
|
||||
empty_cache_path = os.path.join(Config.CONFIG_DIR, Config.CACHE_DIR, cache_file_suffix)
|
||||
empty_state_path = os.path.join(Config.CONFIG_DIR, Config.STATE_DIR, self.EMPTY_FILE_NAME + '.state')
|
||||
|
||||
open(empty_cache_path, 'w').close()
|
||||
System.symlink(os.path.join('..', empty_cache_path), empty_data_path)
|
||||
|
||||
StateFile(StateFile.COMMAND_EMPTY_FILE,
|
||||
empty_state_path,
|
||||
self.settings.path_factory.data_item(empty_data_path),
|
||||
self.settings,
|
||||
input_files=[],
|
||||
output_files=[],
|
||||
|
||||
+1
-1
@@ -18,7 +18,7 @@ class CmdLock(CmdBase):
|
||||
for file in files:
|
||||
try:
|
||||
data_item = self.settings.path_factory.existing_data_item(file)
|
||||
state = StateFile.load(data_item.state.relative, self.settings)
|
||||
state = StateFile.load(data_item, self.settings)
|
||||
|
||||
if state.locked and target:
|
||||
Logger.warn('Data item {} is already locked'.format(data_item.data.relative))
|
||||
|
||||
@@ -123,7 +123,7 @@ class ReproChange(object):
|
||||
raise ReproError('data item {} is not symlink'.format(data_item.data.relative))
|
||||
|
||||
try:
|
||||
self._state = StateFile.load(data_item.state.relative, self.git)
|
||||
self._state = StateFile.load(data_item, self.git)
|
||||
except Exception as ex:
|
||||
raise ReproError('Error: state file "{}" cannot be loaded: {}'.
|
||||
format(data_item.state.relative, ex))
|
||||
@@ -257,7 +257,7 @@ class ReproChange(object):
|
||||
return result
|
||||
|
||||
def is_repro_required(self, changed_files, data_item):
|
||||
state_file = StateFile.load(data_item.state.relative, self._settings)
|
||||
state_file = StateFile.load(data_item, self._settings)
|
||||
if state_file.locked:
|
||||
Logger.debug(u'Repro is not required for locked data item {}'.format(data_item.data.relative))
|
||||
return False
|
||||
|
||||
+1
-1
@@ -123,7 +123,7 @@ class CmdRun(CmdBase):
|
||||
Logger.debug('Create state file "{}"'.format(data_item.state.relative))
|
||||
|
||||
state_file = StateFile(StateFile.COMMAND_RUN,
|
||||
data_item.state.relative,
|
||||
data_item,
|
||||
self.settings,
|
||||
input_files_dvc,
|
||||
output_files_dvc,
|
||||
|
||||
@@ -68,7 +68,7 @@ class CmdShowPipeline(Traverse):
|
||||
def process_file(self, target):
|
||||
data_item = self._get_data_item(target)
|
||||
name = data_item.data.relative
|
||||
state = StateFile.load(data_item.state.relative, self.git)
|
||||
state = StateFile.load(data_item, self.git)
|
||||
|
||||
if name == os.path.join(self.settings.config.data_dir, CmdInit.EMPTY_FILE_NAME):
|
||||
return
|
||||
|
||||
+6
-5
@@ -42,7 +42,7 @@ class StateFile(object):
|
||||
|
||||
def __init__(self,
|
||||
command,
|
||||
file,
|
||||
data_item,
|
||||
settings,
|
||||
input_files,
|
||||
output_files,
|
||||
@@ -54,7 +54,8 @@ class StateFile(object):
|
||||
created_at=time.strftime('%Y-%m-%d %H:%M:%S %z'),
|
||||
cwd=None,
|
||||
shell=False):
|
||||
self.file = file
|
||||
self.data_item = data_item
|
||||
self.file = data_item.state.relative
|
||||
self.settings = settings
|
||||
self.input_files = input_files
|
||||
self.output_files = output_files
|
||||
@@ -123,12 +124,12 @@ class StateFile(object):
|
||||
return StateFile.encode_paths([p])[0]
|
||||
|
||||
@staticmethod
|
||||
def load(filename, settings):
|
||||
with open(filename, 'r') as fd:
|
||||
def load(data_item, settings):
|
||||
with open(data_item.state.relative, 'r') as fd:
|
||||
data = json.load(fd)
|
||||
|
||||
return StateFile(StateFile.decode_path(data.get(StateFile.PARAM_COMMAND)),
|
||||
filename,
|
||||
data_item,
|
||||
settings,
|
||||
StateFile.decode_paths(data.get(StateFile.PARAM_INPUT_FILES, [])),
|
||||
StateFile.decode_paths(data.get(StateFile.PARAM_OUTPUT_FILES, [])),
|
||||
|
||||
Reference in New Issue
Block a user