§ Ù@ªj)ãó$—ddlZddlZddlZddlZddlZddlZddlZddlmZm Z ddl m Z ddl m Z ddlmZddlmZddlmZddlmZdd lmZd ejd ejd eeeffd „Zded e fd„Zded efd„Zdeded dfd„Z ded e fd„Z!d„Z"dS)éN)ÚTupleÚDict)Ú run_command)Úconfig)ÚUSER_NOTIFICATIONS_OFF_MARKER)Ú setup_logging)Úuser_should_be_notified)Úget_stats_notifier_parameters)ÚdateutilÚargsÚlogÚreturncóœ—|jsdStj¦«}|dkr |jsdS |j�t |j|j¦«}nt |j¦«}nR#t$rE}d|›�tj ¦«dœ}|  t|¦«¦«Yd}~nd}~wwxYwtj |¦«}|dfS)zA Generic method to analyze options and call needed funcs )z Only JSON mode supported for nowéÿÿÿÿr)z'Please, specify user id via --id optionrNzerror: ©ÚresultÚ timestamp) ÚjsonÚosÚgetuidÚidÚ notifyUserÚmanage_user_notificationsÚget_notifications_settingsÚ Exceptionr Úgm_datetime_to_unixtimestampÚerrorÚstrÚdumps)r r Ú current_userrÚeÚjson_strs ú�/builddir/build/BUILDROOT/lve-stats-5.0.5-1.el8.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/lvestats/lib/cloudlinux_statsnotifier.pyÚexecuter$sí€ð Œ9ð6Ø5Ð5å”9‘;”;€LØ�qÒР¤ÐØ<Ð<ð Ø Œ?Ð &Ý.¨t¬w¸¼ÑHÔHˆFˆFå/°´Ñ8Ô8ˆFøøÝ ðððà# �m�mÝ!Ô>Ñ@Ô@ð ð ˆð � Š •#�a‘&”&ÑÔÐÐÐÐÐÐøøøøð øøøõ Œz˜&Ñ!Ô!€HØ �Qˆ;Ðs­6A$Á$ B3Á.;B.Â.B3Úuser_idcóæ—dtj¦«dœ}tj¦«}|dks|n|}t j|¦«j}t|¦«|d<t|¦«|d<|S)z' Returns notification settings ÚsuccessrrrÚnotificationsAllowed) r rrrÚpwdÚgetpwuidÚpw_namer Úis_notifications_allowed)r%rr Ú target_userÚusernames r#rr4st€ð"µÔ0UÑ0WÔ0WÐ XÐ X€FÝ”9‘;”;€LØ&2°aÒ&7Ð&7�,�,¸W€KÝŒ|˜KÑ(Ô(Ô0€HÝ2°8Ñ<Ô<€Fˆ<ÑÝ%=¸hÑ%GÔ%G€FÐ !Ñ"Ø €MóÚusercóZ—tj¦«dkrt|¦«Stjddgddd¬¦«}|jdkrt d|j›d|j›�¦«‚tj |j  ¦«¦«}|  d¦«duS) z; Checks if notifications allowed by admin/reseller rz-/usr/share/lve-stats/lve_stats_configs_readerÚnotification_allowedTF)ÚtextÚcapture_outputÚcheckz9Unable to get "notifications_enabled" parameter, reason: z ) rrr Ú subprocessÚrunÚ returncodeÚ ValueErrorÚstdoutÚstderrrÚloadsÚstripÚget)r0rs r#r,r,AsÉ€õ „y�{„{�aÒÐÝ,¨TÑ2Ô2Ð2å”Ð!PØ!7ð!9à%)¸$ÀeðMñMôMˆð Ô  Ò !Ð !Ýð0ÐY_ÔYfð0ð0Ø &¤ ð0ð0ñ1ô1ð 1唘FœM×/Ò/Ñ1Ô1Ñ2Ô2ˆØ�zŠzÐ0Ñ1Ô1°TÐ9Ð9r/Úshould_be_enabledcó —d}tjd¦«}tj|¦«}tj |jd¦«}tj |t¦«}|sqt j ¦«dkr3t||j dd|g¦«t||j d|g¦«d St|dd|g¦«t|d|g¦«d Stj  |¦«rGt j ¦«dkrt||j dd |g¦«d St|dd |g¦«d Sd S) z` Turns on/off notifications per user by creating/removing notifications marker file z/sbin/cagefs_enter_userÚ cagefs_enterz .lvestatsrÚmkdirz-pÚtouchÚrmz-fN) ÚshutilÚwhichr)r*rÚpathÚjoinÚpw_dirrrrr+Úexists)r%r?Úcagefs_enter_userrAÚ user_infoÚ lvestats_dirÚ marker_paths r#Úhandle_users_notificationsrORsT€ð 2ÐÝ”< Ñ/Ô/€LÝ” ˜WÑ%Ô%€IÝ”7—<’<  Ô 0°+Ñ>Ô>€LÝ”'—,’,˜|Õ-JÑKÔK€KØ ð EÝ Œ9‰;Œ;˜!Ò Ð Ý Ð*¨IÔ,=¸wÈÈlÐ[Ñ \Ô \Ð \Ý Ð*¨IÔ,=¸wÈ ÐTÑ UÔ UÐ UÐ UÐ Uå ˜ w°°lÐCÑ DÔ DÐ DÝ ˜ w° Ð<Ñ =Ô =Ð =Ð =Ð =å Œ7�>Š>˜+Ñ &Ô &ð EÝŒy‰{Œ{˜aÒÐÝÐ.° Ô0AÀ4ÈÈ{Ð[Ñ\Ô\Ð\Ð\Ð\å˜\¨4°°{ÐCÑDÔDÐDÐDÐDð  Eð Er/Úshould_be_notifiedcóŒ—dtj¦«dœ}tj¦«}|dks|n|}t ||¦«|S)z‰ Managing user`s notifications by checking input opts, validating and calling creation/removing of notifications marker file r'rr)r rrrrO)r%rPrr r-s r#rrksN€ð "µÔ0UÑ0WÔ0WÐ XÐ X€FÝ”9‘;”;€Là&2°aÒ&7Ð&7�,�,¸W€Kݘ{Ð,>Ñ?Ô?Ð?Ø €Mr/có´—tj¦«}t|dtjtj¬¦«}t jdd¬¦«}| dddd ¬ ¦«| d d t¬ ¦«| dd„¬¦«|  |¬¦«}t||¬¦«\}}t|¦«|S)z Main entrypoint ÚCloudLinuxStatsnotifier)Ú caller_nameÚ file_levelÚ console_levelzE%(prog)s - CLI utility for configuring CloudLinux statistics notifierzcloudlinux-statsnotifier)Ú descriptionÚprogz-jz--jsonzreturn data in JSON formatÚ store_true)ÚhelpÚactionz--idzUser id)rZÚtypez --notifyUsercóL—t|¦« ¦«dkS)NÚtrue)rÚlower)Úxs r#úzmain..Šs€½¸A¹¼¿ º ¹¼È&Ò8P€r/)r\)r )r ) rÚ read_configrÚloggingÚWARNINGÚFATALÚargparseÚArgumentParserÚ add_argumentÚintÚ parse_argsr$Úprint)Úargs_Úcnfr Úparserr r"Ú exit_codes r#Úmainrpxsö€õ Ô Ñ Ô €CÝ ˜Ð)BÝ#*¤?Ý&-¤mð 5ñ 5ô 5€CõÔ $Ø[Ø 'ðñô€Fð ×ÒØ ˆhØ )Øðñôðð ×Ò˜ YµSÐÑ9Ô9Ð9Ø ×Ò˜Ð-QÐ-QÐÑRÔRÐRØ × Ò  %Ð Ñ (Ô (€Då! $¨CÐ0Ñ0Ô0Ñ€HˆiÝ ˆ(�O„O€OØ Ðr/)#r)rcrfrrErr6ÚtypingrrÚclcommon.utilsrÚ lvestats.librÚlvestats.lib.configrÚlvestats.lib.commons.logsetuprÚlvestats.lib.commons.funcr Ú&lvestats.plugins.generic.statsnotifierr Úlvestats.lib.commonsr Ú NamespaceÚLoggerrrir$rÚboolr,rOrrp©r/r#úr}sÄðð € € € Ø€€€Ø€€€Ø € € € Ø € € € Ø € € € ØÐÐÐØÐÐÐÐÐÐÐà&Ð&Ð&Ð&Ð&Ð&ØÐÐÐÐÐØ=Ð=Ð=Ð=Ð=Ð=Ø7Ð7Ð7Ð7Ð7Ð7Ø=Ð=Ð=Ð=Ð=Ð=ØPÐPÐPÐPÐPÐPØ)Ð)Ð)Ð)Ð)Ð)ð�(Ô$ð¨7¬>ð¸eÀCÈÀH¼oððððð4 ¨ð °ð ð ð ð ð: 3ð:¨4ð:ð:ð:ð:ð"E¨ðEÀðEÈðEðEðEðEð2 ¸4ð ÀDð ð ð ð ðððððr/