File
file ¶
Dealing with file infos of the Notion API.
FO_co = TypeVar('FO_co', bound=(objs.FileObject), default=(objs.FileObject), covariant=True) module-attribute ¶
MAX_FILE_SIZE = 20000000 module-attribute ¶
Maximum file size for single part upload. It's 5MB only for the free plan
NOTION_HOSTED_DOMAIN = 'secure.notion-static.com' module-attribute ¶
AnyFile(*args: Any, **kwargs: Any) ¶
ExternalFile(*, url: str, name: str | None = None, caption: str | None = None) ¶
NotionFile(*, url: str, name: str | None = None, caption: str | None = None) ¶
UploadedFile() ¶
Information about a file that has been uploaded to Notion.
Note
This class is used to represent files that have been uploaded to Notion. After it has been used, e.g. to change a cover or add a file block, it will be converted to a NotionFile (i.e. objs.HostedFile), when read again from the API.
content_length: int | None property ¶
Return the content length of the uploaded file.
content_type: str | None property ¶
Return the content type of the uploaded file.
expiry_time: pnd.DateTime | None property ¶
Return the expiry time of the uploaded file.
file_import_result: objs.FileImportSuccess | objs.FileImportError | None property ¶
Return the file import result of the uploaded file.
file_name: str | None property ¶
Return the file name of the uploaded file.
id: UUID property ¶
Return the ID of the uploaded file.
obj_file_upload: objs.FileUpload instance-attribute ¶
poll_interval: float = 1.0 class-attribute instance-attribute ¶
status: FileUploadStatus property ¶
Return the status of the uploaded file.
__repr__() -> str ¶
__str__() -> str ¶
from_file_upload(file_upload: objs.FileUpload) -> Self classmethod ¶
Create an UploadedFile instance from a FileUpload object.
update_status() -> Self ¶
Update the uploaded file information.
wait_until_uploaded() -> Self ¶
Wait until the uploaded file is fully processed.
get_file_size(file: BinaryIO) -> int ¶
Get the size of a file in bytes.
This function preserves the current file position.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file | BinaryIO | The binary file object to measure | required |
Returns:
| Type | Description |
|---|---|
int | The size of the file in bytes |
get_mime_type(file: BinaryIO) -> str ¶
Detect the MIME type of a file.
This function preserves the current file position.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
file | BinaryIO | The binary file object to analyze | required |
Returns:
| Type | Description |
|---|---|
str | The detected MIME type, or 'application/octet-stream' if unknown |
is_notion_hosted(url: str) -> bool ¶
Check if the URL is hosted on Notion.
url(url: str, *, name: str | None = None, caption: str | None = None) -> NotionFile | ExternalFile ¶
Create a NotionFile or ExternalFile based on the URL.
A name and caption can be provided and will be used as default values, e.g. in a File block.