diff --git a/sphinx/builders/__init__.py b/sphinx/builders/__init__.py index 4c2a16715..8a352d6a1 100644 --- a/sphinx/builders/__init__.py +++ b/sphinx/builders/__init__.py @@ -166,7 +166,7 @@ class Builder(object): catalog.write_mo(self.config.language) def compile_all_catalogs(self): - catalogs = i18n.get_catalogs( + catalogs = i18n.find_catalog_source_files( [path.join(self.srcdir, x) for x in self.config.locale_dirs], self.config.language, gettext_compact=self.config.gettext_compact, @@ -181,7 +181,7 @@ class Builder(object): return dom specified_domains = set(map(to_domain, specified_files)) - catalogs = i18n.get_catalogs( + catalogs = i18n.find_catalog_source_files( [path.join(self.srcdir, x) for x in self.config.locale_dirs], self.config.language, domains=list(specified_domains), @@ -190,7 +190,7 @@ class Builder(object): self.compile_catalogs(catalogs, message) def compile_update_catalogs(self): - catalogs = i18n.get_catalogs( + catalogs = i18n.find_catalog_source_files( [path.join(self.srcdir, x) for x in self.config.locale_dirs], self.config.language, gettext_compact=self.config.gettext_compact) diff --git a/sphinx/locale/__init__.py b/sphinx/locale/__init__.py index db8081516..4847c0845 100644 --- a/sphinx/locale/__init__.py +++ b/sphinx/locale/__init__.py @@ -211,9 +211,8 @@ def init(locale_dirs, language, catalog='sphinx'): # compile mo files if po file is updated # TODO: remove circular importing - from sphinx.util.i18n import get_catalogs - for catinfo in get_catalogs(locale_dirs, language, domains=[catalog], - force_all=False): + from sphinx.util.i18n import find_catalog_source_files + for catinfo in find_catalog_source_files(locale_dirs, language, domains=[catalog]): catinfo.write_mo(language) # loading diff --git a/sphinx/util/i18n.py b/sphinx/util/i18n.py index e83ba4052..78830fca7 100644 --- a/sphinx/util/i18n.py +++ b/sphinx/util/i18n.py @@ -51,8 +51,8 @@ class CatalogInfo(LocaleFileInfoBase): write_mo(mo, read_po(po, locale)) -def get_catalogs(locale_dirs, locale, domains=None, - gettext_compact=False, force_all=False): +def find_catalog_source_files(locale_dirs, locale, domains=None, gettext_compact=False, + force_all=False): """ :param list locale_dirs: list of path as `['locale_dir1', 'locale_dir2', ...]` to find diff --git a/tests/test_util_i18n.py b/tests/test_util_i18n.py index d8f0cd012..c74962fc5 100644 --- a/tests/test_util_i18n.py +++ b/tests/test_util_i18n.py @@ -72,7 +72,7 @@ def test_get_catalogs_for_xx(dir): (dir / 'loc1' / 'xx' / 'LC_ALL').makedirs() (dir / 'loc1' / 'xx' / 'LC_ALL' / 'test7.po').write_text('#') - catalogs = i18n.get_catalogs([dir / 'loc1'], 'xx', force_all=False) + catalogs = i18n.find_catalog_source_files([dir / 'loc1'], 'xx', force_all=False) domains = set(c.domain for c in catalogs) assert domains == set([ 'test1', @@ -89,22 +89,22 @@ def test_get_catalogs_for_en(dir): (dir / 'loc1' / 'en' / 'LC_MESSAGES').makedirs() (dir / 'loc1' / 'en' / 'LC_MESSAGES' / 'en_dom.po').write_text('#') - catalogs = i18n.get_catalogs([dir / 'loc1'], 'en', force_all=False) + catalogs = i18n.find_catalog_source_files([dir / 'loc1'], 'en', force_all=False) domains = set(c.domain for c in catalogs) assert domains == set(['en_dom']) @with_tempdir def test_get_catalogs_with_non_existent_locale(dir): - catalogs = i18n.get_catalogs([dir / 'loc1'], 'xx') + catalogs = i18n.find_catalog_source_files([dir / 'loc1'], 'xx') assert not catalogs - catalogs = i18n.get_catalogs([dir / 'loc1'], None) + catalogs = i18n.find_catalog_source_files([dir / 'loc1'], None) assert not catalogs def test_get_catalogs_with_non_existent_locale_dirs(): - catalogs = i18n.get_catalogs(['dummy'], 'xx') + catalogs = i18n.find_catalog_source_files(['dummy'], 'xx') assert not catalogs @@ -123,10 +123,10 @@ def test_get_catalogs_for_xx_without_outdated(dir): (dir / 'loc1' / 'xx' / 'LC_MESSAGES' / 'sub' / 'test5.po').write_text('#') (dir / 'loc1' / 'xx' / 'LC_MESSAGES' / 'sub' / 'test5.mo').write_text('#') - catalogs = i18n.get_catalogs([dir / 'loc1'], 'xx', force_all=False) + catalogs = i18n.find_catalog_source_files([dir / 'loc1'], 'xx', force_all=False) assert not catalogs - catalogs = i18n.get_catalogs([dir / 'loc1'], 'xx', force_all=True) + catalogs = i18n.find_catalog_source_files([dir / 'loc1'], 'xx', force_all=True) domains = set(c.domain for c in catalogs) assert domains == set([ 'test1', @@ -144,7 +144,7 @@ def test_get_catalogs_from_multiple_locale_dirs(dir): (dir / 'loc2' / 'xx' / 'LC_MESSAGES' / 'test1.po').write_text('#') (dir / 'loc2' / 'xx' / 'LC_MESSAGES' / 'test2.po').write_text('#') - catalogs = i18n.get_catalogs([dir / 'loc1', dir / 'loc2'], 'xx') + catalogs = i18n.find_catalog_source_files([dir / 'loc1', dir / 'loc2'], 'xx') domains = sorted(c.domain for c in catalogs) assert domains == ['test1', 'test1', 'test2'] @@ -158,6 +158,6 @@ def test_get_catalogs_with_compact(dir): (dir / 'loc1' / 'xx' / 'LC_MESSAGES' / 'sub' / 'test3.po').write_text('#') (dir / 'loc1' / 'xx' / 'LC_MESSAGES' / 'sub' / 'test4.po').write_text('#') - catalogs = i18n.get_catalogs([dir / 'loc1'], 'xx', gettext_compact=True) + catalogs = i18n.find_catalog_source_files([dir / 'loc1'], 'xx', gettext_compact=True) domains = set(c.domain for c in catalogs) assert domains == set(['test1', 'test2', 'sub'])