1#ddZddlZddlZddlZddlZddlmZddlmZddl m Z dZ ej de de d Zd Zd Zd Zed kreejeZedZeddZeddddeddddeddZeddddeddddedd d!ed"d#d#d$d%&ed'd(ed)d*ed+d,ZeddddeddddeZeZejdkrBeejeej e!ejej dSejdkreejeej ej"reej"ej#reej#ej$reej$d-ej%iZ&ej#r ej#e&d.<ej$r ej$e&d/<ej'ejej ej"fie&dSejd+krBeejeej e(ejej dSe)dS)0z Domain POST modification hook. This script must be called AFTER different domain-related changes in control panel. See --help and docs for detailed description of actions and parameters. N)ModifyDomainHook)setup_logger_and_sentry)_VALID_NAME_REz[^\W_](?:[\w-]{0,61}[^\W_])?z\Az(?:\.z)*\Zc|r't|dkstj|stjd|dSdS)N zInvalid username: )len_VALID_USERNAME_RE fullmatchsysexitvalues /builddir/build/BUILDROOT/alt-python27-cllib-3.4.40-1.el9.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/clcommon/public_hooks/bin/post_modify_domain.py_validate_usernamer-sN 1CJJOO+=+G+N+NO /e//00000$Oc|r-t|dkst|stjd|dSdS)NzInvalid domain: )r_VALID_DOMAIN_REr r r r s r_validate_domainr2sU /CJJ$$,<,F,Fu,M,M$ -E--.....%$rc|r%d|vs!d|tjvrtjd|dSdS)Nz..zInvalid docroot path: )splitossepr r r s r_validate_docrootr7sT 5DEMMTU[[-@-@%@%@ 3%3344444&A%@r__main__) descriptioncommand)destcreatezH[NOT FOR VENDORS PANELS INTEGRATION] Call when domain record is created.)helpz --usernamez-uTzUser that owns domain.)requiredr!z--domainz-dsz"Domain name e.g.: `userdomain.com`modifyzhCall when domain record is updated (e.g all sites that have worked on old domain now work on a new one).z1Domain name before rename, e.g.: `userdomain.com`z --new-domainz-dtz0Domain name after rename, e.g.: `userdomain2.eu`z--include-subdomainsF store_truezIf set, we will also process all domains that end with domain name (subdomains). E.g. when renaming olddomain.com -> newdomain.eu we will also rename sub.olddomain.com to sub.newdomain.eu)r"defaultactionr!z --old-docrootz&Old document root path for the domain.z --new-docrootz&New document root path for the domain.deletezG[NOT FOR INTEGRATED CONTROL PANELS] Call when domain record is deleted.include_subdomains old_docroot new_docroot)*__doc__argparserrer clcommon.public_hooks.librclcommon.public_hooksr!clcommon.public_hooks.lib.helpersrr _DOMAIN_LABELcompilerrrr__name__ArgumentParserparseradd_subparsers subparsers add_parser create_domain add_argument modify_domain parse_argsargshookrusernamedomainpost_create_domain new_domainr)r*r(kwargspost_modify_domainpost_delete_domainNotImplementedErrorrrrHs  666666999999RRRRRR$0 2:KMKK KKKLL111 /// 5 5 5 z $X $ 9 9 9F&&I&66J))a*ccM|TDG_```z54$HJJJ))1*22M|TDG_```z54$WYYY~u$VXXXlIJJJ $LNNN$LNNN))`*bbM|TDG_```z54$WYYY     D    D |x4=)))%%%  M4; ( ( ( ( (  ! !4=)))%%% ? .  T_ - - -   0  d. / / /   0  d. / / /&(?@   5$($4F= !   5$($4F= ! M4; C C;A C C C C C  ! !4=)))%%%  t{;;;;;!!Ir