Exemplo n.º 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)
Exemplo n.º 2
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)
Exemplo n.º 3
0
class TestTotem(unittest.TestCase):
    def setUp(self):
        self.parser = DesktopParser()
        self.parser.readfp(StringIO.StringIO(desktop_data))

    def test(self):
        self.assertEqual(self.parser.get('Desktop Entry', 'Name'),
                         'Totem Movie Player')
        self.assertEqual(self.parser.get_locale('Desktop Entry', 'Name', 'pt'),
                         'Reprodutor de Filmes Totem')
        self.assertEqual(self.parser.get_locale('Desktop Entry', 'Name', 'sv'),
                         'Filmspelaren Totem')
        self.assertEqual(
            self.parser.get_string_list('Desktop Entry', 'Categories'),
            ['GNOME', 'Application', 'AudioVideo'])
Exemplo n.º 4
0
class TestTotem(unittest.TestCase):
    def setUp(self):
        self.parser = DesktopParser()
        self.parser.readfp(StringIO.StringIO(desktop_data))

    def test(self):
        self.assertEqual(self.parser.get('Desktop Entry', 'Name'),
                         'Totem Movie Player')
        self.assertEqual(self.parser.get_locale(
            'Desktop Entry', 'Name', 'pt'), 'Reprodutor de Filmes Totem')
        self.assertEqual(self.parser.get_locale(
            'Desktop Entry', 'Name', 'sv'), 'Filmspelaren Totem')
        self.assertEqual(
            self.parser.get_string_list('Desktop Entry', 'Categories'),
            ['GNOME', 'Application', 'AudioVideo'])