HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/__pycache__/locales.cpython-310.pyc
o

�N�g=�@s@dZddlZddlmZedd��Zdd�Zdd	�Zd
d�ZdS)z
the locale utils used by salt
�N)�memoizecCs`tg}zt��}Wntyd}Ynw|r ||vr |�|�dD]}||vr-|�|�q"|S)z2
    return a list of string encodings to try
    N)zutf-8zlatin-1)Z__salt_system_encoding__�sys�getdefaultencoding�
ValueError�append)�	encodingsZsys_enc�enc�r	�F/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/locales.py�
get_encodings
s�

�rcCs\dd�}i}||d�\}|d<||d�\}|d<||d�\}|d<||d	�\|d
<|d<|S)z�
    Split a locale specifier.  The general format is

    language[_territory][.codeset][@modifier] [charmap]

    For example:

    ca_ES.UTF-8@valencia UTF-8
    cSs&|�|d�}t|�dkr|�d�|S)z�
        Split a string `st` once by `char`; always return a two-element list
        even if the second element is empty.
        ��)�split�lenr)�st�charZsplit_str	r	r
r*s
zsplit_locale.<locals>.split� �charmap�@�modifier�.�codeset�_�language�	territoryr	)�locr�compsZwork_str	r	r
�split_locales
rcCst|d}|�d�r|d|d7}|�d�r|d|d7}|�d�r+|d|d7}|�d�r8|d	|d7}|S)
zO
    Join a locale specifier split in the format returned by split_locale.
    rrrrrrrrr)�get)rrr	r	r
�join_locale<s



rcCs@t|�}|d��|d<|d���dd�|d<d|d<t|�S)zT
    Format a locale specifier according to the format returned by `locale -a`.
    rr�-r
r)r�upper�lower�replacer)rrr	r	r
�normalize_localeLs
r$)	�__doc__rZsalt.utils.decoratorsrZreal_memoizerrrr$r	r	r	r
�<module>s