Exemple #1
0
    def __str__(self) -> str:
        result: str = f"Foler Path: '{self._imagefile}:{self._folderpath}'\r\n"
        result += f"Partition Index: '{self._partitionindex}\r\n\r\n"
        headers: list = ['Name', 'Type', 'Size', 'Create Date', 'Modify Date']
        row_format: str = "{:<45}{:<10}{:<10}{:<21}{:<21}\r\n"
        result += row_format.format(*headers) + "\r\n"
        for item in self._folderitems:
            result += row_format.format(item.Name.decode(), item.Type,
                                        str(format_bytes(item.Size)),
                                        str(item.create),
                                        str(item.modify_date))

        return result
Exemple #2
0
    def get_image_metadata(self) -> EWFMetadata:
        """
        Retrieves all available metadata of the image and returns a EWFMetadata object.
        """
        headers: dict = self._imageinfo.ewf_handle.get_header_values()
        hashes: dict = self._imageinfo.ewf_handle.get_hash_values()
        metadata: EWFMetadata = EWFMetadata(
            hashes=hashes,
            headers=headers,
            bytes_per_sector=self._imageinfo.ewf_handle.bytes_per_sector,
            number_of_sectors=self._imageinfo.ewf_handle.get_number_of_sectors(
            ),
            image_size=format_bytes(
                self._imageinfo.ewf_handle.get_media_size()))

        return metadata
Exemple #3
0
    def get_folder_items_in_csv_format(self) -> str:
        """
        For every item in the folder yields a comma seperated string.
        """
        for item in self._folderitems:

            folderpath: str = self._folderpath.strip('/')
            filepath: str = ""
            if folderpath != "":
                filepath = "/".join([
                    self._imagefile,
                    str(self._partitionindex), folderpath,
                    item.Name.decode()
                ])
            else:
                filepath = f"{self._imagefile}/{str(self._partitionindex)}/{item.Name.decode()}"
            result: str = ",".join([
                str(self._partitionindex), filepath, item.Type,
                str(format_bytes(item.Size)),
                str(item.create),
                str(item.modify_date)
            ])
            yield result
Exemple #4
0
    def test_format_bytes_Terra_2(self):
        """Should return 1TB"""
        size = 1125899906842624
        expected = "1024.0TB"

        self.assertEqual(expected, format_bytes(size))
Exemple #5
0
    def test_format_bytes_Terra(self):
        """Should return 1TB"""
        size = 1099511627776
        expected = "1.0TB"

        self.assertEqual(expected, format_bytes(size))
Exemple #6
0
    def test_format_bytes_Giga(self):
        """Should return 1GB"""
        size = 1073741824
        expected = "1.0GB"

        self.assertEqual(expected, format_bytes(size))
Exemple #7
0
    def test_format_bytes_Mega_2(self):
        """Should return 1MB"""
        size = 1048577
        expected = "1.0MB"

        self.assertEqual(expected, format_bytes(size))
Exemple #8
0
    def test_format_bytes_Kilo(self):
        """Should return 1KB"""
        size = 1025
        expected = "1.0KB"

        self.assertEqual(expected, format_bytes(size))