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)
def setUp(self): self.parser = DesktopParser() self.parser.add_section('Section')
def setUp(self): self.parser = DesktopParser() self.parser.readfp(StringIO.StringIO(desktop_data))
def _register_plugin_description(self, filename): dp = DesktopParser() dp.read(filename) desc = PluginDescription(dp, filename) self._plugin_descriptions[desc.name] = desc