jp fdZddlZddlmZmZmZmZmZddlm Z dZ dZ ej dZ d d hZd Zeed eed dedeeddedeedddedeeddedeeddedeededeed d!d"ed#eeed$eed%i Zefd&ed'ed(efd)ZdS)*zF This module contains validation schema for config file loaded values N)SchemaAndOptionalUse SchemaError)SSAErrori'dz[\x00-\x1f\x7f]*?ct|}t|tkrtdtd|dD}t|t krtdt d|D]X}t |tkrtd|t |rtd|Y|S)Nz&ignore_list exceeds maximum length of c^g|]*}||+S)strip).0ps S/opt/cloudlinux/venv/lib64/python3.11/site-packages/ssa/configuration/validation.py z)_validate_ignore_list.. s-===a17799= ===,zignore_list exceeds maximum of z patternsz0ignore_list pattern must not be wildcards-only: z1ignore_list pattern contains control characters: ) strlen_MAX_IGNORE_LIST_LENGTHrsplit_MAX_IGNORE_PATTERNSset_WILDCARD_ONLY_CHARS_DISALLOWED_CHARS_REsearch)spatternsrs r_validate_ignore_listr"s AA 1vv''' N5L N NPP P==1773<<===H 8}}+++ M.B M M MOO O  K K q66) ) )H1HHJJ J  & &q ) ) KIAIIKK K K Hrdomains_numberc|dkSNrrns rr(2s 16rz.number of domains should be a positive integer)error urls_numberc|dkSr%rr&s rr(r(4s Arz+number of URLs should be a positive integerrequests_durationc t|SNfloatr&s rr(r(6s U1XXrc|dkS)Nrr&s rr(r(7s Srz#request duration should be positiverequest_numberc|dkSr%rr&s rr(r(9s 1q5rz/number of requests should be a positive integertimec"d|cxkodkncS)Nr rr&s rr(r(;sa2rz8time should be a positive integer between 1 and 12, or 0 correlationz*bad correlation value, should be On or Offcorrelation_coefficientc t|Sr.r/r&s rr(r(?s 588rc"d|cxkodkncS)Nr2g?rr&s rr(r(@ssQ~~~~#~~~~rz?correlation coefficient could not be negative or greater than 1 ignore_listsummary_notification_enabledz+bad notification value, should be On or Offdataschemereturnc ||S#t$r$}tdt|d}~wwxYw)z9 Validate given data. Returns validated data zInvalid configuration: N)validaterr r)r>r?es rrBrBHsU ;t$$$ ;;;9Q99:::;s AAA)__doc__reschemarrrrrinternal.exceptionsr rrcompilerrr"intboolconfiguration_schemadictrBrrrrMs ::::::::::::::******"rz"455Sz   ,v H C)9)9*Z!\!\!\ H]SSoo'TVVV H !!33ss+=+='>'>'8'8-R$T$T$T H C*[!]!]!] HVcc#55 Z\\\ H]SS'SUUU H &''SS1C1C-D-D-E-E3t*v*v*v H]SS!677 H +,,cc$8e/g/g/g%.+?;;4;;4;;;;;;r