def delete_plugin(self, plugin): plugin.deactivate() self.component_manager.unregister(plugin) plugin_dir = os.path.join(self.config().data_dir, "plugins") manifest_filename = os.path.join(plugin_dir, plugin.__class__.__name__ + ".manifest") manifest = file(manifest_filename, "r") plugin_dir = os.path.join(self.config().data_dir, "plugins") for filename in manifest: filename = os.path.join(plugin_dir, filename.rstrip()) os.remove(filename) if filename.endswith(".py") and os.path.exists(filename + "c"): os.remove(filename + "c") manifest.close() del plugin os.remove(manifest_filename) remove_empty_dirs_in(plugin_dir)
def delete_unused_media_files(self, unused_files): """Delete media files which are no longer in use. 'unused_files' should be a subset of 'self.unused_media_files', because here we no longer check if these media files are used or not. """ for filename in unused_files: os.remove(expand_path(filename, self.media_dir())) self.log().deleted_media_file(filename) # Purge empty dirs. for root, dirnames, filenames in os.walk(self.media_dir(), topdown=False): contracted_root = contract_path(root, self.media_dir()) if not contracted_root or contracted_root.startswith("_"): continue if len(filenames) == 0 and len(dirnames) == 0: os.rmdir(root) # Other media files, e.g. latex. for f in self.component_manager.all("hook", "delete_unused_media_files"): f.run() remove_empty_dirs_in(self.media_dir())
def delete_unused_media_files(self, unused_files): """Delete media files which are no longer in use. 'unused_files' should be a subset of 'self.unused_media_files', because here we no longer check if these media files are used or not. """ for filename in unused_files: os.remove(expand_path(filename, self.media_dir())) self.log().deleted_media_file(filename) # Purge empty dirs. for root, dirnames, filenames in \ os.walk(self.media_dir(), topdown=False): contracted_root = contract_path(root, self.media_dir()) if not contracted_root or contracted_root.startswith("_"): continue if len(filenames) == 0 and len(dirnames) == 0: os.rmdir(root) # Other media files, e.g. latex. for f in self.component_manager.all("hook", "delete_unused_media_files"): f.run() remove_empty_dirs_in(self.media_dir())