|9ea ddlmZddlmZmZmZmZmZddlm Z ddl m Z ddl m Z ddlmZe dgd Ze d gd Zed d d d d d d d Zd ZGd deZd S))absolute_import)TupleOptionalTypeListIterator)etree) namedtuple)get_xml_config_etree)ClPwdLimitscpuncpuiovmempmemnprocepiopsInheritedLimitsNrootceZdZdZddZdZdZeefdZ e dZ dZ e fd Zd Zd Zd Zd ZdZdZdZdS)XmlConfigReadera5 This class parses our xml into user-friendly primitive structures (dicts, tuples, namedtuples) This class may do: - data conversion (cpu & ncpu in config -> speed) - validation This class should NOT: - take care of user/package/reseller existence - write anything to xml Nc~t|_|t|_n||_d|D|_d|D|_d|D|_ d| D|_ dS)Nci|]\}}|| Sr).0id_limitss R/opt/cloudlinux/venv/lib64/python3.11/site-packages/clveconfig/ve_config_reader.py z,XmlConfigReader.__init__..1sQQQ=C3QQQci|]\}}|| Srr)rkeyr!s r"r#z,XmlConfigReader.__init__..2sWWWmsFc6WWWr$ci|]\}}|| Srr)rnamer!s r"r#z,XmlConfigReader.__init__..3s%b%b%b~fdF%b%b%br$ci|]\}}|| Srr)rr(defaultss r"r#z,XmlConfigReader.__init__..4s'j'j'j;KD(h'j'j'jr$) r clpwdr _xml_config _users_limits _users_map_packages_limits _packages_map_resellers_limits_resellers_limits_map_resellers_defaults_resellers_defaults_map)self_xml_config_etrees r"__init__zXmlConfigReader.__init__(sWW  $355D  0D QQDA\   [  ,,,.>5555666444"<<<!!!#####r$r) __future__rtypingrrrrrlxmlr collectionsr ve_configr clcommon.clpwdr rr EMPTY_LIMITSrhobjectrrr$r"r|s&'&&&&&88888888888888""""""++++++  HZZZ [ [*.0l0l0lmmv$dD$d {#{#{#{#{#f{#{#{#{#{#r$