Ejemplo 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)
Ejemplo n.º 2
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'])
Ejemplo 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'])
Ejemplo n.º 4
0
 def setUp(self):
     self.parser = DesktopParser()
     self.parser.add_section('Section')
Ejemplo n.º 5
0
class TestDesktopParser(unittest.TestCase):
    def setUp(self):
        self.parser = DesktopParser()
        self.parser.add_section('Section')

    def testList(self):
        self.parser.set_string_list('Section', 'Foo', ['A', 'B', 'C'])
        self.assertEqual(self.parser.get_string_list('Section', 'Foo'),
                         ['A', 'B', 'C'])

        self.parser.set_integer_list('Section', 'Bar', [1, 2, 3])
        self.assertEqual(self.parser.get_integer_list('Section', 'Bar'),
                         [1, 2, 3])

        self.parser.set_boolean_list('Section', 'Bar', [True, False])
        self.assertEqual(self.parser.get_boolean_list('Section', 'Bar'),
                         [True, False])

    def testLocale(self):
        self.parser.set_locale('Section', 'Foo', 'sv', 'Apa')
        self.assertEqual(self.parser.get_locale('Section', 'Foo', 'sv'), 'Apa')

        self.parser.set_string_list_locale('Section', 'Foo', 'sv',
                                           ['å', 'ä', 'ö'])
        self.assertEqual(
            self.parser.get_string_list_locale('Section', 'Foo', 'sv'),
            ['å', 'ä', 'ö'])

    def testListSeparator(self):
        self.parser.set('Section', 'Comma', '1,2,3')
        self.assertEqual(self.parser.get_string_list('Section', 'Comma'),
                         ['1,2,3'])
        self.parser.set_list_separator(',')
        self.assertEqual(self.parser.get_string_list('Section', 'Comma'),
                         ['1', '2', '3'])
Ejemplo n.º 6
0
 def setUp(self):
     self.parser = DesktopParser()
     self.parser.readfp(StringIO.StringIO(desktop_data))
Ejemplo n.º 7
0
 def _register_plugin_description(self, filename):
     dp = DesktopParser()
     dp.read(filename)
     desc = PluginDescription(dp, filename)
     self._plugin_descriptions[desc.name] = desc
Ejemplo n.º 8
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.filename = filename

        if config.has_option('Plugin', 'Dependencies'):
            self.dependencies = [
                unicode(dependency.strip()) for dependency in config.get(
                    'Plugin', 'Dependencies').split(',')
            ]
        else:
            self.dependencies = []

        if config.has_option('Plugin', 'Replaces'):
            self.replaces = [
                unicode(replace.strip())
                for replace in config.get('Plugin', 'Replaces').split(',')
            ]
        else:
            self.replaces = []

        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)
Ejemplo n.º 9
0
 def _register_plugin_description(self, filename):
     dp = DesktopParser()
     dp.read(filename)
     desc = PluginDescription(dp, filename)
     self._plugin_descriptions[desc.name] = desc
Ejemplo n.º 10
0
 def setUp(self):
     self.parser = DesktopParser()
     self.parser.add_section('Section')
Ejemplo n.º 11
0
class TestDesktopParser(unittest.TestCase):
    def setUp(self):
        self.parser = DesktopParser()
        self.parser.add_section('Section')

    def testList(self):
        self.parser.set_string_list('Section', 'Foo', ['A', 'B', 'C'])
        self.assertEqual(
            self.parser.get_string_list('Section', 'Foo'),
            ['A', 'B', 'C'])

        self.parser.set_integer_list('Section', 'Bar', [1, 2, 3])
        self.assertEqual(
            self.parser.get_integer_list('Section', 'Bar'),
            [1, 2, 3])

        self.parser.set_boolean_list('Section', 'Bar', [True, False])
        self.assertEqual(
            self.parser.get_boolean_list('Section', 'Bar'),
            [True, False])

    def testLocale(self):
        self.parser.set_locale(
            'Section', 'Foo', 'sv', 'Apa')
        self.assertEqual(
            self.parser.get_locale('Section', 'Foo', 'sv'),
            'Apa')

        self.parser.set_string_list_locale(
            'Section', 'Foo', 'sv', ['å', 'ä', 'ö'])
        self.assertEqual(
            self.parser.get_string_list_locale('Section', 'Foo', 'sv'),
            ['å', 'ä', 'ö'])

    def testListSeparator(self):
        self.parser.set('Section', 'Comma', '1,2,3')
        self.assertEqual(
            self.parser.get_string_list('Section', 'Comma'),
            ['1,2,3'])
        self.parser.set_list_separator(',')
        self.assertEqual(
            self.parser.get_string_list('Section', 'Comma'),
            ['1', '2', '3'])
Ejemplo n.º 12
0
 def setUp(self):
     self.parser = DesktopParser()
     self.parser.readfp(StringIO.StringIO(desktop_data))