veg_HdZddlmZddlmZddlmZGddZdS) zn This module contains a base class including methods, common for SSA Request Processor and SSA Decision Maker )Tuple)dateload_configurationceZdZdZdZdZedefdZede fdZ de de fdZ edefd Zd S) Commonz Base SSA module class c8||_dSN) load_confconfigselfs I/opt/cloudlinux/venv/lib64/python3.11/site-packages/ssa/modules/common.py__init__zCommon.__init__snn&& cNt|d}||dS)a All undefined attributes, e.g. - domains_number - urls_number - correlation_coefficient - correlation - request_number - time are queried in config. Others would be empty r )getattrget)ritemconfs r __getattr__zCommon.__getattr__s'tX&&xxb!!!rreturnc ddhS)Ndomain_total_reqsis_a_wordpress_domainrs rnon_url_fieldszCommon.non_url_fields)s#%<==rcN|jd}d|DS)z/ Render configured ignore list ,c^g|]*}||+Sr)strip).0is r z-Common.configured_ignores..3s-999aqwwyy9 999r) ignore_listsplit)relementss rconfigured_ignoreszCommon.configured_ignores-s. #))#..9989999r_urlcHfd|jD}t|S)z8 Check if given URL matches ignore list c3 K|]}|vV dSr r)r$ignr+s r z$Common.is_ignored..9s'DDSSD[DDDDDDr)r*any)rr+ gen_checks ` r is_ignoredzCommon.is_ignored5s.EDDDD,CDDD 9~~rctS)z$ Load configuration rrrrr zCommon.load_conf<s "###rN)__name__ __module__ __qualname____doc__rrpropertysetrlistr*strboolr2 staticmethoddictr rrrr r s''' " " ">>>>X>:D:::X:st$t$$$\$$$rr N)r7typingrdatetimer configurationrr rrrrBsy....../$/$/$/$/$/$/$/$/$/$r