ÿØÿà JFIF ÿþ; %PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 157.90.209.209 / Your IP : 216.73.216.148 [ Web Server : Apache System : Linux hcomm124.dns-wk.info 4.18.0-553.64.1.el8_10.x86_64 #1 SMP Mon Jul 28 12:01:56 EDT 2025 x86_64 User : evidenciarevista ( 1049) PHP Version : 7.2.34 Disable Function : exec,passthru,shell_exec,system Domains : 216 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/model/ |
Upload File : |
import time from peewee import CharField, IntegerField, CompositeKey from defence360agent.contracts.config import IContactMessageType from defence360agent.model import Model, instance from defence360agent.utils.common import DAY, WEEK THROTTLING_PERIOD = { IContactMessageType.MALWARE_FOUND: DAY, IContactMessageType.SCAN_NOT_SCHEDULED: WEEK, } class IContactThrottle(Model): class Meta: database = instance.db db_table = "icontact_throttle" primary_key = CompositeKey("message_type", "user") message_type = CharField() user = CharField(null=True) #: The last time we sent a notification about :attr:`message_type` timestamp = IntegerField(default=0) @classmethod def may_be_notified(cls, message_type, period_limit, user=None): obj, _ = cls.get_or_create(message_type=message_type, user=user) return (time.time() - obj.timestamp) > period_limit @classmethod def refresh(cls, message_type, user=None): cls.update(timestamp=time.time()).where( cls.message_type == message_type, cls.user.is_null(True) if user is None else cls.user == user, ).execute()