pluginmanager module¶
|
|
|
|
|
|
|
date(year, month, day) --> date object |
|
The year, month and day arguments are required. |
- class RepoPlugin(handle: binaryninja._binaryninjacore.LP_BNRepoPlugin)[source]¶
Bases:
object
RepoPlugin
is mostly read-only, however you can install/uninstall enable/disable plugins. RepoPlugins are created by parsing the plugins.json in a plugin repository.- Parameters
handle (binaryninja._binaryninjacore.LP_BNRepoPlugin) –
- enable(force: bool = False) bool [source]¶
Enable this plugin, optionally trying to force it. Force loading a plugin with ignore platform and api constraints. (e.g. The plugin author says the plugin will only work on Linux-python3 but you’d like to attempt to load it on Macos-python2)
- install_instructions(platform: str) Optional[str] [source]¶
Installation instructions for the given platform
- property delete_pending: bool¶
Boolean status indicating that the plugin will be deleted after the next restart
- property dependencies_being_installed: bool¶
Boolean status indicating that the plugin’s dependencies are currently being installed
- property disable_pending: bool¶
Boolean status indicating that the plugin will be disabled after the next restart
- property plugin_types: List[PluginType]¶
List of PluginType enumeration objects indicating the plugin type(s)
- property project_data: Dict¶
Gets a json object of the project data field
- property subdir: str¶
Optional sub-directory the plugin code lives in as a relative path from the plugin root
- class Repository(handle: binaryninja._binaryninjacore.LP_BNRepository)[source]¶
Bases:
object
Repository
is a read-only class. Use RepositoryManager to Enable/Disable/Install/Uninstall plugins.- Parameters
handle (binaryninja._binaryninjacore.LP_BNRepository) –
- Return type
None
- property plugins: List[RepoPlugin]¶
List of RepoPlugin objects contained within this repository
- class RepositoryManager[source]¶
Bases:
object
RepositoryManager
Keeps track of all the repositories and keeps the enabled_plugins.json file coherent with the plugins that are installed/uninstalled enabled/disabled- add_repository(url: Optional[str] = None, repopath: Optional[str] = None) bool [source]¶
add_repository
adds a new plugin repository for the manager to track.There is currently no function to remove a repository. If you want to remove a repository, you must delete the directory and remove the plugin_status.json entries from repositories/ file in the User Folder
- Parameters
- Returns
Boolean value True if the repository was successfully added, False otherwise.
- Return type
Boolean
- Example
>>> mgr = RepositoryManager() >>> mgr.add_repository("https://raw.githubusercontent.com/Vector35/community-plugins/master/plugins.json", "community") True >>>
- property default_repository: Repository¶
Gets the default Repository
- property plugins: Dict[str, List[RepoPlugin]]¶
List of all RepoPlugins in each repository
- property repositories: List[Repository]¶
List of Repository objects being managed