class Drs: def __init__(self, partition: NtfsPartition=None, analyser: MftAnalyser=None): self.partition = partition self.analyser = analyser self.data_bank = dict() @staticmethod def get_partitions(): return PartitionManager.load_partitions() def analyse(self, partition: NtfsPartition, callback): self.partition = partition mft_table = MftTable.load_mft_table(partition=partition) self.analyser = MftAnalyser(mft_table=mft_table, partition=self.partition) self.analyser.deleted_records = self.data_bank t = threading.Thread(target=self.analyser.analyse(callback=callback)) t.start() def recover_record(self, record_number: int): self.analyser.recover_selected(record_number=record_number) def recover_all(self): self.analyser.recover_all()
def analyse(self, partition: NtfsPartition, callback): self.partition = partition mft_table = MftTable.load_mft_table(partition=partition) self.analyser = MftAnalyser(mft_table=mft_table, partition=self.partition) self.analyser.deleted_records = self.data_bank t = threading.Thread(target=self.analyser.analyse(callback=callback)) t.start()