[Python-checkins] CVS: python/dist/src/Lib locale.py,1.5,1.6

M.-A. Lemburg python-dev@python.org
Thu, 8 Jun 2000 10:49:43 -0700


Update of /cvsroot/python/python/dist/src/Lib
In directory slayer.i.sourceforge.net:/tmp/cvs-serv8358/Lib

Modified Files:
	locale.py 
Log Message:
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.

Index: locale.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/locale.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** locale.py	2000/06/07 09:11:40	1.5
--- locale.py	2000/06/08 17:49:41	1.6
***************
*** 14,20 ****
  import string
  
! ### C lib locale APIs
  
! from _locale import *
  
  ### Number formatting APIs
--- 14,78 ----
  import string
  
! ### Load C lib locale APIs or use an emulation
  
! 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