@@ -46,7 +46,8 @@ def get_requirements(cls) -> List[interfaces.configuration.RequirementInterface]
4646 ),
4747 ]
4848
49- def _generator (self , layer , pattern , maxsize ):
49+ def _generator (self , context , layer_name , pattern , maxsize ):
50+ layer = self .context .layers [layer_name ]
5051 vollog .debug (f"RegEx Pattern: { pattern } " )
5152
5253 # Convert string pattern to bytes for RegExScanner
@@ -60,7 +61,7 @@ def _generator(self, layer, pattern, maxsize):
6061 raise ValueError (f"Invalid regex pattern: { e } " )
6162
6263 for offset in layer .scan (
63- context = self . context , scanner = scanners .RegExScanner (pattern_bytes )
64+ context = context , scanner = scanners .RegExScanner (pattern_bytes )
6465 ):
6566 result_data = layer .read (offset , maxsize , pad = True )
6667
@@ -83,13 +84,14 @@ def _generator(self, layer, pattern, maxsize):
8384 def run (self ):
8485 pattern = self .config .get ("pattern" )
8586 maxsize = self .config .get ("maxsize" , self .MAXSIZE_DEFAULT )
86- layer = self .context .layers [self .config ["primary" ]]
87+ layer_name = self .config ["primary" ]
88+ context = self .context
8789
8890 return renderers .TreeGrid (
8991 [
9092 ("Offset" , format_hints .Hex ),
9193 ("Text" , str ),
9294 ("Hex" , bytes ),
9395 ],
94- self ._generator (layer , pattern , maxsize ),
96+ self ._generator (context , layer_name , pattern , maxsize ),
9597 )
0 commit comments