Example #1
0
    def __init__(self, filename, is_egg=False):
        config = DesktopParser()
        if is_egg:
            self.plugin_path = filename
            msg = "%s is not a valid egg file" % filename
            assert is_zipfile(filename), msg
            with ZipFile(filename, "r") as egg:
                filename = [f for f in egg.namelist()
                            if f.endswith('plugin')][0]
                plugin_file = egg.open(filename)
                config.readfp(plugin_file)
        else:
            plugin_path = os.path.dirname(os.path.dirname(filename))
            self.plugin_path = plugin_path
            config.read(filename)

        self.name = unicode(os.path.basename(filename).split('.')[0])
        self.entry = config.get('Plugin', 'Module')
        self.dependencies = []
        if config.has_option('Plugin', 'Dependencies'):
            dependencies = config.get('Plugin', 'Dependencies').split(',')
            for dependency in dependencies:
                self.dependencies.append(unicode(dependency.strip()))
        self.filename = filename

        settings = get_settings()
        lang = settings.get('user-locale', None)
        if not lang:
            lang = get_system_locale()

        self.long_name = config.get_locale('Plugin', 'Name', lang)
        self.description = config.get_locale('Plugin', 'Description', lang)
Example #2
0
 def setUp(self):
     self.parser = DesktopParser()
     self.parser.add_section('Section')
Example #3
0
 def setUp(self):
     self.parser = DesktopParser()
     self.parser.readfp(StringIO.StringIO(desktop_data))
Example #4
0
 def _register_plugin_description(self, filename):
     dp = DesktopParser()
     dp.read(filename)
     desc = PluginDescription(dp, filename)
     self._plugin_descriptions[desc.name] = desc