Update stubs

This commit is contained in:
Trinh Anh Ngoc
2024-09-09 23:04:00 +07:00
parent f40acb942c
commit 9ccd5280cb
11 changed files with 59 additions and 18 deletions

View File

@@ -27,7 +27,15 @@ _T = TypeVar("_T")
_ModelT = TypeVar("_ModelT", bound=BaseModel)
_CallableT = TypeVar("_CallableT", bound=Callable)
INHERITED_ATTRS: tuple[str, ...]
class NewId:
origin: int | None
ref: Any
def __init__(self, origin: int | None = ..., ref: Any | None = ...) -> None: ...
def __bool__(self) -> bool: ...
def __eq__(self, other) -> bool: ...
def __hash__(self) -> int: ...
def __repr__(self) -> str: ...
def __str__(self) -> str: ...
class Params:
args: tuple

View File

@@ -42,7 +42,7 @@ class MetaField(type):
def __init__(cls: type[Field], name, bases, attrs) -> None: ...
class Field(Generic[_FieldValueT], metaclass=MetaField):
type: str | None
type: str
relational: bool
translate: bool
column_type: tuple[str, str] | None
@@ -52,7 +52,7 @@ class Field(Generic[_FieldValueT], metaclass=MetaField):
inherited: bool
inherited_field: Field | None
name: str
model_name: str
model_name: str | None
comodel_name: str | None
store: bool
index: str | bool | None

View File

@@ -254,6 +254,8 @@ class Request:
def cr(self, value) -> None: ...
@property
def best_lang(self) -> str | None: ...
@property
def cookies(self) -> dict: ...
def csrf_token(self, time_limit: int | None = ...) -> str: ...
def validate_csrf(self, csrf: str) -> bool: ...
def default_context(self) -> dict: ...

View File

@@ -19,7 +19,7 @@ from odoo.addons.base.models.res_company import Company
from odoo.addons.base.models.res_users import Users
from . import api, fields
from .api import Environment
from .api import Environment, NewId
from .fields import Field
from .modules.registry import Registry, TriggerTree
from .sql_db import Cursor
@@ -52,6 +52,7 @@ def check_property_field_value_name(property_name) -> None: ...
def fix_import_export_id_paths(fieldname: str) -> list[str]: ...
def to_company_ids(companies): ...
def check_company_domain_parent_of(self, companies) -> list: ...
def check_companies_domain_parent_of(self, companies) -> list: ...
class MetaModel(api.Meta):
module_to_models: defaultdict[str, list[type[BaseModel]]]
@@ -60,14 +61,6 @@ class MetaModel(api.Meta):
self: type[BaseModel], name: str, bases: tuple, attrs: dict
) -> None: ...
class NewId:
origin: int | None
ref: Any
def __init__(self, origin: int | None = ..., ref: Any | None = ...) -> None: ...
def __bool__(self) -> bool: ...
def __eq__(self, other) -> bool: ...
def __hash__(self) -> int: ...
def origin_ids(ids: Iterable) -> Iterator[int]: ...
class OriginIds:
@@ -78,7 +71,6 @@ class OriginIds:
def expand_ids(id0: _T, ids: Iterable) -> Iterator[_T]: ...
IdType: tuple[type[int], type[NewId]]
PREFETCH_MAX: int
LOG_ACCESS_COLUMNS: list[str]
MAGIC_COLUMNS: list[str]
@@ -199,6 +191,7 @@ class BaseModel(metaclass=MetaModel):
order: str | None = ...,
) -> _ModelT: ...
def _compute_display_name(self) -> None: ...
def _search_display_name(self, operator, value): ...
def name_create(self, name: str) -> tuple[int, str]: ...
def name_search(
self,
@@ -267,6 +260,9 @@ class BaseModel(metaclass=MetaModel):
def _read_group_format_result_properties(
self, rows_dict: Iterable[dict], group: str
) -> None: ...
def _read_group_get_annotated_groupby(
self, groupby: str | list[str], lazy: bool
): ...
def read_group(
self,
domain: list,

View File

@@ -1,3 +1,4 @@
from re import Pattern
from types import ModuleType
from typing import Any, Literal
@@ -5,6 +6,7 @@ from odoo.addons.base.models.ir_module import Module
MANIFEST_NAMES: tuple[str, ...]
README: list[str]
TYPED_FIELD_DEFINITION_RE: Pattern
class UpgradeHook:
def find_spec(

View File

@@ -2,11 +2,13 @@ from functools import wraps as wraps
from typing import IO, Any, Callable, Iterable, Literal, TypeVar
from ..sql_db import Cursor
from ..tools import SQL
_CallableT = TypeVar("_CallableT", bound=Callable)
class DatabaseExists(Warning): ...
def database_identifier(cr: Cursor, name: str) -> SQL: ...
def check_db_management_enabled(method: _CallableT) -> _CallableT: ...
def check_super(passwd: str) -> Literal[True]: ...
def exp_create_database(

View File

@@ -3,11 +3,14 @@ from concurrent.futures import Future
from contextlib import contextmanager
from itertools import count
from subprocess import Popen
from typing import Any, Callable, Generator, Mapping, Match, TypeVar
from typing import Any, Callable, Generator, Iterable, Mapping, Match, TypeVar
from xmlrpc import client as xmlrpclib
import requests
from freezegun.api import _freeze_time
from odoo.addons.base.models.res_currency import Currency
from odoo.addons.base.models.res_users import Users
from urllib3.util import Url
from websocket import WebSocket
from ..api import Environment
@@ -100,7 +103,11 @@ class BaseCase(case.TestCase, metaclass=MetaCase):
self, default: int = ..., flush: bool = ..., **counters
) -> Generator[None, None, None]: ...
def assertRecordValues(
self, records: BaseModel, expected_values: list[dict[str, Any]]
self,
records: BaseModel,
expected_values: list[dict[str, Any]],
*,
field_names: Iterable[str] | None = ...
) -> None: ...
def assertItemsEqual(self, a, b, msg: str | None = ...) -> None: ...
def assertTreesEqual(self, n1, n2, msg: str | None = ...) -> None: ...
@@ -114,6 +121,13 @@ class Like:
regex: str
def __init__(self, pattern) -> None: ...
class Approx:
value: float
cmp: Callable
def __init__(self, value: float, rounding: int | float | Currency) -> None: ...
def __repr__(self) -> str: ...
def __eq__(self, other: object) -> bool | NotImplemented: ...
savepoint_seq: count[int]
class TransactionCase(BaseCase):
@@ -121,6 +135,7 @@ class TransactionCase(BaseCase):
env: Environment
cr: Cursor
muted_registry_logger: mute_logger
freeze_time: Any
@classmethod
def setUpClass(cls) -> None: ...
def setUp(self) -> None: ...
@@ -207,6 +222,10 @@ class HttpCase(TransactionCase):
xmlrpc_object: xmlrpclib.ServerProxy
opener: Opener
def setUp(self) -> None: ...
def parse_http_location(self, location: str) -> Url: ...
def assertURLEqual(
self, test_url: str, truth_url: str, message: str | None = ...
) -> None: ...
def url_open(
self,
url: str,
@@ -249,3 +268,11 @@ def users(*logins: str) -> Callable[[_CallableT], _CallableT]: ...
def warmup(func: _CallableT, *args, **kwargs) -> _CallableT: ...
def can_import(module: str) -> bool: ...
def tagged(*tags: str) -> Callable[[_CallableT], _CallableT]: ...
class freeze_time:
freezer: _freeze_time | None
time_to_freeze: Any
def __init__(self, time_to_freeze) -> None: ...
def __call__(self, func): ...
def __enter__(self): ...
def __exit__(self, *args) -> None: ...

View File

@@ -22,6 +22,7 @@ from .js_transpiler import ODOO_MODULE_RE as ODOO_MODULE_RE
from .js_transpiler import URL_RE as URL_RE
from .js_transpiler import is_odoo_module as is_odoo_module
from .js_transpiler import transpile_javascript as transpile_javascript
from .json import json_default as json_default
from .mail import *
from .misc import *
from .parse_version import parse_version as parse_version

View File

@@ -46,9 +46,9 @@ def average_dominant_color(
) -> tuple[Any, Any]: ...
def image_fix_orientation(image: Image) -> Image: ...
def binary_to_image(source: bytes) -> Image: ...
def base64_to_image(base64_source: bytes) -> Image: ...
def image_apply_opt(image: Image, output_format: str | None, **params) -> bytes: ...
def image_to_base64(image: Image, output_format: str | None, **params) -> bytes: ...
def base64_to_image(base64_source: str | bytes) -> Image: ...
def image_apply_opt(image: Image, output_format: str, **params) -> bytes: ...
def image_to_base64(image: Image, output_format: str, **params) -> bytes: ...
def get_webp_size(source: bytes) -> tuple[float, float] | None: ...
def is_image_size_above(base64_source_1: bytes, base64_source_2: bytes) -> bool: ...
def image_guess_size_from_field_name(field_name: str) -> tuple[int, int]: ...

View File

@@ -10,3 +10,5 @@ class JSON:
def dumps(self, *args, **kwargs) -> _ScriptSafe: ...
scriptsafe: JSON
def json_default(obj): ...

View File

@@ -24,6 +24,7 @@ TRANSLATED_ATTRS: dict[str, Any]
def translate_attrib_value(node: _Element) -> bool: ...
avoid_pattern: Pattern
space_pattern: Pattern
def translate_xml_node(
node: _Element,