Skip to content

Commit

Permalink
don't check for config in floyd clone
Browse files Browse the repository at this point in the history
  • Loading branch information
mckayward committed Nov 18, 2017
1 parent 255b99e commit 8037df4
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 7 deletions.
2 changes: 1 addition & 1 deletion floyd/cli/data.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ def clone(id):
Download the code for the job to the current path
"""

data_source = DataClient().get(normalize_data_name(id))
data_source = DataClient().get(normalize_data_name(id, use_data_config=False))
if id and not data_source:
# Try with the raw ID
data_source = DataClient().get(id)
Expand Down
4 changes: 2 additions & 2 deletions floyd/cli/experiment.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,9 @@ def clone(id):
Download the code for the experiment to the current path
"""
try:
experiment = ExperimentClient().get(normalize_job_name(id))
experiment = ExperimentClient().get(normalize_job_name(id, use_config=False))
except FloydException:
experiment = ExperimentClient().get(id)
experiment = ExperimentClient().get(id, use_config=False)

task_instance_id = get_module_task_instance_id(experiment.task_instances)
task_instance = TaskInstanceClient().get(task_instance_id) if task_instance_id else None
Expand Down
14 changes: 10 additions & 4 deletions floyd/cli/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,14 +116,17 @@ def normalize_data_name(raw_name, default_username='', default_dataset_name='',
return '/'.join(name_parts)


def normalize_job_name(raw_job_name, default_username=None, default_project_name=None):
def normalize_job_name(raw_job_name, default_username='', default_project_name='', use_config=True):
raw_job_name = raw_job_name or ''

if use_config:
default_project_name = default_project_name or current_experiment_name()

name_parts = raw_job_name.split('/')

username = default_username or current_username()
project_name = default_project_name or current_experiment_name()
number = None # current job number
project_name = default_project_name
number = '' # current job number

# When nothing is passed, use all the defaults
if not raw_job_name:
Expand Down Expand Up @@ -158,12 +161,15 @@ def normalize_job_name(raw_job_name, default_username=None, default_project_name
return raw_job_name

# If no number is found, query the API for the most recent job number
if number is None:
if not number:
job_name_from_api = get_latest_job_name_for_project(username, project_name)
if not job_name_from_api:
raise FloydException("Could not resolve %s. Make sure the project exists and has jobs." % raw_job_name)
return job_name_from_api

if not project_name:
raise FloydException('Job name resolution: Could not infer a project name from "%s". Please include a name to identify the project' % raw_job_name)

return '/'.join([username, 'projects', project_name, number])


Expand Down

0 comments on commit 8037df4

Please sign in to comment.