FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Redhat > Fedora User

 
 
LinkBack Thread Tools
 
Old 04-06-2011, 05:13 PM
Chris Lumens
 
Default If we change language during Python, build the new locale files.

We hit this on DVD installs (or if nopass is provided) since we completely
skip loader's language selection screen.
---
anaconda | 1 +
pyanaconda/iw/language_gui.py | 1 +
pyanaconda/kickstart.py | 1 +
pyanaconda/language.py | 20 +++++++++++++++++++-
pyanaconda/textw/language_text.py | 1 +
5 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/anaconda b/anaconda
index 94d6306..36242cb 100755
--- a/anaconda
+++ b/anaconda
@@ -883,6 +883,7 @@ if __name__ == "__main__":
opts.lang = opts.lang.replace(".utf8", ".UTF-8")
anaconda.dispatch.skipStep("language", permanent = 1)
anaconda.instLanguage.instLang = opts.lang
+ anaconda.instLanguage.buildLocale()
anaconda.instLanguage.systemLang = opts.lang
anaconda.timezone.setTimezoneInfo(anaconda.instLan guage.getDefaultTimeZone(anaconda.rootPath))

diff --git a/pyanaconda/iw/language_gui.py b/pyanaconda/iw/language_gui.py
index ef7124f..7bc771e 100644
--- a/pyanaconda/iw/language_gui.py
+++ b/pyanaconda/iw/language_gui.py
@@ -50,6 +50,7 @@ class LanguageWindow (InstallWindow):

self.instLang.instLang = self.lang
self.instLang.systemLang = self.lang
+ self.instLang.buildLocale()
anaconda.timezone.setTimezoneInfo(anaconda.instLan guage.getDefaultTimeZone(anaconda.rootPath))
self.ics.getICW().setLanguage()

diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py
index cf14899..764b940 100644
--- a/pyanaconda/kickstart.py
+++ b/pyanaconda/kickstart.py
@@ -433,6 +433,7 @@ class Lang(commands.lang.FC3_Lang):
def execute(self):
self.anaconda.instLanguage.instLang = self.lang
self.anaconda.instLanguage.systemLang = self.lang
+ self.anaconda.instLanguage.buildLocale()
self.anaconda.ksdata.skipSteps.append("language")

class LogVolData(commands.logvol.F15_LogVolData):
diff --git a/pyanaconda/language.py b/pyanaconda/language.py
index 4de330c..2db6e4f 100644
--- a/pyanaconda/language.py
+++ b/pyanaconda/language.py
@@ -21,6 +21,7 @@
#

import os
+import re
import string
import locale

@@ -31,8 +32,13 @@ import system_config_keyboard.keyboard as keyboard
import logging
log = logging.getLogger("anaconda")

+def langComponents(astring):
+ pattern = re.compile("(?P<language>[A-Za-z]+)(_(?P<territory>[A-Za-z]+))?(.(?P<codeset>[-w]+))?(@(?P<modifier>[-w]+))?")
+ m = pattern.match(astring)
+ return m.groupdict()
+
# Converts a single language into a "language search path". For example,
-# fr_FR.utf8@euro would become "fr_FR.utf8@eueo fr_FR.utf8 fr_FR fr"
+# fr_FR.utf8@euro would become "fr_FR.utf8@euro fr_FR.utf8 fr_FR fr"
def expandLangs(astring):
langs = [astring]
charset = None
@@ -200,6 +206,18 @@ class Language(object):
def available(self):
return self.nativeLangNames.keys()

+ def buildLocale(self):
+ import iutil
+
+ c = langComponents(self._instLang)
+ locale_p = c["language"]
+ if c["territory"]:
+ locale_p += "_" + c["territory"]
+ if c["modifier"]:
+ locale_p += "@" + c["modifier"]
+
+ iutil.execWithRedirect("localedef", ["-i", locale_p, "-f", c["codeset"] or "UTF-8", self._instLang])
+
def dracutSetupString(self):
args=""

diff --git a/pyanaconda/textw/language_text.py b/pyanaconda/textw/language_text.py
index 7cb86e8..1a36535 100644
--- a/pyanaconda/textw/language_text.py
+++ b/pyanaconda/textw/language_text.py
@@ -63,6 +63,7 @@ class LanguageWindow:

anaconda.instLanguage.instLang = choice
anaconda.instLanguage.systemLang = choice
+ anaconda.instLanguage.buildLocale()
anaconda.timezone.setTimezoneInfo(anaconda.instLan guage.getDefaultTimeZone(anaconda.rootPath))

anaconda.intf.drawFrame()
--
1.7.4.1

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
 
Old 04-06-2011, 08:10 PM
Chris Lumens
 
Default If we change language during Python, build the new locale files.

We hit this on DVD installs (or if nopass is provided) since we completely
skip loader's language selection screen.
---
anaconda | 1 +
pyanaconda/iw/language_gui.py | 1 +
pyanaconda/kickstart.py | 1 +
pyanaconda/language.py | 20 +++++++++++++++++++-
pyanaconda/textw/language_text.py | 1 +
5 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/anaconda b/anaconda
index 32f6c0f..067750d 100755
--- a/anaconda
+++ b/anaconda
@@ -883,6 +883,7 @@ if __name__ == "__main__":
opts.lang = opts.lang.replace(".utf8", ".UTF-8")
anaconda.dispatch.skipStep("language", permanent = 1)
anaconda.instLanguage.instLang = opts.lang
+ anaconda.instLanguage.buildLocale()
anaconda.instLanguage.systemLang = opts.lang
anaconda.timezone.setTimezoneInfo(anaconda.instLan guage.getDefaultTimeZone(anaconda.rootPath))

diff --git a/pyanaconda/iw/language_gui.py b/pyanaconda/iw/language_gui.py
index ef7124f..7bc771e 100644
--- a/pyanaconda/iw/language_gui.py
+++ b/pyanaconda/iw/language_gui.py
@@ -50,6 +50,7 @@ class LanguageWindow (InstallWindow):

self.instLang.instLang = self.lang
self.instLang.systemLang = self.lang
+ self.instLang.buildLocale()
anaconda.timezone.setTimezoneInfo(anaconda.instLan guage.getDefaultTimeZone(anaconda.rootPath))
self.ics.getICW().setLanguage()

diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py
index cf14899..764b940 100644
--- a/pyanaconda/kickstart.py
+++ b/pyanaconda/kickstart.py
@@ -433,6 +433,7 @@ class Lang(commands.lang.FC3_Lang):
def execute(self):
self.anaconda.instLanguage.instLang = self.lang
self.anaconda.instLanguage.systemLang = self.lang
+ self.anaconda.instLanguage.buildLocale()
self.anaconda.ksdata.skipSteps.append("language")

class LogVolData(commands.logvol.F15_LogVolData):
diff --git a/pyanaconda/language.py b/pyanaconda/language.py
index 4de330c..2db6e4f 100644
--- a/pyanaconda/language.py
+++ b/pyanaconda/language.py
@@ -21,6 +21,7 @@
#

import os
+import re
import string
import locale

@@ -31,8 +32,13 @@ import system_config_keyboard.keyboard as keyboard
import logging
log = logging.getLogger("anaconda")

+def langComponents(astring):
+ pattern = re.compile("(?P<language>[A-Za-z]+)(_(?P<territory>[A-Za-z]+))?(.(?P<codeset>[-w]+))?(@(?P<modifier>[-w]+))?")
+ m = pattern.match(astring)
+ return m.groupdict()
+
# Converts a single language into a "language search path". For example,
-# fr_FR.utf8@euro would become "fr_FR.utf8@eueo fr_FR.utf8 fr_FR fr"
+# fr_FR.utf8@euro would become "fr_FR.utf8@euro fr_FR.utf8 fr_FR fr"
def expandLangs(astring):
langs = [astring]
charset = None
@@ -200,6 +206,18 @@ class Language(object):
def available(self):
return self.nativeLangNames.keys()

+ def buildLocale(self):
+ import iutil
+
+ c = langComponents(self._instLang)
+ locale_p = c["language"]
+ if c["territory"]:
+ locale_p += "_" + c["territory"]
+ if c["modifier"]:
+ locale_p += "@" + c["modifier"]
+
+ iutil.execWithRedirect("localedef", ["-i", locale_p, "-f", c["codeset"] or "UTF-8", self._instLang])
+
def dracutSetupString(self):
args=""

diff --git a/pyanaconda/textw/language_text.py b/pyanaconda/textw/language_text.py
index 7cb86e8..1a36535 100644
--- a/pyanaconda/textw/language_text.py
+++ b/pyanaconda/textw/language_text.py
@@ -63,6 +63,7 @@ class LanguageWindow:

anaconda.instLanguage.instLang = choice
anaconda.instLanguage.systemLang = choice
+ anaconda.instLanguage.buildLocale()
anaconda.timezone.setTimezoneInfo(anaconda.instLan guage.getDefaultTimeZone(anaconda.rootPath))

anaconda.intf.drawFrame()
--
1.7.4.1

_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list
 

Thread Tools




All times are GMT. The time now is 12:51 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org