403Webshell
Server IP : 198.38.94.13  /  Your IP : 216.73.217.33
Web Server : Apache
System : Linux d4744.dxb1.stableserver.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64
User : revivere ( 1140)
PHP Version : 8.2.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/locales.py
"""
the locale utils used by salt
"""

import sys

from salt.utils.decorators import memoize as real_memoize


@real_memoize
def get_encodings():
    """
    return a list of string encodings to try
    """
    encodings = [__salt_system_encoding__]

    try:
        sys_enc = sys.getdefaultencoding()
    except ValueError:  # system encoding is nonstandard or malformed
        sys_enc = None
    if sys_enc and sys_enc not in encodings:
        encodings.append(sys_enc)

    for enc in ["utf-8", "latin-1"]:
        if enc not in encodings:
            encodings.append(enc)

    return encodings


def split_locale(loc):
    """
    Split a locale specifier.  The general format is

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

    For example:

    ca_ES.UTF-8@valencia UTF-8
    """

    def split(st, char):
        """
        Split a string `st` once by `char`; always return a two-element list
        even if the second element is empty.
        """
        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 join_locale(comps):
    """
    Join a locale specifier split in the format returned by split_locale.
    """
    loc = comps["language"]
    if comps.get("territory"):
        loc += "_" + comps["territory"]
    if comps.get("codeset"):
        loc += "." + comps["codeset"]
    if comps.get("modifier"):
        loc += "@" + comps["modifier"]
    if comps.get("charmap"):
        loc += " " + comps["charmap"]
    return loc


def normalize_locale(loc):
    """
    Format a locale specifier according to the format returned by `locale -a`.
    """
    comps = split_locale(loc)
    comps["territory"] = comps["territory"].upper()
    comps["codeset"] = comps["codeset"].lower().replace("-", "")
    comps["charmap"] = ""
    return join_locale(comps)

Youez - 2016 - github.com/yon3zu
LinuXploit