Example #1
0
def instantiate_stream():
    stream = ImageStream('d:/edt.raw')
    c = ClassicalMBR.parse_stream(stream)

    yield c

    stream.close()
Example #2
0
def get_drive_obj(stream):
    mbr = ClassicalMBR.parse_stream(stream)

    def get_partition_obj(partition_entry, stream):
        partition_generator = {
            k_FAT32: get_fat32_obj,
            k_NTFS: get_ntfs_obj,
            k_ExtendedPartition: get_extended_partition_obj,
            k_ignored: lambda _, __: None
        }[partition_entry[k_partition_type]]

        return partition_generator(partition_entry, stream)

    partitions = (get_partition_obj(entry, stream)
                  for entry in mbr[k_PartitionEntries])

    return partitions
Example #3
0
def get_drive_obj(stream):
    mbr = ClassicalMBR.parse_stream(stream)

    def get_partition_obj(partition_entry, stream):
        partition_generator = {
            k_FAT32: get_fat32_obj,
            k_NTFS:  get_ntfs_obj,
            k_ExtendedPartition: get_extended_partition_obj,
            k_ignored: lambda _, __: None
        }[partition_entry[k_partition_type]]

        return partition_generator(partition_entry, stream)

    partitions = (get_partition_obj(entry, stream)
                  for entry in mbr[k_PartitionEntries])

    return partitions