我们从Python开源项目中,提取了以下5个代码示例,用于说明如何使用xbmcvfs.rmdir()。
def _del_path(self, path): common.addon.log('Attempting to remove folder: %s' % path, 0) if xbmcvfs.exists(path): try: common.addon.log('Removing folder: %s' % path, 0) try: dirs, files = xbmcvfs.listdir(path) for file in files: xbmcvfs.delete(os.path.join(path, file)) success = xbmcvfs.rmdir(path) if success == 0: raise except Exception, e: try: common.addon.log('Failed to delete path using xbmcvfs: %s' % e, 4) common.addon.log('Attempting to remove with shutil: %s' % path, 0) shutil.rmtree(path) except: raise except Exception, e: common.addon.log('Failed to delete path: %s' % e, 4) return False else: common.addon.log('Folder does not exist: %s' % path)
def recursive_delete_dir(fullpath): '''helper to recursively delete a directory''' success = True if not isinstance(fullpath, unicode): fullpath = fullpath.decode("utf-8") dirs, files = xbmcvfs.listdir(fullpath) for file in files: file = file.decode("utf-8") success = xbmcvfs.delete(os.path.join(fullpath, file)) for directory in dirs: directory = directory.decode("utf-8") success = recursive_delete_dir(os.path.join(fullpath, directory)) success = xbmcvfs.rmdir(fullpath) return success
def remove_movie(self, title, year): """Removes the DB entry & the strm file for the movie given Parameters ---------- title : :obj:`str` Title of the movie year : :obj:`int` Release year of the movie Returns ------- bool Delete successfull """ title = re.sub(r'[?|$|!|:|#]', r'', title) movie_meta = '%s (%d)' % (title, year) folder = re.sub( pattern=r'[?|$|!|:|#]', repl=r'', string=self.db[self.movies_label][movie_meta]['alt_title']) progress = xbmcgui.DialogProgress() progress.create(self.kodi_helper.get_local_string(1210), movie_meta) progress.update(50) time.sleep(0.5) del self.db[self.movies_label][movie_meta] self._update_local_db(filename=self.db_filepath, db=self.db) dirname = self.kodi_helper.check_folder_path( path=os.path.join(self.movie_path, folder)) filename = os.path.join(self.movie_path, folder, movie_meta + '.strm') if xbmcvfs.exists(dirname): xbmcvfs.delete(filename) xbmcvfs.rmdir(dirname) return True return False time.sleep(1) progress.close()
def deleteDir(dir): if xbmcvfs.exists(dir): files=xbmcvfs.listdir(dir) if len(files)==2: xbmcvfs.rmdir(dir)
def remove_show(self, title): """Removes the DB entry & the strm files for the show given Parameters ---------- title : :obj:`str` Title of the show Returns ------- bool Delete successfull """ title = re.sub(r'[?|$|!|:|#]', r'', title) label = self.series_label rep_str = self.db[label][title]['alt_title'].encode('utf-8') folder = re.sub( pattern=r'[?|$|!|:|#]', repl=r'', string=rep_str) progress = xbmcgui.DialogProgress() progress.create(self.kodi_helper.get_local_string(1210), title) time.sleep(0.5) del self.db[self.series_label][title] self._update_local_db(filename=self.db_filepath, db=self.db) show_dir = self.kodi_helper.check_folder_path( path=os.path.join(self.tvshow_path, folder)) if xbmcvfs.exists(show_dir): show_files = xbmcvfs.listdir(show_dir)[1] episode_count_total = len(show_files) step = round(100.0 / episode_count_total, 1) percent = 100 - step for filename in show_files: progress.update(int(percent)) xbmcvfs.delete(os.path.join(show_dir, filename)) percent = percent - step time.sleep(0.05) xbmcvfs.rmdir(show_dir) return True return False time.sleep(1) progress.close()