def execute( context: cli.CommandContext, project_name: str, directory: str, title: str = '', summary: str = '', author: str = '', forget: bool = False, no_naming_scheme: bool = False, library_folder: str = None, assets_folder: str = None ): """ :return: """ response = context.response response.consume(create_actions.create_project_directories( project_name, directory, assets_folder=assets_folder, library_folder=library_folder )) if response.failed: return response definition = create_actions.create_definition( name=project_name, title=title, summary=summary, author=author, no_naming_scheme=no_naming_scheme, library_folder=library_folder, assets_folder=assets_folder ) source_directory = response.data['source_directory'] response.consume(create_actions.write_project_data( source_directory, definition )) response.consume(create_actions.write_project_data( source_directory, definition )) if response.failed: return response if context.remote_connection.active: opened = remote_project_opener.sync_open(context, source_directory) else: opened = project_opener.open_project( source_directory, forget=forget ) return response.consume(opened)
def test_create_project_directory(self): """ should abort if directory already exists """ path = self.get_temp_path('test-create', 'project-directory-1') os.makedirs(path) response = create_actions.create_project_directories('some-name', path) self.assertTrue(response.success)
def test_create_project_directory_fail(self): """ should fail if directory cannot be created """ path = self.get_temp_path('test-create', 'project-directory-2') with patch('os.makedirs') as make_dirs: make_dirs.side_effect = IOError('Fake Error') response = create_actions.create_project_directories( 'some-name', path) self.assertFalse(response.success)
def test_create_project_directory_fail(self): """ should fail if directory cannot be created """ path = self.get_temp_path('test-create', 'project-directory-2') with patch('os.makedirs') as make_dirs: make_dirs.side_effect = IOError('Fake Error') response = create_actions.create_project_directories( 'some-name', path ) self.assertFalse(response.success)
def execute(context: cli.CommandContext, project_name: str, directory: str, title: str = '', summary: str = '', author: str = '', forget: bool = False, no_naming_scheme: bool = False, library_folder: str = None, assets_folder: str = None): """ :return: """ response = context.response response.consume( create_actions.create_project_directories( project_name, directory, assets_folder=assets_folder, library_folder=library_folder)) if response.failed: return response definition = create_actions.create_definition( name=project_name, title=title, summary=summary, author=author, no_naming_scheme=no_naming_scheme, library_folder=library_folder, assets_folder=assets_folder) source_directory = response.data['source_directory'] response.consume( create_actions.write_project_data(source_directory, definition)) response.consume( create_actions.write_project_data(source_directory, definition)) if response.failed: return response if context.remote_connection.active: opened = remote_project_opener.sync_open(context, source_directory) else: opened = project_opener.open_project(source_directory, forget=forget) return response.consume(opened)