/opt/cloudlinux/venv/lib/python3.11/site-packages/clwpos/__pycache__
NameSizeModeActions
billing.cpython-311.opt-1.pyc93200644editdlrm
billing.cpython-311.pyc93200644editdlrm
cl_wpos_exceptions.cpython-311.opt-1.pyc77200644editdlrm
cl_wpos_exceptions.cpython-311.pyc77200644editdlrm
constants.cpython-311.opt-1.pyc64540644editdlrm
constants.cpython-311.pyc65160644editdlrm
create_user_uid_dirs.cpython-311.opt-1.pyc12310644editdlrm
create_user_uid_dirs.cpython-311.pyc12310644editdlrm
cron.cpython-311.opt-1.pyc30780644editdlrm
cron.cpython-311.pyc30780644editdlrm
daemon.cpython-311.opt-1.pyc467460644editdlrm
daemon.cpython-311.pyc467460644editdlrm
daemon_base.cpython-311.opt-1.pyc42180644editdlrm
daemon_base.cpython-311.pyc42180644editdlrm
daemon_config.cpython-311.opt-1.pyc14400644editdlrm
daemon_config.cpython-311.pyc14400644editdlrm
daemon_redis_lib.cpython-311.opt-1.pyc207820644editdlrm
daemon_redis_lib.cpython-311.pyc207820644editdlrm
daemon_subscription_handler.cpython-311.opt-1.pyc296670644editdlrm
daemon_subscription_handler.cpython-311.pyc296670644editdlrm
data_collector_utils.cpython-311.opt-1.pyc133400644editdlrm
data_collector_utils.cpython-311.pyc133400644editdlrm
logsetup.cpython-311.opt-1.pyc69940644editdlrm
logsetup.cpython-311.pyc69940644editdlrm
papi.cpython-311.opt-1.pyc160660644editdlrm
papi.cpython-311.pyc160660644editdlrm
parse.cpython-311.opt-1.pyc41240644editdlrm
parse.cpython-311.pyc41240644editdlrm
redis_configuration_pid_file_cleaner.cpython-311.opt-1.pyc13500644editdlrm
redis_configuration_pid_file_cleaner.cpython-311.pyc13500644editdlrm
report_generator.cpython-311.opt-1.pyc329570644editdlrm
report_generator.cpython-311.pyc329570644editdlrm
scoped_cache.cpython-311.opt-1.pyc22210644editdlrm
scoped_cache.cpython-311.pyc22210644editdlrm
socket_utils.cpython-311.opt-1.pyc72000644editdlrm
socket_utils.cpython-311.pyc72000644editdlrm
stats.cpython-311.opt-1.pyc145360644editdlrm
stats.cpython-311.pyc145360644editdlrm
utils.cpython-311.opt-1.pyc1110890644editdlrm
utils.cpython-311.pyc1110890644editdlrm
whmcs_utils.cpython-311.opt-1.pyc170700644editdlrm
whmcs_utils.cpython-311.pyc170700644editdlrm
wpos_admin.cpython-311.opt-1.pyc890820644editdlrm
wpos_admin.cpython-311.pyc890820644editdlrm
wpos_hooks.cpython-311.opt-1.pyc115290644editdlrm
wpos_hooks.cpython-311.pyc115290644editdlrm
wpos_req_scanner.cpython-311.opt-1.pyc66440644editdlrm
wpos_req_scanner.cpython-311.pyc66440644editdlrm
wp_config.cpython-311.opt-1.pyc42070644editdlrm
wp_config.cpython-311.pyc42070644editdlrm
wp_utils.cpython-311.opt-1.pyc233820644editdlrm
wp_utils.cpython-311.pyc233820644editdlrm
__init__.cpython-311.opt-1.pyc6570644editdlrm
__init__.cpython-311.pyc6570644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/clwpos/__pycache__/billing.cpython-311.pyc (9320B)
§ Õf³®’_Þãó¸—ddlZddlZddlZddlZddlZddlZddlmZmZddl m Z ddl m Z ddl mZddlmZmZddlmZmZmZmZmZddlmZdd lmZmZmZmZmZdd lm Z dd l!m"Z"Gd „d e ¦«Z#ee#j$ee#j%iZ&e"¦«s e#j$e&e<d„Z'd„Z(d„Z)eGd„d¦«¦«Z*eGd„d¦«¦«Z+d„Z,d„Z-d„Z.d„Z/dS)éN)Ú dataclassÚasdict)ÚEnum)Údrop_privileges)Úcpinfo)ÚListÚDict)Úget_allowed_modulesÚget_admin_suites_configÚwrite_suites_allowedÚ ALL_SUITESÚget_allowed_suites)Ú CDNSuitePro)ÚOBJECT_CACHE_FEATUREÚCRITICAL_CSS_FEATUREÚIMAGE_OPTIMIZATION_FEATUREÚ CDN_FEATUREÚFeature)Ú UserConfig)Úis_wp2_environment_safecó—eZdZdZdZdZdZdS)ÚBillingFeaturezA Backwards-compatible list of features that we bill for. zAccelerateWP PremiumzAccelerateWP CDN FreezAccelerateWP CDN ProN)Ú__name__Ú __module__Ú __qualname__Ú__doc__ÚACCELERATE_WP_PREMIUMÚACCELERATE_WP_CDNÚACCELERATE_WP_CDN_PRO©óúpy/clwpos/billing.pyrr!s.€€€€€ððð3ÐØ/ÐØ2ÐÐÐr!rcó´—|tkrt |¦«Stj|vr t jSt |¦«S)N)rÚFEATURE_TO_BILLING_FEATUREÚgetrÚnamerr)ÚfeatureÚallowed_suitess r"Úbilling_feature_by_awp_featurer)2sL€Ø•+ÒÐÝ)×-Ò-¨gÑ6Ô6Ð6åÔ˜>Ð)Ð)ÝÔ3Ð3Ý %× )Ò )¨'Ñ 2Ô 2Ð2r!có8—|€dStjd|¦«duS)z- Checks that string has uuid4 format NFzK[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})ÚreÚmatch)Úvalues r"Ú is_valid_uuidr.;s(€ð €}؈uÝ Œ8ÐaÐchÑ iÔ iÐquÐ uÐur!cóR—tj¦«rt¦«Stj|¦«}t |j¦«}|j}|�t|¦«s@ttj ¦«¦«|_t|j|j |¦«|jS)zÛ We need some unique identifier which user can use as his token on our provisioning server. We use uuid4 to make it somehow hard to bruteforce and still unique (hopefully as we don't check that :P) )ÚosÚgeteuidÚget_unique_identifier_as_userÚpwdÚgetpwnamr Úpw_uidÚ unique_idr.ÚstrÚuuidÚuuid4r Úpw_gid)ÚusernameÚpwÚconfigr6s r"Úget_or_create_unique_identifierr>DsŒ€õ „z�|„|ð/Ý,Ñ.Ô.Ð.å Œ�hÑ Ô €BÝ $ R¤YÑ /Ô /€FàÔ €IØÐ¥ ¨iÑ 8Ô 8ÐÝ�tœz™|œ|Ñ,Ô,ˆÔݘRœY¨¬ °6Ñ:Ô:Ð:Ø Ô Ðr!có8—eZdZUeed<eed<eed<eed<dS)Ú FeatureRecordr&Ú purchase_dateÚ attributesÚactiveN)rrrr7Ú__annotations__r Úboolr r!r"r@r@Ys:€€€€€€à €I€I�IØÐÐÑØÐÐÑà €L€L�L€L€Lr!r@cóD—eZdZUeed<eed<eed<eeed<dS)Ú UserRecordr;Úprimary_domainÚidÚfeaturesN)rrrr7rDrr@r r!r"rGrGbsA€€€€€€à€M€M�MØÐÐÑØ €G€G�GØ�=Ô!Ð!Ð!Ñ!Ð!Ð!r!rGcój—g}td¬¦«D]Ÿ\}} tj|¦«j}n%#t$rt jd|¦«YŒAwxYw t|||¦«}n%#t$rt j d|¦«YŒywxYw|  t|¦«¦«Œ |S)zì Collect report about billable users. Look for all users with allowed feature and add them to list for the further processing on CLN side. legacy argument changes format so it is accepted by older CLN versions )ÚcploginÚdns)ÚkeylszHUser %s does not have system uid; Malformed control panel configuration?z%CLN billing report for user %s failed) rr3r4r5ÚKeyErrorÚloggingÚwarningÚ_single_user_reportÚ ExceptionÚ exceptionÚappendr)ÚreportÚuserÚdomainÚuidÚ user_records r"Ú get_reportr[jså€ð€FÝÐ%7Ð8Ñ8Ô8ð +ð +‰ ˆˆfð Ý”,˜tÑ$Ô$Ô+ˆCˆCøÝð ð ð Ý ŒOÐfÐhlÑ mÔ mÐ mØ ˆHð øøøð Ý-¨c°4¸Ñ@Ô@ˆKˆKøÝð ð ð Ý Ô ÐEÀtÑ LÔ LÐ LØ ˆHð øøøð � Š •f˜[Ñ)Ô)Ñ*Ô*Ð*Ð*Ø €Ms!™3³AÁAÁA+Á+B  B c ó‡ —t|¦«}t|¦«}t|¦«Š t|¦«}ˆ fd„|D¦«}ˆ fd„|D¦«}t ¦«}|D]â} t | |¦«} | €Œ| j|vržt| j| | ¦«rt|| ¦«n>ttj   ¦«  d¬¦«¦«| | i¦«| |v¬¦«|| j<Œ¼|| jjp| |v|| j_Œãt||t!|¦«t#| ¦«¦«¬¦«S)Ncóp•—i|]2}t|jD]}|‰j |¦«“ŒŒ3Sr )r rJÚpurchase_datesr%©Ú.0Úsuiter'Úsuites_admin_configs €r"ú z'_single_user_report..�s\ø€ðððà Ý! %Ô(Ô1ððð ð Ð$Ô3×7Ò7¸Ñ>Ô>ððððr!c óŠ•—i|]?}t|jD]*}|‰j |t ¦«¦«“Œ+Œ@Sr )r rJrBr%Údictr_s €r"rcz'_single_user_report..“sbø€ðððà Ý! %Ô(Ô1ððð ð Ð$Ô/×3Ò3°E½4¹6¼6ÑBÔBððððr!é)Úday)r&rArBrC)r;rHrIrJ)r Ú_get_enabled_modulesr rrer)r-r@r%r7ÚdatetimeÚdateÚtodayÚreplacerCrGr>ÚlistÚvalues) rYr;rXrJÚenabled_featuresr(Úfeature_purchase_datesÚfeature_attributesÚbillable_featuresr'Úbilling_featurerbs @r"rRrRƒsÖø€Ý1°#Ñ6Ô6€Hå+¨HÑ5Ô5Ðå1°#Ñ6Ô6ÐÝ'¨Ñ,Ô,€Nððððà#ðñôÐð ðððà#ðñôÐõ ™œÐØðaðaˆÝ8¸À.ÑQÔQˆØ Ð "Ø à Ô Ð(9Ð 9Ð 9Ý7DØ$Ô*ð.×1Ò1°'Ñ:Ô:ð>•CÐ.¨wÔ7Ñ8Ô8Ð8õ�œ ×+Ò+Ñ-Ô-×5Ò5¸!Ð5Ñ<Ô<Ñ=Ô=à-×1Ò1°'¸2Ñ>Ô>ØÐ"2Ð2ð 8ñ 8ô 8Ð ˜oÔ3Ñ 4Ð 4ð$" /Ô"7Ô8Ô?Ð`ÀGÐO_ÐD_ð ˜oÔ3Ô 4Ô ;Ð ;å ØØ!Ý.¨xÑ8Ô8ÝÐ+×2Ò2Ñ4Ô4Ñ5Ô5ð  ñ ô ð r!có¬—t|¦«5d„t|¬¦« ¦«D¦«cddd¦«S#1swxYwYdS)Ncó—h|]\}}}|’Œ Sr r )r`Ú_Úmodules r"ú z'_get_enabled_modules..¼s*€ð.ð.ð.™<˜1˜a �ð.ð.ð.r!)r;)rrÚenabled_modules)rWs r"rhrhºs¬€Ý ˜Ñ Ô ð.ð.ð.ð.­:Øð,ñ,ô,ß*š?Ñ,Ô,ð.ñ.ô.ð.ð.ð.ð.ñ.ô.ð.ð.ð.ð.ð.ð.øøøð.ð.ð.ð.ð.ð.s�,A Á A ÁA cóN—ddlm}ddlm}|d|ji¦«d}|S)z4 Get unique identifier for current end-user r)Údaemon_communicate)Ú WposDaemonÚcommandr6)Ú clwpos.utilsr{Ú clwpos.daemonr|ÚDAEMON_GET_UNIQUE_ID_COMMAND)r{r|r6s r"r2r2ÀsW€ð0Ð/Ð/Ð/Ð/Ð/Ø(Ð(Ð(Ð(Ð(Ð(à"Ð"Ø�:Ô:ð$ñôàô€Ið Ðr!)0rirPr0r3r+r8Ú dataclassesrrÚenumrÚclcommon.clpwdrÚclcommon.cpapirÚtypingrr Úclwpos.feature_suitesr r r r rrÚclwpos.optimization_featuresrrrrrÚclwpos.user.configrr~rrrrr$r)r.r>r@rGr[rRrhr2r r!r"úr‰s­ðØ€€€Ø€€€Ø € € € Ø € € € Ø € € € Ø € € € Ø)Ð)Ð)Ð)Ð)Ð)Ð)Ð)ØÐÐÐÐÐà*Ð*Ð*Ð*Ð*Ð*Ø!Ð!Ð!Ð!Ð!Ð!ØÐÐÐÐÐÐÐððððððððððððððð.Ð-Ð-Ð-Ð-Ð-ððððððððððððððð*Ð)Ð)Ð)Ð)Ð)Ø0Ð0Ð0Ð0Ð0Ð0ð3ð3ð3ð3ð3�Tñ3ô3ð3ð Ô DØ�Ô1ðÐð ÐÑ Ô ð\Ø7EÔ7[ÐÐ3Ñ4ð3ð3ð3ðvðvðvðððð* ðððððñôñ „ðð ð"ð"ð"ð"ð"ñ"ô"ñ „ð"ðððð25 ð5 ð5 ðn.ð.ð.ð ð ð ð ð r!