예제 #1
0
파일: drs.py 프로젝트: eepDev/DRS
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()
예제 #2
0
파일: drs.py 프로젝트: eepDev/DRS
    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()