MCPcopy Create free account
hub / github.com/Vector35/binaryninja-api / RemoteFolder

Class RemoteFolder

python/collaboration/folder.py:10–164  ·  view source on GitHub ↗

Class representing a remote folder in a project.

Source from the content-addressed store, hash-verified

8
9
10class RemoteFolder:
11 """
12 Class representing a remote folder in a project.
13 """
14 def __init__(self, handle: core.BNRemoteFolderHandle):
15 self._handle = ctypes.cast(handle, core.BNRemoteFolderHandle)
16
17 def __del__(self):
18 if core is not None:
19 core.BNFreeRemoteFolder(self._handle)
20
21 def __eq__(self, other):
22 if not isinstance(other, RemoteFolder):
23 return False
24 return self.id == other.id
25
26 def __repr__(self):
27 path = self.name
28 parent = self.parent
29 while parent is not None:
30 path = parent.name + '/' + path
31 parent = parent.parent
32 return f'<folder: {self.remote.name}/{self.project.name}/{path}>'
33
34 def __str__(self):
35 path = self.name
36 parent = self.parent
37 while parent is not None:
38 path = parent.name + '/' + path
39 parent = parent.parent
40 return f'<folder: {self.remote.name}/{self.project.name}/{path}>'
41
42 @property
43 def core_folder(self) -> 'core_project.ProjectFolder':
44 core_handle = core.BNRemoteFolderGetCoreFolder(self._handle)
45 if core_handle is None:
46 raise RuntimeError(util._last_error())
47 return core_project.ProjectFolder(handle=ctypes.cast(core_handle, ctypes.POINTER(core.BNProjectFolder)))
48
49 @property
50 def project(self) -> 'project.RemoteProject':
51 """
52 Owning Project.
53
54 :return: Project object
55 """
56 value = core.BNRemoteFolderGetProject(self._handle)
57 if value is None:
58 raise RuntimeError(util._last_error())
59 return project.RemoteProject(handle=value)
60
61 @property
62 def remote(self) -> 'remote.Remote':
63 """
64 Owning Remote
65
66 :return: Remote object
67 """

Callers 1

parentMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected