diff --git a/odoo-stubs/api.pyi b/odoo-stubs/api.pyi index 0399792..758dbf6 100644 --- a/odoo-stubs/api.pyi +++ b/odoo-stubs/api.pyi @@ -1,7 +1,12 @@ +from collections import defaultdict +from weakref import WeakSet + from collections.abc import Mapping from typing import Any, Optional +from odoo.modules.registry import Registry from odoo.sql_db import Cursor +from odoo.tools import StackMap __all__: Any _logger: Any @@ -44,30 +49,29 @@ class Environment(Mapping): cr: Cursor = ... uid: int = ... context: dict = ... - @property - def envs(cls) -> Environments: ... + envs: Environments = ... @classmethod def manage(cls) -> None: ... @classmethod def reset(cls) -> None: ... - registry: Any = ... - cache: Any = ... + registry: Registry = ... + cache: Cache = ... _cache_key: Any = ... _protected: Any = ... - all: Any = ... - def __new__(cls, cr: Any, uid: Any, context: Any, su: bool = ...) -> Environment: ... - def __contains__(self, model_name: Any): ... + all: Environments = ... + def __new__(cls, cr: Cursor, uid: Any, context: Any, su: bool = ...) -> Environment: ... + def __contains__(self, model_name: Any) -> bool: ... def __getitem__(self, model_name: Any): ... def __iter__(self) -> Any: ... - def __len__(self): ... - def __eq__(self, other: Any) -> Any: ... - def __ne__(self, other: Any) -> Any: ... - def __hash__(self) -> Any: ... + def __len__(self) -> int: ... + def __eq__(self, other: Any) -> bool: ... + def __ne__(self, other: Any) -> bool: ... + def __hash__(self) -> int: ... def __call__(self, cr: Optional[Any] = ..., user: Optional[Any] = ..., context: Optional[Any] = ..., su: Optional[Any] = ...) -> Environment: ... def ref(self, xml_id: Any, raise_if_not_found: bool = ...): ... - def is_superuser(self): ... - def is_admin(self): ... - def is_system(self): ... + def is_superuser(self) -> bool: ... + def is_admin(self) -> bool: ... + def is_system(self) -> bool: ... @property def user(self): return self['res.users'] @@ -94,11 +98,11 @@ class Environment(Mapping): def cache_key(self, field: Any): ... class Environments: - envs: Any = ... - cache: Any = ... - protected: Any = ... - tocompute: Any = ... - towrite: Any = ... + envs: WeakSet = ... + cache: Cache = ... + protected: StackMap = ... + tocompute: defaultdict = ... + towrite: defaultdict = ... def __init__(self): ... def add(self, env: Any) -> None: ... def __iter__(self) -> Any: ...