Пример #1
0
 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)
Пример #2
0
    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())
Пример #3
0
    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())