§
½@¾jö4 ã ó¶ — d dl Z d dlZd dlmZ ddlmZ ddlmZmZm Z m
Z
mZmZm
Z
ddlmZmZmZmZ edz Zdd d
dœZdd
dœZdd
dœZdd„Zd„ Zd„ Zdd„Zd„ ZdS )é N)Úmod_makedirsé )Úlve_stats2_lib)Úboolean_to_yes_noÚis_positive_intÚmin_num_notify_converterÚrepack_dictÚstr_to_booleanÚtime_convertor_to_dictÚtime_unit_to_letter)ÚLveStats2ExceptionÚStatsNotifierConfigÚStatsNotifierDirÚfaults_dictz
/resellers.d/ÚnotifyResellerÚnotifyResellerOnCustomersÚnotifyCustomers)ÚNOTIFY_RESELLER_ON_TOTAL_FAULTSÚ#NOTIFY_RESELLER_ON_CUSTOMERS_FAULTSÚNOTIFY_CUSTOMERS_ON_FAULTSÚresellerÚcustomer)ÚNOTIFY_MIN_FAULTS_RESELLERÚNOTIFY_MIN_FAULTS_CUSTOMER)ÚNOTIFY_INTERVAL_RESELLERÚNOTIFY_INTERVAL_CUSTOMERÚrc ó — d|v rHt j | t j t j z t j z t j z d¦ « }n,t j | t j t j z ¦ « }t j ||d¬¦ « S )NÚwé€ zutf-8)ÚmodeÚencoding)ÚosÚopenÚO_WRONLYÚO_CREATÚO_TRUNCÚ
O_NOFOLLOWÚO_RDONLYÚfdopen)Ú file_namer! Úfds ú&py/clconfig/lve_stats2_reseller_lib.pyÚ_openr. / si € à
ˆd€{€{Ý
ŒW�Y¥¤b¬jÑ 8½2¼:Ñ EÍÌ
Ñ UÐW\Ñ
]Ô
]ˆˆå
ŒW�Y¥¤b¬mÑ ;Ñ
<Ô
<ˆÝ
Œ9�R˜d¨WÐ5Ñ5Ô5Ð5ó c óî — | €t d¦ « ‚d| v s+d| v s'd| v s#d| v st j | ¦ « rt dd| id œ¦ « ‚t j t | › d
�¦ « }t j t ¦ « }t j |¦ « |t j z ¦ « st d||dœd œ¦ « ‚|S )
an
Validate ``reseller`` as a bare system username and build its
StatsNotifier config path under ResellerStatsNotifierDir.
A real reseller username can never contain a path separator, a NUL byte
or '..', nor be an absolute path; rejecting those stops os.path.join from
silently discarding the base dir (absolute name) or traversing out of it.
Nzreseller can`t be Noneú/ú\ú z..z#invalid reseller name: %(reseller)sr ©ÚmessageÚcontextz_StatsNotifier.cfgz-reseller config path %(path)s escapes %(dir)s)ÚpathÚdir)
Ú
ValueErrorr# r7 Úisabsr
ÚjoinÚResellerStatsNotifierDirÚrealpathÚ
startswithÚsep)r Úconfig_pathÚreal_dirs r- Ú_reseller_config_pathrB 8 s € ð ÐÝÐ1Ñ2Ô2Ð2؈xˆˆ˜4 8Ð+Ð+¨t°xÐ/?Ð/?Ø�xÐÐ¥2¤7§=¢=°Ñ#:Ô#:ÐÝ Ð-RØ.8¸(Ð-Cð"Eð "Eñ Fô Fð Få”'—,’,Õ7¸HÐ9XÐ9XÐ9XÑYÔY€KåŒw×ÒÕ 8Ñ9Ô9€HÝ
Œ7×Ò˜KÑ(Ô(×3Ò3°H½r¼vÑ4EÑFÔFð VÝ Ð-\Ø6AÈ(Ð-SÐ-Sð"Uð "Uñ Vô Vð VàÐr/ c ó~ ‡— t j ¦ « d¦ « Šˆfd„dD ¦ « } d‰d ‰d d ‰d d dœ‰d ‰d d d
‰d d d dœ‰d d d
‰d d d dœdœ| ‰d
dœiS )z;
Creates default StatsNotifier config for reseller
ÚfaultsNotificationc ó. •— i | ]}|‰d | “ŒS )ÚfaultsToInclude© )Ú.0ÚkeyÚadmin_configs €r- ú