def test_lists_content_pot_files_in_respective_group(self):
        fshelpers.create_structure(
            self.tempdir, {
                u'foo/bar/locales/en/LC_MESSAGES/foo.po': u'',
                u'foo/bar/locales/foo.pot': u'',
                u'foo/bar/locales/bar.pot': u'',
                u'foo/bar/locales/foo-content.pot': u'',
            })

        self.assertItemsEqual([{
            u'domain': u'foo',
            u'package': u'foo',
            u'locales': u'bar/locales',
            u'pot': u'bar/locales/foo.pot',
            u'manual': None,
            u'content': u'bar/locales/foo-content.pot',
            u'languages': {
                u'en': u'bar/locales/en/LC_MESSAGES/foo.po'
            }
        }, {
            u'domain': u'bar',
            u'package': u'foo',
            u'locales': u'bar/locales',
            u'pot': u'bar/locales/bar.pot',
            u'manual': None,
            u'content': None,
            u'languages': {},
        }], discovery.discover(self.tempdir))
    def test_discovers_multiple_domains_in_same_package(self):
        fshelpers.create_structure(self.tempdir, {
                u'foo/foo/locales/en/LC_MESSAGES/foo.po': u'',
                u'foo/foo/locales/de/LC_MESSAGES/foo.po': u'',
                u'foo/foo/locales/de/LC_MESSAGES/bar.po': u'',
                u'foo/foo/locales/foo.pot': u'',
                u'foo/foo/locales/bar.pot': u'',
                })

        self.assertItemsEqual(
            [{u'domain': u'bar',
              u'package': u'foo',
              u'locales': u'foo/locales',
              u'pot': u'foo/locales/bar.pot',
              u'manual': None,
              u'content': None,
              u'languages': {
                        u'de': u'foo/locales/de/LC_MESSAGES/bar.po'}},

             {u'domain': u'foo',
              u'package': u'foo',
              u'locales': u'foo/locales',
              u'pot': u'foo/locales/foo.pot',
              u'manual': None,
              u'content': None,
              u'languages': {
                        u'de': u'foo/locales/de/LC_MESSAGES/foo.po',
                        u'en': u'foo/locales/en/LC_MESSAGES/foo.po'}}],

            discovery.discover(self.tempdir))
    def test_discovers_multiple_domains_in_same_package(self):
        fshelpers.create_structure(
            self.tempdir, {
                u'foo/foo/locales/en/LC_MESSAGES/foo.po': u'',
                u'foo/foo/locales/de/LC_MESSAGES/foo.po': u'',
                u'foo/foo/locales/de/LC_MESSAGES/bar.po': u'',
                u'foo/foo/locales/foo.pot': u'',
                u'foo/foo/locales/bar.pot': u'',
            })

        self.assertItemsEqual([{
            u'domain': u'bar',
            u'package': u'foo',
            u'locales': u'foo/locales',
            u'pot': u'foo/locales/bar.pot',
            u'manual': None,
            u'content': None,
            u'languages': {
                u'de': u'foo/locales/de/LC_MESSAGES/bar.po'
            }
        }, {
            u'domain': u'foo',
            u'package': u'foo',
            u'locales': u'foo/locales',
            u'pot': u'foo/locales/foo.pot',
            u'manual': None,
            u'content': None,
            u'languages': {
                u'de': u'foo/locales/de/LC_MESSAGES/foo.po',
                u'en': u'foo/locales/en/LC_MESSAGES/foo.po'
            }
        }], discovery.discover(self.tempdir))
    def test_lists_content_pot_files_in_respective_group(self):
        fshelpers.create_structure(self.tempdir, {
                u'foo/bar/locales/en/LC_MESSAGES/foo.po': u'',
                u'foo/bar/locales/foo.pot': u'',
                u'foo/bar/locales/bar.pot': u'',
                u'foo/bar/locales/foo-content.pot': u'',
                })

        self.assertItemsEqual(
            [{u'domain': u'foo',
              u'package': u'foo',
              u'locales': u'bar/locales',
              u'pot': u'bar/locales/foo.pot',
              u'manual': None,
              u'content': u'bar/locales/foo-content.pot',
              u'languages': {
                        u'en': u'bar/locales/en/LC_MESSAGES/foo.po'}},

             {u'domain': u'bar',
              u'package': u'foo',
              u'locales': u'bar/locales',
              u'pot': u'bar/locales/bar.pot',
              u'manual': None,
              u'content': None,
              u'languages': {},
              }],

            discovery.discover(self.tempdir))
Exemplo n.º 5
0
def load_translation_catalog(sources_directory):
    catalog = Catalog()

    for group in discover(sources_directory):
        update_catalog_with_language_translations(sources_directory, catalog,
                                                  group)

    return catalog
    def test_i18n_directory_is_not_supported(self):
        fshelpers.create_structure(self.tempdir, {
                u'foo/foo/i18n/foo-de.po': u'',
                })

        self.assertItemsEqual(
            [],

            discovery.discover(self.tempdir))
Exemplo n.º 7
0
def load_translation_catalog(sources_directory):
    catalog = Catalog()

    for group in discover(sources_directory):
        update_catalog_with_language_translations(sources_directory,
                                                  catalog,
                                                  group)

    return catalog
    def test_translations_without_pot_file(self):
        fshelpers.create_structure(self.tempdir, {
                u'foo/foo/locales/en/LC_MESSAGES/foo.po': u'',
                })

        self.assertItemsEqual(
            [{u'domain': u'foo',
              u'package': u'foo',
              u'locales': u'foo/locales',
              u'pot': None,
              u'manual': None,
              u'content': None,
              u'languages': {
                        u'en': u'foo/locales/en/LC_MESSAGES/foo.po'}}],

            discovery.discover(self.tempdir))
    def test_translations_without_pot_file(self):
        fshelpers.create_structure(
            self.tempdir, {
                u'foo/foo/locales/en/LC_MESSAGES/foo.po': u'',
            })

        self.assertItemsEqual([{
            u'domain': u'foo',
            u'package': u'foo',
            u'locales': u'foo/locales',
            u'pot': None,
            u'manual': None,
            u'content': None,
            u'languages': {
                u'en': u'foo/locales/en/LC_MESSAGES/foo.po'
            }
        }], discovery.discover(self.tempdir))
Exemplo n.º 10
0
    def test_discovers_translations_in_locales_directories(self):
        fshelpers.create_structure(
            self.tempdir, {
                u'foo.bar/foo/bar/locales/en/LC_MESSAGES/foo.bar.po': u'',
                u'foo.bar/foo/bar/locales/de/LC_MESSAGES/foo.bar.po': u'',
                u'foo.bar/foo/bar/locales/foo.bar.pot': u''
            })

        self.assertItemsEqual([{
            u'domain': u'foo.bar',
            u'package': u'foo.bar',
            u'locales': u'foo/bar/locales',
            u'pot': u'foo/bar/locales/foo.bar.pot',
            u'manual': None,
            u'content': None,
            u'languages': {
                u'de': u'foo/bar/locales/de/LC_MESSAGES/foo.bar.po',
                u'en': u'foo/bar/locales/en/LC_MESSAGES/foo.bar.po'
            }
        }], discovery.discover(self.tempdir))
    def test_discovers_translations_in_locales_directories(self):
        fshelpers.create_structure(self.tempdir, {
                u'foo.bar/foo/bar/locales/en/LC_MESSAGES/foo.bar.po': u'',
                u'foo.bar/foo/bar/locales/de/LC_MESSAGES/foo.bar.po': u'',
                u'foo.bar/foo/bar/locales/foo.bar.pot': u''})


        self.assertItemsEqual(
            [{u'domain': u'foo.bar',
              u'package': u'foo.bar',
              u'locales': u'foo/bar/locales',
              u'pot': u'foo/bar/locales/foo.bar.pot',
              u'manual': None,
              u'content': None,
              u'languages': {
                        u'de': u'foo/bar/locales/de/LC_MESSAGES/foo.bar.po',
                        u'en': u'foo/bar/locales/en/LC_MESSAGES/foo.bar.po'}}
             ],

            discovery.discover(self.tempdir))
    def test_second_locales_directory_in_subpackage(self):
        fshelpers.create_structure(self.tempdir, {
                u'foo/bar/locales/en/LC_MESSAGES/foo.po': u'',
                u'foo/bar/locales/foo.pot': u'',
                u'foo/bar/locales/bar.pot': u'',
                u'foo/bar/locales/foo-content.pot': u'',
                u'foo/bar/subpackage/locales/bar.pot': u'',
                u'foo/bar/subpackage/locales/foo-content.pot': u'',
                })

        self.assertItemsEqual(
            [{u'domain': u'foo',
              u'package': u'foo',
              u'locales': u'bar/locales',
              u'pot': u'bar/locales/foo.pot',
              u'manual': None,
              u'content': u'bar/locales/foo-content.pot',
              u'languages': {
                        u'en': u'bar/locales/en/LC_MESSAGES/foo.po'}},

             {u'domain': u'bar',
              u'package': u'foo',
              u'locales': u'bar/locales',
              u'pot': u'bar/locales/bar.pot',
              u'manual': None,
              u'content': None,
              u'languages': {},
              },

             {u'domain': u'bar',
              u'package': u'foo',
              u'locales': u'bar/subpackage/locales',
              u'pot': u'bar/subpackage/locales/bar.pot',
              u'manual': None,
              u'content': None,
              u'languages': {},
              }],

            discovery.discover(self.tempdir))
Exemplo n.º 13
0
def sync_pofiles(sources_directory, languages):
    for group in discovery.discover(sources_directory):
        if not group['pot']:
            continue

        sync_pofile_group(sources_directory, group, languages)
Exemplo n.º 14
0
    def test_i18n_directory_is_not_supported(self):
        fshelpers.create_structure(self.tempdir, {
            u'foo/foo/i18n/foo-de.po': u'',
        })

        self.assertItemsEqual([], discovery.discover(self.tempdir))
Exemplo n.º 15
0
 def _discover_domains(self):
     result = {}
     for group in discover(self.sources_directory):
         key = (group['package'], group['domain'])
         result[key] = group
     return result
Exemplo n.º 16
0
 def _discover_domains(self):
     result = {}
     for group in discover(self.sources_directory):
         key = (group['package'], group['domain'])
         result[key] = group
     return result
Exemplo n.º 17
0
def sync_pofiles(sources_directory, languages):
    for group in discovery.discover(sources_directory):
        if not group['pot']:
            continue

        sync_pofile_group(sources_directory, group, languages)