jgddlmZddlmZddlmZddlZddlZddlZddlZddlm Z dZ dZ d e Z d ZGd d e ZGd d eZdZdZdZdS))print_function)division)absolute_importN)BaseSelectorErrorz"/usr/share/l.v.e-manager/cl.nodejsz alt-nodejsz /opt/alt/{}z"/root/usr/share/node/node-version-ceZdZdZdS) NodeJSErrorz9Top level error class for admin's part of NodeJS selectorN__name__ __module__ __qualname____doc__W/opt/cloudlinux/venv/lib64/python3.11/site-packages/clselect/clselectnodejs/__init__.pyrrsCCDrrceZdZdZdS)NodeJSConfigErrorz"Generic error class for NodeConfigNr rrrrr!s,,Drrcbt|tsdStjd|sdSdS)z>Return True if specified MAJOR version is valid for processingFz ^[1-9][0-9]*$T) isinstancestrrematch)vers ris_major_versionr&s8 c3  u 8$c * *u 4rc tjtdS#t$r!}|jtjkrYd}~dSd}~wwxYw)N)osmakedirs CONFIG_DIROSErrorerrnoEEXIST)es rcreate_config_dirsr"/sb J  7el " "  # " " " " "s AAAcfi}tjdttD]{}|td}|s%t t |dd}|dt|d||<||S)zD Search CL NodeJS interpreters and return dict with info about them z{}*{}*.rz {}{}/root) full_version root_path)globformatALT_NODE_PREFIXNODE_VERSION_GLOBsplitrint)resfolderfull_vermaj_vers rscan_node_versionsr27s C)HOOO,=??@@   << 12215  c(..--a01122$$++OWEE  G  Jr) __future__rrrrrr(rclselect.baseclselectrr ALT_NAMESr)r*r+rrrr"r2rrrr6s&&%%%%%&&&&&& 333333 2  &&y119     #           r