def test_cli_rename_backup_path_to_file(self): driver = Driver() dirs = helper.mkdtemps(1, root=self.TMP_ROOT, prefix=self.TMPFILE_PREFIX) backup_filename = os.sep.join([dirs[0], '123']) kwargs = { 'settings_json': { 'CHECK_DIRS': dirs, "DIR_FORMATS": { "LETTER_CASE": "upper_case", }, }, 'rename': True, 'rename_backup_path': backup_filename, } logger().debug('before') logger().info(os.listdir(dirs[0])) assert os.path.isdir(dirs[0]) assert not os.path.isfile(backup_filename) driver.entry(**kwargs) logger().debug('after') logger().info(driver.result['rename_backup_name']) if not os.path.isdir(dirs[0]): dirs[0] = os.sep.join(dirs[0].split(os.sep)[:-1] + [dirs[0].split(os.sep)[-1].upper()]) backup_filename = os.sep.join([dirs[0], '123']) assert os.path.isdir(dirs[0]) assert os.path.isfile(backup_filename) assert driver.result['errors'] == []
def rename_backup(self, rename_pairs, **kwargs): am = ArchieveManager() RENAME_BACKUP = kwargs.get('rename_backup', True) logger().info('backup flag: {0}'.format(RENAME_BACKUP)) if RENAME_BACKUP: RENAME_BACKUP_PATH = kwargs.get('rename_backup_path', os.getcwd()) if os.path.isdir(RENAME_BACKUP_PATH): RENAME_BACKUP_PATH = os.sep.join([ RENAME_BACKUP_PATH, self.get_bak_filename(prefix='namanager_rename_')]) logger().info('backup path: {0}'.format(RENAME_BACKUP_PATH)) test_writing_permission( dirname=os.path.dirname(RENAME_BACKUP_PATH)) revert_pairs = am.gen_revert_path_pairs(rename_pairs) self._result['rename_backup_name'] = RENAME_BACKUP_PATH with open(RENAME_BACKUP_PATH, 'w') as f: f.write(json.dumps(revert_pairs, indent=4, sort_keys=True)) logger().info('successfully wrote backup: {0}.'.format( RENAME_BACKUP_PATH))
def test_writing_permission(**kwargs): """ param dirname: type dirname: str param required: default True type required: True, False param error_msg: type error_msg: str """ try: dirname = kwargs.get('dirname', os.getcwd()) if dirname[-1] != os.sep: dirname += os.sep # test directory is exists or not and raise os.path.realpath(dirname) logger().info('dirname: {0}'.format(dirname)) filename = ''.join([dirname, 'test_file']) while os.path.exists(filename): filename += '_' with open(filename, 'w') as f: f.write('test...') logger().info('successfully wrote: {0}.'.format(filename)) with open(filename, 'r') as f: f.read() logger().info('successfully read: {0}.'.format(filename)) os.remove(filename) except Exception as e: print(kwargs.get('error_msg', '')) required = kwargs.get('required', True) if required: raise e
def dir_sep(self): logger().debug('dir_sep') logger().info(self._DIR_SEP) return self._DIR_SEP
def file_sep(self): logger().debug('file_sep') logger().info(self._FILE_SEP) return self._FILE_SEP
def file_letter_case(self): logger().debug('file_letter_case') logger().info(self._FILE_LETTER_CASE) return self._FILE_LETTER_CASE
def dir_prefix(self): logger().debug('dir_prefix') logger().info(self._DIR_PREFIX) return self._DIR_PREFIX
def dir_suffix(self): logger().debug('dir_suffix') logger().info(self._DIR_SUFFIX) return self._DIR_SUFFIX
def include_files(self): logger().debug('include_files') logger().info(self._INCLUDE_FILES) return self._INCLUDE_FILES
def dir_suffix_mode(self): logger().debug('dir_suffix_mode') logger().info(self._DIR_SUFFIX_MODE) return self._DIR_SUFFIX_MODE
def file_formats(self): logger().debug('file_formats') logger().info(self._FILE_FORMATS) return self._FILE_FORMATS
def error_info_count(self): logger().debug('error_info_count') logger().info(self._error_info_count) return self._error_info_count
def file_prefix_mode(self): logger().debug('file_prefix_mode') logger().info(self._FILE_PREFIX_MODE) return self._FILE_PREFIX_MODE
def file_suffix_mode(self): logger().debug('file_suffix_mode') logger().info(self._FILE_SUFFIX_MODE) return self._FILE_SUFFIX_MODE
def ignore_dirs(self): logger().debug('ignore_dirs') logger().info(self._IGNORE_DIRS) return self._IGNORE_DIRS
def ignore_files(self): logger().debug('ignore_files') logger().info(self._IGNORE_FILES) return self._IGNORE_FILES
def include_dirs(self): logger().debug('include_dirs') logger().info(self._INCLUDE_DIRS) return self._INCLUDE_DIRS
def dir_letter_case(self): logger().debug('dir_letter_case') logger().info(self._DIR_LETTER_CASE) return self._DIR_LETTER_CASE
def dir_prefix_mode(self): logger().debug('dir_prefix_mode') logger().info(self._DIR_PREFIX_MODE) return self._DIR_PREFIX_MODE
def file_prefix(self): logger().debug('file_prefix') logger().info(self._FILE_PREFIX) return self._FILE_PREFIX
def dir_formats(self): logger().debug('dir_formats') logger().info(self._DIR_FORMATS) return self._DIR_FORMATS
def file_suffix(self): logger().debug('file_suffix') logger().info(self._FILE_SUFFIX) return self._FILE_SUFFIX
def error_info(self): logger().debug('error_info:') logger().info(self._error_info) return self._error_info