diff --git a/trains/backend_interface/task/task.py b/trains/backend_interface/task/task.py index fb605717..ab0c415f 100644 --- a/trains/backend_interface/task/task.py +++ b/trains/backend_interface/task/task.py @@ -211,10 +211,11 @@ class Task(IdObjectBase, AccessMixin, SetupUploadMixin): # overwrite it before we have a chance to call edit) self._edit(script=result.script) self.reload() - self._update_requirements(result.script.get('requirements') if result.script.get('requirements') else '') + self._update_requirements(result.script.get('requirements') if result.script and + result.script.get('requirements') else '') check_package_update_thread.join() except Exception as e: - get_logger('task').warning(str(e)) + get_logger('task').debug(str(e)) def _auto_generate(self, project_name=None, task_name=None, task_type=TaskTypes.training): created_msg = make_message('Auto-generated at %(time)s by %(user)s@%(host)s') diff --git a/trains/task.py b/trains/task.py index 358d47c2..98b91eb7 100644 --- a/trains/task.py +++ b/trains/task.py @@ -334,17 +334,19 @@ class Task(_Task): if not default_project_name or not default_task_name: # get project name and task name from repository name and entry_point result = ScriptInfo.get(create_requirements=False, check_uncommitted=False) - if result: - if not default_project_name: - try: - default_project_name = re.sub(r"\.git$", "", result.script.get('repository')) or "Untitled" - except TypeError: - default_project_name = 'Untitled' - if not default_task_name: - try: - default_task_name = Path(result.script.get("entry_point")).stem - except TypeError: - pass + if not default_project_name: + # noinspection PyBroadException + try: + parts = result.script['repository'].split('/') + default_project_name = (parts[-1] or parts[-2]).replace('.git', '') or 'Untitled' + except Exception: + default_project_name = 'Untitled' + if not default_task_name: + # noinspection PyBroadException + try: + default_task_name = os.path.splitext(os.path.basename(result.script['entry_point']))[0] + except Exception: + pass # if we force no task reuse from os environment if DEV_TASK_NO_REUSE.get() or not reuse_last_task_id: