diff options
| author | Jordan Wiens <jordan@psifertex.com> | 2018-03-04 18:08:04 -0500 |
|---|---|---|
| committer | Ryan Snyder <ryan@vector35.com> | 2018-07-10 18:11:08 -0400 |
| commit | 8849fb2b2b8dc824bd3f17ce1026a04856477a94 (patch) | |
| tree | e85f3db97d6d6b5fa2a21162c684fd08d47e4ab0 /python/scriptingprovider.py | |
| parent | 8028bd325bc94a385f99122d87ac906ba717ecbf (diff) | |
working division, prints, and metaclasses, but imports broken, still needs work
Diffstat (limited to 'python/scriptingprovider.py')
| -rw-r--r-- | python/scriptingprovider.py | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/python/scriptingprovider.py b/python/scriptingprovider.py index 9cacc6ad..ac0ffd4c 100644 --- a/python/scriptingprovider.py +++ b/python/scriptingprovider.py @@ -26,14 +26,12 @@ import threading import abc import sys -# Binary Ninja Components -import _binaryninjacore as core -from enums import ScriptingProviderExecuteResult, ScriptingProviderInputReadyState -import binaryview -import function -import basicblock -import startup -import log +# Binary Ninja components -- additional imports belong in the appropriate class +from binaryninja import _binaryninjacore as core +from binaryninja.enums import ScriptingProviderExecuteResult, ScriptingProviderInputReadyState + +#2-3 compatibility +from six import with_metaclass class _ThreadActionContext(object): @@ -60,6 +58,7 @@ class _ThreadActionContext(object): class ScriptingOutputListener(object): + from binaryninja import log def _register(self, handle): self._cb = core.BNScriptingOutputListener() self._cb.context = 0 @@ -100,6 +99,10 @@ class ScriptingOutputListener(object): class ScriptingInstance(object): + from binaryninja import binaryview + from binaryninja import basicblock + from binaryninja import log + from binaryninja import function def __init__(self, provider, handle = None): if handle is None: self._cb = core.BNScriptingInstanceCallbacks() @@ -256,6 +259,7 @@ class ScriptingInstance(object): class _ScriptingProviderMetaclass(type): + from binaryninja import startup @property def list(self): """List all ScriptingProvider types (read-only)""" @@ -292,8 +296,8 @@ class _ScriptingProviderMetaclass(type): raise AttributeError("attribute '%s' is read only" % name) -class ScriptingProvider(object): - __metaclass__ = _ScriptingProviderMetaclass +class ScriptingProvider(with_metaclass(_ScriptingProviderMetaclass, object)): + from binaryninja import log name = None instance_class = None @@ -335,6 +339,7 @@ class ScriptingProvider(object): class _PythonScriptingInstanceOutput(object): + from binaryninja import log def __init__(self, orig, is_error): self.orig = orig self.is_error = is_error |
