def split_locale(loc):
 def split(st, char):
  '\n        Split a string `st` once by `char`; always return a two-element list\n        even if the second element is empty.\n        '
  split_st = st.split(char, 1)
  if (len(split_st) == 1):
   split_st.append('')
  return split_st
 comps = {}
 (work_st, comps['charmap']) = split(loc, ' ')
 (work_st, comps['modifier']) = split(work_st, '@')
 (work_st, comps['codeset']) = split(work_st, '.')
 (comps['language'], comps['territory']) = split(work_st, '_')
 return comps

def split_locale ( loc ) : def split ( st , char ) : split_st = st . split ( char , 1 ) if ( len ( split_st ) == 1 ) : split_st . append ( '' ) return split_st comps = { } ( work_st , comps [ 'charmap' ] ) = split ( loc , ' ' ) ( work_st , comps [ 'modifier' ] ) = split ( work_st , '@' ) ( work_st , comps [ 'codeset' ] ) = split ( work_st , '.' ) ( comps [ 'language' ] , comps [ 'territory' ] ) = split ( work_st , '_' ) return comps
split a locale specifier .