§ WèÄjOãód—dZddlZddlZddlmZddlmZddlm Z d„Z dd „Z dd „Z dd „Z dd„ZdS)zR This module contains an argparse command line parser for cloudlinux-xray-manager éN)Úgettext)Ú read_sys_id)Úadvice_action_sourcescó”— t¦«S#t$r-}tjdt |¦«¦«Yd}~dSd}~wwxYw)Nz"Unable to get system_id, error: %sÚ)rÚ ExceptionÚloggingÚerrorÚstr)Úes úX/opt/cloudlinux/venv/lib64/python3.11/site-packages/xray/console_utils/cmdline_parser.pyÚ get_system_idrsV€ð݉}Œ}ÐøÝ ðððÝŒ Ð:½CÀ¹F¼FÑCÔCÐC؈rˆrˆrˆrˆrøøøøðøøøs‚ � Aš"AÁAÚreturnúargparse.ArgumentParserc ó(—tjdd¬¦«}| ddd¬¦«}| dt d ¦«tj¬ ¦«}| d d dt d ¦«¬¦«| dddt d¦«¬¦«| dddt d¦«¬¦«| ¦«}| ddtt d¦«¬¦«| ddtt d¦«¬¦«| dt d¦«¬¦«}| d d dt d ¦«¬¦«| d d!dt d"¦«¬¦«| d#t d$¦«¬¦«}| d d dt d ¦«¬¦«| d d!dt d"¦«¬¦«| d%t d&¦«¬¦«}| d d dt d ¦«¬¦«| d d!dt d"¦«¬¦«| d't d(¦«¬¦«}| d d dt d ¦«¬¦«| d d!dt d"¦«¬¦«| d)t d*¦«¬¦«}| d d dt d ¦«¬¦«| dddt d¦«¬¦«| d+d,dt d-¦«¬¦«| d.t d/¦«¬¦«} |  d d dt d ¦«¬¦«|  dddt d¦«¬¦«| d0t d1¦«¬¦«} |  d d dt d ¦«¬¦«|  dddt d¦«¬¦«| d2t d3¦«¬¦«} |  d d dt d ¦«¬¦«|  dddt d¦«¬¦«| d4t d5¦«¬¦«} |  d d dt d ¦«¬¦«| d6t d7¦«¬¦«} |  d d dt d ¦«¬¦«| d8t d9¦«¬¦«}| d d dt d ¦«¬¦«| d d!dt d"¦«¬¦«| d:d;ttjt d<¦«¬=¦«| d>d;ttjt d?¦«¬=¦«| d@t dA¦«¬¦«}| d d dt d ¦«¬¦«| d d!dt d"¦«¬¦«| dBt dC¦«¬¦«}| d d dt d ¦«¬¦«| d d!dt d"¦«¬¦«| dDdEdtt dF¦«¬G¦«| dHt dI¦«¬¦«}| d d t¦«t d ¦«¬¦«| dJt dK¦«¬¦«}| d d t¦«t d ¦«¬¦«| dLt dM¦«¬¦«}| d d dt d ¦«¬¦«| dNt dO¦«¬¦«}| d d t¦«t d ¦«¬¦«| dPt dQ¦«¬¦«}| d d t¦«t d ¦«¬¦«| ¦«}| dRdSdTt dU¦«¬V¦«| dWdSdTt dX¦«¬V¦«| dYdSdTt dZ¦«¬V¦«| d[¦«}| d d t¦«t d ¦«¬¦«| d\¦«}| d d t¦«t d ¦«¬¦«|S)]zb Command line parser for X Ray Manager using built-in argparse module :return: parser zcloudlinux-xray-managerzUtility to manage X-Ray Client©ÚprogÚ descriptionÚCommandsÚcommandT©ÚtitleÚdestÚrequiredÚstartú>Start monitoring of URL by IP for COUNT of minutes or requests©ÚhelpÚargument_defaultz --system_idÚSYS_IDzunique ID of CL+ system©Úmetavarrrú--urlÚURLúmonitoring URLú --client_ipÚIPÚ*ú"client IP to monitor requests from©r"Údefaultrú--timeÚCOUNTúnumber of minutes to monitor©r"Útyperú --request_qtyúnumber of requests to monitorÚstopúStop monitoring of given TASK©rú--tracing_task_idÚTASKúunique ID of tracing taskÚcontinueú!Continue monitoring of given TASKÚcompleteúComplete given TASKÚdeleteúDelete given TASKzenable-continuousz(Schedule a URL for continuous monitoringz--emailÚEMAILze-mail address for reportingzdisable-continuousz.Schedule to stop continuous monitoring for URLzstart-continuousz&Include URL into continuous monitoringzstop-continuousz&Exclude URL from continuous monitoringzcontinuous-tracing-listz1Get list of scheduled continuous monitoring tasksú tasks-listúGet list of tasksú requests-listú#Get list of requests for given taskz --time_fromÚ TIMESTAMPzstart of the request time range)r"r0r+rz --time_tozend of the request time rangezrequests-stats-by-hourz(Get hourly requests stats for given taskú request-dataú Get statistics for given requestú --request_idÚREQUESTúunique ID of request©r"rr0rzenable-user-agentzEnable X-Ray User Agentzdisable-user-agentzDisable X-Ray User Agentúuser-agent-statusúGet status of X-Ray User Agentzautocomplete-tasksz/Completes all tasks run more than expected timezadvanced-metricszAdvanced metrics toolz--enableÚ store_trueFzenable advanced metrics)Úactionrrz --disablezdisable advanced metricsz--statusz"get status (none|enabled|disabled)zenable-serverwide-modezdisable-serverwide-mode) ÚargparseÚArgumentParserÚadd_subparsersÚ add_parserÚ_ÚSUPPRESSÚ add_argumentÚadd_mutually_exclusive_groupÚintr)ÚparserÚ subparsersÚ start_parserÚcountersÚ stop_parserÚcontinue_parserÚcomplete_parserÚ delete_parserÚ enable_parserÚdisable_parserÚcon_start_parserÚcon_stop_parserÚ list_parserÚtask_list_parserÚ req_parserÚreq_stats_parserÚreq_data_parserÚenable_user_agent_parserÚdisable_user_agent_parserÚstatus_user_agent_parserÚautocomplete_parserÚadvanced_metrics_parserÚadvanced_metrics_parser_groupÚenable_serverwide_mode_parserÚdisable_serverwide_mode_parsers r Úcmd_parser_managerrqs™ €õ Ô $Ð*CÐQqÐ rÑ rÔ r€FØ×&Ò&¨Z¸iÐRVÐ&ÑWÔW€Jà×(Ò(ØÝ ÐOÑ PÔ PÝ!Ô*ð)ñô€Lð ×Ò˜m°XÈÕSTÐUnÑSoÔSoÐÑpÔpÐpØ×Ò˜g¨u¸tÍ!ÐL\ÑJ]ÔJ]ÐÑ^Ô^Ð^Ø×Ò˜m°TÀ3ÍQÐOsÑMtÔMtÐÑuÔuÐuØ×8Ò8Ñ:Ô:€HØ ×Ò˜(¨G½#ÅAÐFdÑDeÔDeÐÑfÔfÐfØ ×Ò˜/°7ÅÍ1ÐMlÑKmÔKmÐÑnÔnÐnà×'Ò'¨µQÐ7VÑ5WÔ5WÐ'ÑXÔX€KØ×Ò˜]°HÀtÕRSÐTmÑRnÔRnÐÑoÔoÐoØ×ÒÐ0¸&È4ÕVWÐXsÑVtÔVtÐÑuÔuÐuà ×+Ò+¨J½QÐ?bÑ=cÔ=cÐ+ÑdÔd€OØ× Ò  ¸È4ÕVWÐXqÑVrÔVrÐ ÑsÔsÐsØ× Ò Ø V°dÅÐC^ÑA_ÔA_ð!ñôðð!×+Ò+¨J½QÐ?TÑ=UÔ=UÐ+ÑVÔV€OØ× Ò  ¸È4ÕVWÐXqÑVrÔVrÐ ÑsÔsÐsØ× Ò Ø V°dÅÐC^ÑA_ÔA_ð!ñôðð×)Ò)¨(½Ð;NÑ9OÔ9OÐ)ÑPÔP€MØ×Ò˜}°hÈÕTUÐVoÑTpÔTpÐÑqÔqÐqØ×ÒÐ2¸FÈTÕXYÐZuÑXvÔXvÐÑwÔwÐwà×)Ò)Ð*=ÅAÐFpÑDqÔDqÐ)ÑrÔr€MØ×Ò˜}°hÈÕTUÐVoÑTpÔTpÐÑqÔqÐqØ×Ò˜w°ÀÍ1ÐM]ÑK^ÔK^ÐÑ_Ô_Ð_Ø×Ò˜y°'ÀDÍqÐQoÑOpÔOpÐÑqÔqÐqà×*Ò*Ø¥1Ð%UÑ#VÔ#Vð+ñô€Nð×Ò  °xÈ$ÕUVÐWpÑUqÔUqÐÑrÔrÐrØ×Ò °ÀÍAÐN^ÑL_ÔL_ÐÑ`Ô`Ð`à!×,Ò,Ð-?ÅaÐHpÑFqÔFqÐ,ÑrÔrÐØ×!Ò! -¸ÈDÕWXÐYrÑWsÔWsÐ!ÑtÔtÐtØ×!Ò! '°5À4ÍaÐP`ÑNaÔNaÐ!ÑbÔbÐbà ×+Ò+Ð,=ÅAÐFnÑDoÔDoÐ+ÑpÔp€OØ× Ò  ¸È4ÕVWÐXqÑVrÔVrÐ ÑsÔsÐsØ× Ò  °%À$ÍQÐO_ÑM`ÔM`Ð ÑaÔaÐaà×'Ò'Ø!­Ð*]Ñ(^Ô(^ð(ñô€Kð×Ò˜]°HÀtÕRSÐTmÑRnÔRnÐÑoÔoÐoà!×,Ò,¨\ÅÐBUÑ@VÔ@VÐ,ÑWÔWÐØ×!Ò! -¸ÈDÕWXÐYrÑWsÔWsÐ!ÑtÔtÐtà×&Ò& ½QÐ?dÑ=eÔ=eÐ&ÑfÔf€JØ×Ò˜M°8ÀdÕQRÐSlÑQmÔQmÐÑnÔnÐnØ×ÒÐ/¸È$ÕUVÐWrÑUsÔUsÐÑtÔtÐtØ×ÒØØÝ ÝÔ!Ý Ð0Ñ 1Ô 1ð ñôðð×ÒØ˜[­s½HÔZÔ>Zð/ñôðð"×.Ò.ؘL°5½qÐA[Ñ?\Ô?\ð/ñôðð"×.Ò.ؘ<°%½aÐ@dÑ>eÔ>eð/ñôðð%/×$9Ò$9Ð:RÑ$SÔ$SÐ!Ø!×.Ò.ؘxµ±´ÅqÐIbÑGcÔGcð/ñôðð&0×%:Ò%:Ð;TÑ%UÔ%UÐ"Ø"×/Ò/ؘxµ±´ÅqÐIbÑGcÔGcð0ñôðð €Móc óŒ—tjdd¬¦«}| ddd¬¦«}| dt d ¦«tj¬ ¦«}| d d dt d ¦«¬¦«| dddt d¦«¬¦«| ¦«}| ddtt d¦«¬¦«| ddtt d¦«¬¦«| dt d¦«¬¦«}| dddt d¦«¬¦«| d t d!¦«¬¦«}| dddt d¦«¬¦«| d"t d#¦«¬¦«}| dddt d¦«¬¦«| d$t d%¦«¬¦«}| dddt d¦«¬¦«| d&t d'¦«¬¦«| d(t d)¦«¬¦«}| dddt d¦«¬¦«| d*t d+¦«¬¦«} |  dddt d¦«¬¦«|  d,d-dtt d.¦«¬/¦«| d0t d1¦«¬¦«|S)2zl Command line parser for X Ray Manager for users using built-in argparse module :return: parser zcloudlinux-xray-user-manager.pyz,Utility to manage X-Ray Client for end-usersrrrTrrrrr#r$r%r!r&r'r(r)r*r,r-r.r/r1r2r3r4r5r6r7r8r9r:r;r<r=r>r@rArBrCrErFrGrHrIrJrKrL) rOrPrQrRrSrTrUrVrW) rXrYrZr[r\r]r^r_rfrhs r Úcmd_parser_user_managerrt°sf€õ Ô $Ø .Ðtd?¦«¬¦«} |  d9td@¦«¬¦«| dAtdB¦«¬¦«} |  d9tdC¦«¬¦«| dDtdE¦«¬¦«| dFtdG¦«¬¦«| dHtdI¦«¬¦«| dJtdK¦«¬¦«} |  d9tdL¦«¬¦«|  dMtdN¦«¬¦«|  dOtdP¦«d ¬Q¦«|  dRtdS¦«d ¬Q¦«| dTtdU¦«¬¦«} |  d9tdL¦«¬¦«|  dMtdN¦«¬¦«|  dOtdP¦«d ¬Q¦«|  dRtdS¦«d ¬Q¦«| dVtdW¦«¬¦«} |  d9tdL¦«¬¦«|  dMtdN¦«¬¦«|  dOtdP¦«d ¬Q¦«|  dRtdS¦«d ¬Q¦«| dXtdY¦«¬¦«} |  d9tdL¦«¬¦«|  dMtdZ¦«¬¦«| d[td\¦«¬¦«}| dMtdN¦«¬¦«| d9tdL¦«¬¦«| d]td^¦«¬¦«}| dd td_¦«¬¦«| d`d d¬a¦«| dbtdc¦«¬¦«}| ddd tde¦«¬¦«| dftdg¦«¬¦«}| dhtdi¦«d ¬Q¦«| djtdk¦«d ¬Q¦«| d#tdl¦«d ¬Q¦«| d9tdm¦«d ¬Q¦«| dtdn¦«¬¦«f| dotdp¦«¬¦«| dqtdr¦«¬¦«| dstdt¦«¬¦«| dutdv¦«¬¦«}| dwd tdx¦«¬¦«| dytdz¦«¬¦«}| dwd tdx¦«¬¦«| d{d td|¦«¬¦«| d}d td~¦«¬¦«|S)zs Command line parser for X Ray Smart Advice utility using built-in argparse module :return: parser zcl-smart-advicez7Utility for X-Ray Smart Advice microservice interactionrz --api-versionzFSpecify version of CLI, if not passed - latest will be used by defaultFN)rrr+rrTrÚlistzGet list of advicer5z --extendsrMz!Advice will be with extended info)r+rNrÚdetailsz#Get details for a particular advicez --advice_idz"an ID of advice to get details for)rrÚapplyzApply a particular advicezan ID of advice to applyz--ignore-errorszapply advice anyway)rNr+rz--asyncÚ async_modez!run apply in a background process)rNrr+rz--sourceÚ ACCELERATE_WPzAdvice apply source)r+Úchoicesrz--accept_license_termsz--analytics_datazUser analytics data)r0rÚrollbackzRollback a particular advicezan ID of advice to rollbackz$run rollback in a background processzAdvice rollback sourcez--reasonzReason for advice rollbackr[z!Get advice counters total/appliedÚstatusz7Get current status and progress for a particular advicez!an ID of advice to get status forz sites-statuszGet websites statusesz --usernamez an username to get statuses infoz get-optionszGet options for userzUsername to get optionsz get-limitszGet limits for userzUsername to get limitsz get-usagezGet usage for userzUsername to get usagezwordpress-plugin-installzXInstalls/uninstalls cl-smart-advice plugin for websites according to current advice listzwordpress-plugin-uninstallz.Uninstalls cl-smart-advice plugin for websiteszupdate-advices-metadataz%Sends actual metadata to microservicezawp-cdn-get-pullzonez"Get pullzone for account`s websitezName of target userz --account_idz8Unique account identifier saved in user`s home directoryz--domainzAccount`s domain)rrz --websiteÚWebsitezawp-cdn-remove-pullzonez%Remove pullzone for account`s websitez awp-cdn-purgez!Purge cache for account`s websitezawp-syncz=[for internal usage] Sync account information on microservicez_Unique account identifier saved in user`s home directory. Multiple could be passed split by ","z get-cdn-usagezGet cdn usage for accountÚ subscriptionzSubscription configurationz*an ID of advice to manage subscription forz--listen)rrNÚ agreementzLicense agreement commandsz--textz+name of the feature to get license text forzreport-analyticszSends analytics to Smart Advicez --featurez"Feature to be tracked by analyticsz--eventz Event to be tracked by analyticszWhere event was triggeredz/Users affected by event, pass multiple via "," zID of advice to manage eventsz --user_hashzHash of user for eventz --journey_idzID event journeyz --variant_idzID event variant_idzwp-plugin-dataz(Get latest WordPress plugin version dataz --plugin_namezName of the pluginzwp-plugin-copyzRCopy the latest WordPress plugin archive to the site if it's not already installedz--plugin_versionzCurrent plugin versionz --tmp_dirzTemp directory path) rOrPrUrSrQrRrrTr )rXrYrdÚ detail_parserÚ apply_parserÚrollback_parserÚ status_parserÚ sites_parserÚget_options_parserÚget_limits_parserÚget_usage_parserÚ get_pullzoneÚremove_pullzoneÚpurge_cdn_cacheÚ get_cdn_usageÚsubscription_parserÚagreement_parserÚreport_analyticsÚwp_plugin_dataÚ wp_get_plugins r Úcmd_parser_adviserr’çs¸ €õ Ô $Ø Ð,eðñô€Fð ×ÒØÝ ÐWÑ XÔ XØØð ñôðð ×&Ò&¨Z¸iÐRVÐ&ÑWÔW€Jà×'Ò'¨µQÐ7KÑ5LÔ5LÐ'ÑMÔM€KØ×ÒØ˜U¨<½aÐ@cÑ>dÔ>dðñôðð×)Ò)¨)½!ÐZÑ<[Ô<[Ð Ñ\Ô\Ð\Ø× Ò Ð!3½#ÅAÐF[ÑD\ÔD\Ð Ñ]Ô]Ð]à×Ò˜*­1Ð-PÑ+QÔ+QÐÑRÔRÐRà×)Ò)¨(½Ð;tÑ9uÔ9uÐ)ÑvÔv€MØ×Ò˜}°tÅ!ÐDgÑBhÔBhÐÑiÔiÐià×(Ò(¨½aÐ@WÑ>XÔ>XÐ(ÑYÔY€LØ×Ò˜lµÐ3UÑ1VÔ1VÐÑWÔWÐWà#×.Ò.¨}Å1ÐE[ÑC\ÔC\Ð.Ñ]Ô]ÐØ×#Ò# LµqÐ9RÑ7SÔ7SÐ#ÑTÔTÐTà"×-Ò-¨lÅÐCXÑAYÔAYÐ-ÑZÔZÐØ×"Ò" <µaÐ8PÑ6QÔ6QÐ"ÑRÔRÐRà!×,Ò,¨[½qÐAUÑ?VÔ?VÐ,ÑWÔWÐØ×!Ò! ,µQÐ7NÑ5OÔ5OÐ!ÑPÔPÐPà×ÒØ"Ý ÐiÑ jÔ jðñôðð ×ÒÐ6½QÐ?oÑ=pÔ=pÐÑqÔqÐqà×ÒÐ3½!Ðr sÍðððð €€€Ø€€€àÐÐÐÐÐØ+Ð+Ð+Ð+Ð+Ð+Ø9Ð9Ð9Ð9Ð9Ð9ððððPðPðPðPðf4ð4ð4ð4ðnFðFðFðFðR ð ð ð ð ð rr