Commit 325b4424 by devttys0

Updated Modules to have a reset method for resetting dependency modules.

parent d89eb06b
...@@ -170,6 +170,12 @@ class Module(object): ...@@ -170,6 +170,12 @@ class Module(object):
''' '''
return None return None
def reset(self):
'''
Invoked only for dependency modules immediately prior to starting a new primary module.
'''
return None
def init(self): def init(self):
''' '''
Invoked prior to self.run. Invoked prior to self.run.
...@@ -313,6 +319,11 @@ class Module(object): ...@@ -313,6 +319,11 @@ class Module(object):
''' '''
self.status = status self.status = status
# Reset all dependency modules
for (dependency, module) in iterator(self.DEPENDS):
if hasattr(self, dependency):
getattr(self, dependency).reset()
try: try:
self.init() self.init()
except KeyboardInterrupt as e: except KeyboardInterrupt as e:
...@@ -509,7 +520,7 @@ class Modules(object): ...@@ -509,7 +520,7 @@ class Modules(object):
raise ModuleException("Failed to load " + str(dependency)) raise ModuleException("Failed to load " + str(dependency))
else: else:
kwargs[kwarg] = self.loaded_modules[dependency] kwargs[kwarg] = self.loaded_modules[dependency]
return kwargs return kwargs
def argv(self, module, argv=sys.argv[1:]): def argv(self, module, argv=sys.argv[1:]):
......
...@@ -160,6 +160,7 @@ class Signature(Module): ...@@ -160,6 +160,7 @@ class Signature(Module):
self.footer() self.footer()
# Add any pending extracted files to the target_files list and reset the extractor's pending file list
target_files = [self.config.open_file(f) for f in self.extractor.pending] target_files = [self.config.open_file(f) for f in self.extractor.pending]
self.extractor.pending = [] self.extractor.pending = []
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment