From f966c78138d8defe67c8b49bccbfc89631bdf1a6 Mon Sep 17 00:00:00 2001 From: Trinh Anh Ngoc Date: Sat, 8 Oct 2022 12:39:41 +0700 Subject: [PATCH] Update stubs --- odoo-stubs/tools/date_utils.pyi | 4 ++-- odoo-stubs/tools/osutil.pyi | 5 ++--- odoo-stubs/tools/pdf.pyi | 31 ++++++++++++++++++++++--------- 3 files changed, 26 insertions(+), 14 deletions(-) diff --git a/odoo-stubs/tools/date_utils.pyi b/odoo-stubs/tools/date_utils.pyi index aede951..0d8a21d 100644 --- a/odoo-stubs/tools/date_utils.pyi +++ b/odoo-stubs/tools/date_utils.pyi @@ -1,8 +1,8 @@ import datetime -from dateutil.relativedelta import relativedelta - from typing import Tuple, Iterator, TypeVar +from dateutil.relativedelta import relativedelta + _DateTimeT = TypeVar('_DateTimeT', datetime.date, datetime.datetime) def get_month(date: _DateTimeT) -> Tuple[_DateTimeT, _DateTimeT]: ... diff --git a/odoo-stubs/tools/osutil.pyi b/odoo-stubs/tools/osutil.pyi index b8c48a7..79a5d43 100644 --- a/odoo-stubs/tools/osutil.pyi +++ b/odoo-stubs/tools/osutil.pyi @@ -1,7 +1,6 @@ import ctypes from re import Pattern -from typing import Any, Callable, Generator, Iterable, Iterator -from typing.io import IO +from typing import Any, BinaryIO, Callable, Generator, Iterable, Iterator WINDOWS_RESERVED: Pattern @@ -9,7 +8,7 @@ def clean_filename(name: str, replacement: str = ...) -> str: ... def listdir(dir: str, recursive: bool = ...) -> Iterable[str]: ... def walksymlinks(top: str, topdown: bool = ..., onerror: Callable[[OSError], Any] | None = ...) -> Iterator[tuple[str, list[str], list[str]]]: ... def tempdir() -> Generator[str, None, None]: ... -def zip_dir(path: str, stream: str | IO[bytes], include_dir: bool = ..., fnct_sort: Callable | None = ...) -> None: ... +def zip_dir(path: str, stream: str | BinaryIO, include_dir: bool = ..., fnct_sort: Callable | None = ...) -> None: ... getppid: Callable[[], int] is_running_as_nt_service: Callable[[], bool] diff --git a/odoo-stubs/tools/pdf.pyi b/odoo-stubs/tools/pdf.pyi index 21ed230..9fb3817 100644 --- a/odoo-stubs/tools/pdf.pyi +++ b/odoo-stubs/tools/pdf.pyi @@ -1,9 +1,14 @@ +from io import BytesIO +from re import Pattern +from typing import Any, BinaryIO, Iterable + from PyPDF2 import PdfFileReader, PdfFileWriter -from PyPDF2.generic import ArrayObject as ArrayObject +from PyPDF2.generic import ArrayObject as ArrayObject, IndirectObject from PyPDF2.utils import b_ as b_ -from typing import Any DEFAULT_PDF_DATETIME_FORMAT: str +REGEX_SUBTYPE_UNFORMATED: Pattern +REGEX_SUBTYPE_FORMATED: Pattern def _unwrapping_get(self, key, default: Any | None = ...): ... @@ -11,14 +16,22 @@ class BrandedFileWriter(PdfFileWriter): def __init__(self) -> None: ... PdfFileWriter = BrandedFileWriter -def merge_pdf(pdf_data): ... -def rotate_pdf(pdf): ... - -old_init: Any +def merge_pdf(pdf_data: Iterable[bytes]) -> bytes: ... +def rotate_pdf(pdf: bytes) -> bytes: ... +def add_banner(pdf_stream: str | BinaryIO, text: str | None = ..., logo: bool = ..., thickness: float = ...) -> BytesIO: class OdooPdfFileReader(PdfFileReader): - def getAttachments(self): ... + def getAttachments(self) -> Iterable[tuple[Any, Any]]: ... class OdooPdfFileWriter(PdfFileWriter): - def _create_attachment_object(self, attachment): ... - def addAttachment(self, fname, fdata) -> None: ... + _reader: PdfFileReader | None + is_pdfa: bool + _header: bytes + _ID: Any + def __init__(self, *args, **kwargs): None + def addAttachment(self, fname: str, fdata, subtype: str | None = ...) -> None: ... + def embed_odoo_attachment(self, attachment: 'odoo.model.ir_attachment', subtype: str | None = ...) -> None: ... + def cloneReaderDocumentRoot(self, reader: PdfFileReader) -> None: ... + def convert_to_pdfa(self) -> None: ... + def add_file_metadata(self, metadata_content: bytes) -> None: ... + def _create_attachment_object(self, attachment: dict[str, Any]) -> IndirectObject: ...