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

Method create_file

python/collaboration/project.py:382–409  ·  view source on GitHub ↗

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)

Source from the content-addressed store, hash-verified

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 """

Callers

nothing calls this directly

Calls 2

openMethod · 0.95
RemoteFileMethod · 0.80

Tested by

no test coverage detected