Create a new file on the remote (and pull it) .. note:: If the project has not been opened, it will be opened upon calling this. :param filename: File name :param contents: File contents :param name: Displayed file name :param description: File description :param parent_folder: Fold
(self, filename: str, contents: bytes, name: str, description: str, parent_folder: Optional['folder.RemoteFolder'] = None, file_type: enums.RemoteFileType = enums.RemoteFileType.BinaryViewAnalysisFileType, progress: 'util.ProgressFuncType' = util.nop)
| 380 | raise RuntimeError(util._last_error()) |
| 381 | |
| 382 | def create_file(self, filename: str, contents: bytes, name: str, description: str, parent_folder: Optional['folder.RemoteFolder'] = None, |
| 383 | file_type: enums.RemoteFileType = enums.RemoteFileType.BinaryViewAnalysisFileType, progress: 'util.ProgressFuncType' = util.nop) -> 'file.RemoteFile': |
| 384 | """ |
| 385 | Create a new file on the remote (and pull it) |
| 386 | |
| 387 | .. note:: If the project has not been opened, it will be opened upon calling this. |
| 388 | |
| 389 | :param filename: File name |
| 390 | :param contents: File contents |
| 391 | :param name: Displayed file name |
| 392 | :param description: File description |
| 393 | :param parent_folder: Folder that will contain the file |
| 394 | :param file_type: Type of File to create |
| 395 | :param progress: Function to call on upload progress updates |
| 396 | :return: Reference to the created file |
| 397 | :raises: RuntimeError if there was an error |
| 398 | """ |
| 399 | if not self.open(): |
| 400 | raise RuntimeError("Failed to open project") |
| 401 | |
| 402 | buf = (ctypes.c_ubyte * len(contents))() |
| 403 | ctypes.memmove(buf, contents, len(contents)) |
| 404 | |
| 405 | folder_handle = parent_folder._handle if parent_folder is not None else None |
| 406 | value = core.BNRemoteProjectCreateFile(self._handle, filename, buf, len(contents), name, description, folder_handle, file_type.value, util.wrap_progress(progress), None) |
| 407 | if value is None: |
| 408 | raise RuntimeError(util._last_error()) |
| 409 | return file.RemoteFile(value) |
| 410 | |
| 411 | def push_file(self, file: 'file.RemoteFile', extra_fields: Optional[Dict[str, str]] = None): |
| 412 | """ |
nothing calls this directly
no test coverage detected