def _get_available_path( self, message=None, storehouse_path=None, ): storehouse_path = storehouse_path or self._current_storehouse_path while True: default_prompt = 'enter {} name'.format(self._asset_identifier) message = message or default_prompt getter = self._io_manager._make_getter() getter.append_string(message) name = getter._run() if self._session.is_backtracking or not name: return name = stringtools.strip_diacritics(name) words = stringtools.delimit_words(name) words = [_.lower() for _ in words] name = '_'.join(words) if not stringtools.is_snake_case_package_name(name): continue path = os.path.join(storehouse_path, name) if os.path.exists(path): line = 'path already exists: {!r}.' line = line.format(path) self._io_manager._display(line) else: return path
def _get_available_path( self, message=None, storehouse_path=None, ): storehouse_path = storehouse_path or self._current_storehouse_path while True: default_prompt = 'enter {} name'.format(self._asset_identifier) message = message or default_prompt getter = self._io_manager._make_getter() getter.append_string(message) name = getter._run() if self._session.is_backtracking or not name: return name = stringtools.strip_diacritics(name) words = stringtools.delimit_words(name) words = [_.lower() for _ in words] name = '_'.join(words) if not stringtools.is_snake_case_package_name(name): continue path = os.path.join(storehouse_path, name) if os.path.exists(path): line = 'path already exists: {!r}.' line = line.format(path) self._io_manager._display(line) else: return path
def make_asset(self, asset_name): r'''Makes asset. Returns none. ''' assert stringtools.is_snake_case_package_name(asset_name) asset_filesystem_path = os.path.join( self._current_storehouse_filesystem_path, asset_name) os.mkdir(asset_filesystem_path) package_manager = self._initialize_asset_manager(asset_name) package_manager.interactively_fix(is_interactive=False)