Marc-Andre Lemburg <mal@lemburg.com>:
Added emulations of the C APIs in _locale to be used when the _locale module is not enabled. They return the correct values assuming the 'C' locale.
This commit is contained in:
parent
d2412a35b1
commit
2348114ba8
|
@ -13,9 +13,67 @@
|
|||
|
||||
import string
|
||||
|
||||
### C lib locale APIs
|
||||
### Load C lib locale APIs or use an emulation
|
||||
|
||||
from _locale import *
|
||||
try:
|
||||
from _locale import *
|
||||
|
||||
except ImportError:
|
||||
|
||||
CHAR_MAX = 127
|
||||
LC_ALL = 6
|
||||
LC_COLLATE = 3
|
||||
LC_CTYPE = 0
|
||||
LC_MESSAGES = 5
|
||||
LC_MONETARY = 4
|
||||
LC_NUMERIC = 1
|
||||
LC_TIME = 2
|
||||
Error = ValueError
|
||||
|
||||
def localeconv():
|
||||
""" localeconv() -> dict.
|
||||
Returns numeric and monetary locale-specific parameters.
|
||||
"""
|
||||
# 'C' locale default values
|
||||
return {'grouping': [127],
|
||||
'currency_symbol': '',
|
||||
'n_sign_posn': 127,
|
||||
'p_cs_precedes': 127,
|
||||
'n_cs_precedes': 127,
|
||||
'mon_grouping': [],
|
||||
'n_sep_by_space': 127,
|
||||
'decimal_point': '.',
|
||||
'negative_sign': '',
|
||||
'positive_sign': '',
|
||||
'p_sep_by_space': 127,
|
||||
'int_curr_symbol': '',
|
||||
'p_sign_posn': 127,
|
||||
'thousands_sep': '',
|
||||
'mon_thousands_sep': '',
|
||||
'frac_digits': 127,
|
||||
'mon_decimal_point': '',
|
||||
'int_frac_digits': 127}
|
||||
|
||||
def setlocale(category, value=None):
|
||||
""" setlocale(integer,string=None) -> string.
|
||||
Activates/queries locale processing.
|
||||
"""
|
||||
if value is not None and \
|
||||
value is not 'C':
|
||||
raise Error,'_locale emulation only supports "C" locale'
|
||||
return 'C'
|
||||
|
||||
def strcoll(a,b):
|
||||
""" strcoll(string,string) -> int.
|
||||
Compares two strings according to the locale.
|
||||
"""
|
||||
return cmp(a,b)
|
||||
|
||||
def strxfrm(s):
|
||||
""" strxfrm(string) -> string.
|
||||
Returns a string that behaves for cmp locale-aware.
|
||||
"""
|
||||
return s
|
||||
|
||||
### Number formatting APIs
|
||||
|
||||
|
|
Loading…
Reference in New Issue