From f86e94c305e2a82fc66eab0bdae18ae8e063304d Mon Sep 17 00:00:00 2001 From: Parag Nemade Date: Fri, 22 Apr 2016 19:42:39 +0530 Subject: [PATCH] Resolves:rh#1263241 - Add parser for Release_Notes packages --- langpacks.py | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/langpacks.py b/langpacks.py index 2e162a0..9b235b7 100644 --- a/langpacks.py +++ b/langpacks.py @@ -94,7 +94,10 @@ def read_available_langpacks (base = None): yb = base srchpkglist = [] - skip_pkg_list = ['devel', 'browser', 'debuginfo', 'music', 'overrides', 'Brazil', 'British', 'Farsi', 'LowSaxon', 'cs_CZ'] + skip_pkg_list = ['devel', 'browser', 'debuginfo', 'music', 'overrides', + 'Brazil', 'British', 'Farsi', 'LowSaxon', 'cs_CZ', + 'mysql', 'common', 'examples', 'ibase', 'odbc', + 'postgresql', 'static'] langlist = [] seen = set() @@ -316,7 +319,11 @@ def get_matches_from_repo(langpack_pkgs, lang): if lang.find("_") != -1: mainlang = lang[0:lang.find("_")] if lang.find("_CN") != -1 and pkgs.find("-CN") != -1: - avl_langpack_pkgs.append(pkgs) + # this check to ensure Release_notes package + # not listed twice for langinfo of zh_CN + # only show man-pages-zh-CN + if pkgs.find("man-pages") != -1: + avl_langpack_pkgs.append(pkgs) if pkgs.find(lang, len(pkgs)-len(lang), len(pkgs)) > 0: avl_langpack_pkgs.append(pkgs) # if input pt_BR then show for pt and pt_BR @@ -627,13 +634,40 @@ class LanginfoCommand: # Case to handle input like zh_CN, pt_BR elif lang in whitelisted_locales and len(lang) > 3 and lang.find("_") != -1: list_pkgs = get_matches_from_repo(langpack_pkgs, lang) + # check RHEL7 release notes package + if lang.find("pt_BR") != -1: + relnotpkg = "Red_Hat_Enterprise_Linux-Release_Notes-7-" + "pt-BR" + if lang.find("zh_CN") != -1: + relnotpkg = "Red_Hat_Enterprise_Linux-Release_Notes-7-" + "zh-CN" + if lang.find("zh_TW") != -1: + relnotpkg = "Red_Hat_Enterprise_Linux-Release_Notes-7-" + "zh-TW" + for pkg in langpack_pkgs: + if pkg.find(relnotpkg) != -1: + list_pkgs.append(pkg) + break # Case for full language name input like Japanese elif len(lang) > 3 and lang.find("_") == -1: + if len(langname_to_lc(lang)) == 0: + print "Not a valid language name" + return 0, [""] + list_pkgs = get_matches_from_repo(langpack_pkgs, langname_to_lc(lang)) + # check RHEL7 release notes package + relnotpkg = "Red_Hat_Enterprise_Linux-Release_Notes-7-" + langname_to_lc(lang) + for pkg in langpack_pkgs: + if pkg.find(relnotpkg) != -1: + list_pkgs.append(pkg) + break # General case to handle input like ja, ru, fr, it else: if lang.find("_") == -1: list_pkgs = get_matches_from_repo(langpack_pkgs, lang) + # check RHEL7 release notes package + relnotpkg = "Red_Hat_Enterprise_Linux-Release_Notes-7-" + lang + for pkg in langpack_pkgs: + if pkg.find(relnotpkg) != -1: + list_pkgs.append(pkg) + break # Case to not process mr_IN or mai_IN locales else: list_pkgs = [] -- 1.8.3.1