diff options
Diffstat (limited to 'python/__init__.py')
| -rw-r--r-- | python/__init__.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/python/__init__.py b/python/__init__.py index 3d2123b3..e07bd7c5 100644 --- a/python/__init__.py +++ b/python/__init__.py @@ -650,6 +650,22 @@ class AnalysisCompletionEvent(object): self.callback = self._empty_callback core.BNCancelAnalysisCompletionEvent(self.handle) +class AnalysisProgress(object): + def __init__(self, state, count, total): + self.state = state + self.count = count + self.total = total + + def __str__(self): + if self.state == core.DisassembleState: + return "Disassembling (%d/%d)" % (self.count, self.total) + if self.state == core.AnalyzeState: + return "Analyzing (%d/%d)" % (self.count, self.total) + return "Idle" + + def __repr__(self): + return "<progress: %s>" % str(self) + class BinaryView(object): name = None """Binary View name""" @@ -928,6 +944,12 @@ class BinaryView(object): def saved(self, value): self.file.saved = value + @property + def analysis_progress(self): + """Status of current analysis (read-only)""" + result = core.BNGetAnalysisProgress(self.handle) + return AnalysisProgress(result.state, result.count, result.total) + def __len__(self): return int(core.BNGetViewLength(self.handle)) |
