(:5 r d Z ddlZddlZddlZddlmZ ej e Z ed Z dZ dZ G d dej Z d Zd ddZd dd ZdS )zZ Used to fix issue with inability to unserialize stored scans. See DEF-23121 for details. N)Pathz$/var/imunify360/aibolit/scans.picklezim360.malwarelibzimav.malwarelibc e Zd Z fdZ xZS )AVUnpicklerc $ t || S # t $ r` | t rDt j | t t }t || cY S w xY wN) super find_classModuleNotFoundError startswithIM360_MALWARELIB importlib import_modulereplace AV_MALWARELIBgetattr)selfmodulename av_module __class__s l/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/migrations/187_fix_scan_unserialization.pyr zAVUnpickler.find_class s 77%%fd333" !122 0%3NN#3]CC y$///// s !% A&B B)__name__ __module____qualname__r __classcell__)r s @r r r s8 r c | |j dz }| d 5 }t j | | d d d n# 1 swxY w Y | | d S )Nz.tempwb) with_namer openpickledumpr )objpath temp_pathfs r r" r" s ty7233I C ds AAAF)fakec |st sd S t t v r t d 5 }t | }d d d n# 1 swxY w Y t |t d S # t $ r,}t dt | Y d }~d S d }~ww xY wd S )Nrbz"Failed to load pickle scans %s: %s) SCANS_PATHexistsr encode read_bytesr r loadr" Exceptionlogger exception)migratorr' ___r&