mirror of
				https://mojerepo.cf/NeoBoot/NeoBoot-9.git
				synced 2025-10-31 10:45:48 +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