66from pathlib import Path
77from typing import Optional
88
9- import attr
9+ import attrs
1010from structlog import get_logger
1111from treelib import Tree
1212from treelib .exceptions import NodeIDAbsentError
@@ -141,59 +141,59 @@ class YaffsObjectType(IntEnum):
141141 SPECIAL = 5
142142
143143
144- @attr .define
144+ @attrs .define
145145class YAFFSChunk :
146146 chunk_id : int
147147 offset : int
148148 byte_count : int
149149 object_id : int
150150
151151
152- @attr .define
152+ @attrs .define
153153class YAFFS1Chunk (YAFFSChunk ):
154154 serial : int
155155 ecc : bytes
156156 page_status : int
157157 block_status : int
158158
159159
160- @attr .define
160+ @attrs .define
161161class YAFFS2Chunk (YAFFSChunk ):
162162 seq_number : int
163163
164164
165- @attr .define
165+ @attrs .define
166166class YAFFSFileVar :
167167 file_size : int
168168 stored_size : int
169169 shrink_size : int
170170 top_level : int
171171
172172
173- @attr .define
173+ @attrs .define
174174class YAFFSConfig :
175175 endianness : Endian
176176 page_size : int
177177 spare_size : int
178178 ecc : bool
179179
180180
181- @attr .define
181+ @attrs .define
182182class YAFFSEntry :
183183 object_type : YaffsObjectType
184184 object_id : int
185185 parent_obj_id : int
186- sum_no_longer_used : int = attr . ib (default = 0 )
187- name : str = attr . ib (default = "" )
188- alias : str = attr . ib (default = "" )
189- equiv_id : int = attr . ib (default = 0 )
190- file_size : int = attr . ib (default = 0 )
191- st_mode : int = attr . ib (default = 0 )
192- st_uid : int = attr . ib (default = 0 )
193- st_gid : int = attr . ib (default = 0 )
194- st_atime : int = attr . ib (default = 0 )
195- st_mtime : int = attr . ib (default = 0 )
196- st_ctime : int = attr . ib (default = 0 )
186+ sum_no_longer_used : int = attrs . field (default = 0 )
187+ name : str = attrs . field (default = "" )
188+ alias : str = attrs . field (default = "" )
189+ equiv_id : int = attrs . field (default = 0 )
190+ file_size : int = attrs . field (default = 0 )
191+ st_mode : int = attrs . field (default = 0 )
192+ st_uid : int = attrs . field (default = 0 )
193+ st_gid : int = attrs . field (default = 0 )
194+ st_atime : int = attrs . field (default = 0 )
195+ st_mtime : int = attrs . field (default = 0 )
196+ st_ctime : int = attrs . field (default = 0 )
197197
198198 def __lt__ (self , other ):
199199 return self .object_id < other .object_id
@@ -208,18 +208,18 @@ def __str__(self):
208208 return f"{ self .object_id } : { self .name } "
209209
210210
211- @attr .define (kw_only = True )
211+ @attrs .define (kw_only = True )
212212class YAFFS2Entry (YAFFSEntry ):
213- chksum : int = attr . ib (default = 0 )
214- st_rdev : int = attr . ib (default = 0 )
215- win_ctime : list [int ] = attr . ib (default = [])
216- win_mtime : list [int ] = attr . ib (default = [])
217- inband_shadowed_obj_id : int = attr . ib (default = 0 )
218- inband_is_shrink : int = attr . ib (default = 0 )
219- reserved : list [int ] = attr . ib (default = [])
220- shadows_obj : int = attr . ib (default = 0 )
221- is_shrink : int = attr . ib (default = 0 )
222- filehead : YAFFSFileVar = attr . ib (default = None )
213+ chksum : int = attrs . field (default = 0 )
214+ st_rdev : int = attrs . field (default = 0 )
215+ win_ctime : list [int ] = attrs . field (default = [])
216+ win_mtime : list [int ] = attrs . field (default = [])
217+ inband_shadowed_obj_id : int = attrs . field (default = 0 )
218+ inband_is_shrink : int = attrs . field (default = 0 )
219+ reserved : list [int ] = attrs . field (default = [])
220+ shadows_obj : int = attrs . field (default = 0 )
221+ is_shrink : int = attrs . field (default = 0 )
222+ filehead : YAFFSFileVar = attrs . field (default = None )
223223
224224
225225def iterate_over_file (
0 commit comments