mirror of
				https://mojerepo.cf/NeoBoot/NeoBoot-9.git
				synced 2025-10-31 02:15:58 +01:00 
			
		
		
		
	Delete __init__.py
This commit is contained in:
		| @@ -1,139 +0,0 @@ | ||||
| #!/usr/bin/python | ||||
| import re | ||||
| from ubi.volume import get_volumes | ||||
| from ubi.block import sort, get_blocks_in_list, extract_blocks | ||||
| from ubi.defines import * | ||||
| from ubi import display | ||||
| from ubi.image import description as image | ||||
| from ubi.block import layout | ||||
|  | ||||
| class ubi: | ||||
|  | ||||
|     def __init__(self, ubi_file): | ||||
|         self._file = ubi_file | ||||
|         self._first_peb_num = 0 | ||||
|         self._blocks = extract_blocks(self) | ||||
|         self._block_count = len(self.blocks) | ||||
|         if self._block_count <= 0: | ||||
|             raise Exception('No blocks found.') | ||||
|         layout_list, data_list, int_vol_list, unknown_list = sort.by_type(self.blocks) | ||||
|         self._layout_blocks_list = layout_list | ||||
|         self._data_blocks_list = data_list | ||||
|         self._int_vol_blocks_list = int_vol_list | ||||
|         self._unknown_blocks_list = unknown_list | ||||
|         arbitrary_block = self.blocks.itervalues().next() | ||||
|         self._min_io_size = arbitrary_block.ec_hdr.vid_hdr_offset | ||||
|         self._leb_size = self.file.block_size - arbitrary_block.ec_hdr.data_offset | ||||
|         layout_pairs = layout.group_pairs(self.blocks, self.layout_blocks_list) | ||||
|         layout_infos = layout.associate_blocks(self.blocks, layout_pairs, self.first_peb_num) | ||||
|         self._images = [] | ||||
|         for i in range(0, len(layout_infos)): | ||||
|             self._images.append(image(self.blocks, layout_infos[i])) | ||||
|  | ||||
|     def _get_file(self): | ||||
|         return self._file | ||||
|  | ||||
|     file = property(_get_file) | ||||
|  | ||||
|     def _get_images(self): | ||||
|         return self._images | ||||
|  | ||||
|     images = property(_get_images) | ||||
|  | ||||
|     def _get_data_blocks_list(self): | ||||
|         return self._data_blocks_list | ||||
|  | ||||
|     data_blocks_list = property(_get_data_blocks_list) | ||||
|  | ||||
|     def _get_layout_blocks_list(self): | ||||
|         return self._layout_blocks_list | ||||
|  | ||||
|     layout_blocks_list = property(_get_layout_blocks_list) | ||||
|  | ||||
|     def _get_int_vol_blocks_list(self): | ||||
|         return self._int_vol_blocks_list | ||||
|  | ||||
|     int_vol_blocks_list = property(_get_int_vol_blocks_list) | ||||
|  | ||||
|     def _get_unknown_blocks_list(self): | ||||
|         return self._unknown_blocks_list | ||||
|  | ||||
|     unknown_blocks_list = property(_get_unknown_blocks_list) | ||||
|  | ||||
|     def _get_block_count(self): | ||||
|         return self._block_count | ||||
|  | ||||
|     block_count = property(_get_block_count) | ||||
|  | ||||
|     def _set_first_peb_num(self, i): | ||||
|         self._first_peb_num = i | ||||
|  | ||||
|     def _get_first_peb_num(self): | ||||
|         return self._first_peb_num | ||||
|  | ||||
|     first_peb_num = property(_get_first_peb_num, _set_first_peb_num) | ||||
|  | ||||
|     def _get_leb_size(self): | ||||
|         return self._leb_size | ||||
|  | ||||
|     leb_size = property(_get_leb_size) | ||||
|  | ||||
|     def _get_peb_size(self): | ||||
|         return self.file.block_size | ||||
|  | ||||
|     peb_size = property(_get_peb_size) | ||||
|  | ||||
|     def _get_min_io_size(self): | ||||
|         return self._min_io_size | ||||
|  | ||||
|     min_io_size = property(_get_min_io_size) | ||||
|  | ||||
|     def _get_blocks(self): | ||||
|         return self._blocks | ||||
|  | ||||
|     blocks = property(_get_blocks) | ||||
|  | ||||
|     def display(self, tab = ''): | ||||
|         display.ubi(self, tab) | ||||
|  | ||||
|  | ||||
| def get_peb_size(path): | ||||
|     file_offset = 0 | ||||
|     offsets = [] | ||||
|     f = open(path, 'rb') | ||||
|     f.seek(0, 2) | ||||
|     file_size = f.tell() + 1 | ||||
|     f.seek(0) | ||||
|     for i in range(0, file_size, FILE_CHUNK_SZ): | ||||
|         buf = f.read(FILE_CHUNK_SZ) | ||||
|         for m in re.finditer(UBI_EC_HDR_MAGIC, buf): | ||||
|             start = m.start() | ||||
|             if not file_offset: | ||||
|                 file_offset = start | ||||
|                 idx = start | ||||
|             else: | ||||
|                 idx = start + file_offset | ||||
|             offsets.append(idx) | ||||
|  | ||||
|         file_offset += FILE_CHUNK_SZ | ||||
|  | ||||
|     f.close() | ||||
|     occurances = {} | ||||
|     for i in range(0, len(offsets)): | ||||
|         try: | ||||
|             diff = offsets[i] - offsets[i - 1] | ||||
|         except: | ||||
|             diff = offsets[i] | ||||
|  | ||||
|         if diff not in occurances: | ||||
|             occurances[diff] = 0 | ||||
|         occurances[diff] += 1 | ||||
|  | ||||
|     most_frequent = 0 | ||||
|     block_size = 0 | ||||
|     for offset in occurances: | ||||
|         if occurances[offset] > most_frequent: | ||||
|             most_frequent = occurances[offset] | ||||
|             block_size = offset | ||||
|  | ||||
|     return block_size | ||||
		Reference in New Issue
	
	Block a user