JezK
Edit File: report_generator.cpython-311.opt-1.pyc
� ǻ�\/�:� � � d dl mZ d dlZd dlZd dlZd dlZd dlZd dlmZ d dl m Z mZmZm Z mZ d dlmZmZ d dlmZ d dlmZmZ d dlmZmZ d d lmZmZ d d lmZmZ d dl m!Z!m"Z"m#Z#m$Z$m%Z%m&Z& d dl'm(Z( d d l)m*Z* d dl+m,Z, d dl-m.Z/ d dl0m1Z1m2Z2m3Z3 e*e4� � Z5 G d� de,� � Z6 G d� d� � Z7 G d� d� � Z8dS )� )�absolute_importN)� pid_exists)�Optional�Dict�Union�List�Tuple)�write_file_via_tempfile� disable_quota)�_add_wp_path_info)�ClPwd�drop_privileges)�FeatureStatusEnum�extract_suites)�acquire_lock�get_server_wide_options)�userdomains�cpusers)�get_admin_suites_config�extract_features�AWPSuite�PremiumSuite�CDNSuite�CDNSuitePro)� UserConfig)� setup_logging)� WposError)�gettext)�SCANNING_STATUS�LAST_SCANNED_TS� SCAN_CACHEc � � e Zd ZdZdS )�ReportGeneratorErrorzH Raised when some bad happened during report generating/getting N)�__name__� __module__�__qualname__�__doc__� � �py/clwpos/report_generator.pyr# r# , s � � � � � �� � �Dr) r# c � � e Zd ZdZd dee fd�Zd� Zd� Zd� Z d� Z ed ed fd �� � Zd e fd�Zd efd�ZdS )� ScanStatusz3 Type for handly scan status manipulations N�pidc � � || _ t |t � � r7t t |� d� � � � \ | _ | _ d S t |t � � r$t t |� � \ | _ | _ d S t t d� � t |� � t |� � d��� � �# t $ r. t t d� � dt |� � i�� � �w xY w)N�/z:Unable to parse scan status: %(status)s, type of: %(type)s)�status�type��message�contextz'Unable to parse scan status: %(status)sr0 ) r- � isinstance�str�map�int�split�current�total�tupler# �_r1 � ValueError)�selfr0 r- s r* �__init__zScanStatus.__init__9 s� � ���� ��&�#�&�&� �+.�s�F�L�L��4E�4E�+F�+F�(���d�j�j�j��F�E�*�*� �+.�s�F�+;�+;�(���d�j�j�j�*��Z�[�[�'*�6�{�{�D��L�L�I�I�� � � �� � � � �&��C�D�D�!�3�v�;�;�/�� � � � ���s �A C �7C �;C � 8Dc �8 � t | j | j f� � S �N)�hashr: r; �r? s r* �__hash__zScanStatus.__hash__K s � ��T�\�4�:�.�/�/�/r) c �. � t |t � � r| j | j |j k |j fS t |t � � r%t | � � |� � � k S t |t � � rt | � � |k S dS )NF)r5 r, r: r; r6 �stripr<