Class representing a folder in a project
| 192 | |
| 193 | |
| 194 | class ProjectFolder: |
| 195 | """ |
| 196 | Class representing a folder in a project |
| 197 | """ |
| 198 | def __init__(self, handle: core.BNProjectFolderHandle): |
| 199 | self._handle = handle |
| 200 | |
| 201 | def __del__(self): |
| 202 | if core is not None: |
| 203 | core.BNFreeProjectFolder(self._handle) |
| 204 | |
| 205 | def __repr__(self) -> str: |
| 206 | path = self.name |
| 207 | parent = self.parent |
| 208 | while parent is not None: |
| 209 | path = parent.name + '/' + path |
| 210 | parent = parent.parent |
| 211 | return f'<ProjectFolder: {self.project.name}/{path}>' |
| 212 | |
| 213 | def __str__(self) -> str: |
| 214 | path = self.name |
| 215 | parent = self.parent |
| 216 | while parent is not None: |
| 217 | path = parent.name + '/' + path |
| 218 | parent = parent.parent |
| 219 | return f'<ProjectFolder: {self.project.name}/{path}>' |
| 220 | |
| 221 | @property |
| 222 | def project(self) -> 'Project': |
| 223 | """ |
| 224 | Get the project that owns this folder |
| 225 | |
| 226 | :return: Project that owns this folder |
| 227 | """ |
| 228 | proj_handle = core.BNProjectFolderGetProject(self._handle) |
| 229 | |
| 230 | if proj_handle is None: |
| 231 | raise ProjectException("Failed to get project for folder") |
| 232 | |
| 233 | return Project(handle=proj_handle) |
| 234 | |
| 235 | @property |
| 236 | def id(self) -> str: |
| 237 | """ |
| 238 | Get the unique id of this folder |
| 239 | |
| 240 | :return: Unique identifier of this folder |
| 241 | """ |
| 242 | return core.BNProjectFolderGetId(self._handle) # type: ignore |
| 243 | |
| 244 | @property |
| 245 | def name(self) -> str: |
| 246 | """ |
| 247 | Get the name of this folder |
| 248 | |
| 249 | :return: Name of this folder |
| 250 | """ |
| 251 | return core.BNProjectFolderGetName(self._handle) # type: ignore |
no outgoing calls
no test coverage detected