Skip to content

Commit fbf4821

Browse files
committed
Replace layout.get_newest() with rm_old_blocks()
1 parent 3a2612b commit fbf4821

2 files changed

Lines changed: 8 additions & 33 deletions

File tree

ubireader/ubi/__init__.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
from ubireader.ubi.defines import UBI_EC_HDR_MAGIC, FILE_CHUNK_SZ
2323
from ubireader.ubi import display
2424
from ubireader.ubi.image import description as image
25-
from ubireader.ubi.block import layout
25+
from ubireader.ubi.block import layout, rm_old_blocks
2626

2727
class ubi_base(object):
2828
"""UBI Base object
@@ -148,15 +148,17 @@ def __init__(self, ubi_file):
148148

149149
layout_list, data_list, int_vol_list, unknown_list = sort.by_type(self.blocks)
150150

151-
if len(layout_list) < 2:
152-
error(self, 'Fatal', 'Less than 2 layout blocks found.')
153-
154-
self._layout_blocks_list = layout.get_newest(self.blocks, layout_list)
151+
self._layout_blocks_list = layout_list
155152
self._data_blocks_list = data_list
156153
self._int_vol_blocks_list = int_vol_list
157154
self._unknown_blocks_list = unknown_list
155+
156+
newest_layout_list = rm_old_blocks(self.blocks, self.layout_blocks_list)
157+
158+
if len(newest_layout_list) < 2:
159+
error(self, 'Fatal', 'Less than 2 layout blocks found.')
158160

159-
layout_pairs = layout.group_pairs(self.blocks, self.layout_blocks_list)
161+
layout_pairs = layout.group_pairs(self.blocks, newest_layout_list)
160162

161163
layout_infos = layout.associate_blocks(self.blocks, layout_pairs)
162164

ubireader/ubi/block/layout.py

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -20,33 +20,6 @@
2020
from ubireader.debug import log
2121
from ubireader.ubi.block import sort
2222

23-
def get_newest(blocks, layout_blocks):
24-
"""Filter out old layout blocks from list
25-
26-
Arguments:
27-
List:blocks -- List of block objects
28-
List:layout_blocks -- List of layout block indexes
29-
30-
Returns:
31-
List -- Newest layout blocks in list
32-
"""
33-
34-
layout_temp = list(layout_blocks)
35-
for i in range(0, len(layout_temp)):
36-
for k in range(0, len(layout_blocks)):
37-
if blocks[layout_temp[i]].ec_hdr.image_seq != blocks[layout_blocks[k]].ec_hdr.image_seq:
38-
continue
39-
40-
if blocks[layout_temp[i]].leb_num != blocks[layout_blocks[k]].leb_num:
41-
continue
42-
43-
if blocks[layout_temp[i]].vid_hdr.sqnum > blocks[layout_blocks[k]].vid_hdr.sqnum:
44-
del layout_blocks[k]
45-
break
46-
47-
return layout_blocks
48-
49-
5023
def group_pairs(blocks, layout_blocks_list):
5124
"""Sort a list of layout blocks into pairs
5225

0 commit comments

Comments
 (0)