}Ce dZddlmZddlmZddlmZddlZddlZddlmZddl m Z ddl m Z d Z dadaGd d e d gd ZdZdZdZdS)z8 Wrapper over integration config which provides typing. )absolute_import)division)print_functionN) ConfigParser) namedtuple)NotImplementedByVendorz!/opt/cpvendor/etc/integration.inic"eZdZdZfdZxZS) ScriptsCMDzg Wrapper over namedtuple that raises exception when we access property that has None value cztt||}|t||S)za Raise error if command is not implemented, but we try to get it in code )superr __getattribute__r)selfitemobj __class__s /builddir/build/BUILDROOT/alt-python27-cllib-3.3.7-2.el7.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/vendors_api/config.pyr zScriptsCMD.__getattribute__*s: J%%66t<< ;(.. . )__name__ __module__ __qualname____doc__r __classcell__)rs@rr r sB rr VendorScriptsPath panel_infodb_infopackagesusersdomains resellersadminsphpcL|dSttj|S)zm Taking command line as input, convert it into subprocess args If cmd is None -> return None N)tupleshlexsplit)cmds r_split_path_or_noner(5s&  {t S!! " ""rctjt}t t |kr/t }|d}tt| dt| dt| dt| dt| dt| dt| dt| d  a|atS) Nintegration_scriptsrrrrrr r!r"r) ospathgetmtime CONFIG_PATHintegration_scripts_cacheconfig_last_modify_time_read_config_filer r(get) modify_timeconfigscriptss rr*r*@s'"";//K ( #{ 2 2"$$./$.*7;;|+D+DEE' I(>(>??(Z)@)@AA%gkk'&:&:;;' I(>(>??)'++k*B*BCC&w{{8'<'<==#GKK$6$677 % % % !#. $$rctddtfdDS)z< Parse config file and return result as dictionary. NF) interpolationstrictcVi|]%}|t|&S)dictitems).0sparsers r z%_read_config_file..`s- @ @ @AtFLLOO$$ @ @ @r)rreadr.sections)r?s@rr1r1YsMU ; ; ;F KK  @ @ @ @foo.?.? @ @ @@r)r __future__rrrr+r% configparserr collectionsrvendors_api.exceptionsrr.r/r0r r(r*r1r:rrrGs$'&&&&&%%%%%% %%%%%%""""""9999991  / 2 2 2  4###%%%2AAAAAr