[PATCH] DNFPayload: Add languageGroups().

Ales Kozumplik akozumpl at redhat.com
Wed Mar 12 15:14:31 UTC 2014


From: Ales Kozumplik <ales at redhat.com>

---
 pyanaconda/packaging/dnfpayload.py | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/pyanaconda/packaging/dnfpayload.py b/pyanaconda/packaging/dnfpayload.py
index 8a91af5..23c8623 100644
--- a/pyanaconda/packaging/dnfpayload.py
+++ b/pyanaconda/packaging/dnfpayload.py
@@ -33,6 +33,7 @@ import operator
 import pyanaconda.constants as constants
 import pyanaconda.errors as errors
 import pyanaconda.iutil
+import pyanaconda.localization
 import pyanaconda.packaging as packaging
 import sys
 import time
@@ -515,6 +516,18 @@ class DNFPayload(packaging.PackagePayload):
         except (dnf.exceptions.RepoError, KeyError):
             return super(DNFPayload, self).isRepoEnabled(repo_id)
 
+    def languageGroups(self):
+        locales = [self.data.lang.lang] + self.data.lang.addsupport
+        match_fn = pyanaconda.localization.langcode_matches_locale
+        gids = set()
+        gl_tuples = ((g.id, g.lang_only) for g in self._base.comps.groups_iter())
+        for (gid, lang) in gl_tuples:
+            for locale in locales:
+                if match_fn(lang, locale):
+                    gids.add(gid)
+        log.info('languageGroups: %s', gids)
+        return list(gids)
+
     def preInstall(self, packages=None, groups=None):
         super(DNFPayload, self).preInstall()
         self._required_pkgs = packages
-- 
1.8.5.3



More information about the anaconda-patches mailing list