From 6609be1d166f4ee991c7b959d1d96410b3efbece Mon Sep 17 00:00:00 2001 From: Trinh Anh Ngoc Date: Fri, 14 Oct 2022 23:31:24 +0700 Subject: [PATCH] Update stubs --- odoo-stubs/api.pyi | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/odoo-stubs/api.pyi b/odoo-stubs/api.pyi index 9e3c674..d5d042e 100644 --- a/odoo-stubs/api.pyi +++ b/odoo-stubs/api.pyi @@ -1,12 +1,13 @@ from collections import defaultdict -from typing import Any, Callable, Generator, Iterator, KeysView, Literal, Mapping, Optional, TypeVar, Union +from typing import Any, Callable, Collection, Generator, Iterable, Iterator, KeysView, Literal, Mapping, Optional, \ + TypeVar, Union from weakref import WeakSet from .fields import Field from .models import BaseModel from .modules.registry import Registry from .sql_db import Cursor -from .tools import frozendict, StackMap +from .tools import OrderedSet, frozendict, StackMap _T = TypeVar('_T') _ModelT = TypeVar('_ModelT', bound=BaseModel) @@ -84,6 +85,9 @@ class Environment(Mapping[str, BaseModel]): def lang(self) -> str: ... def clear(self) -> None: ... def clear_upon_failure(self): ... + def invalidate_all(self, flush: bool = ...) -> None: ... + def _recompute_all(self) -> None: ... + def flush_all(self) -> None: ... def is_protected(self, field: Field, record: BaseModel) -> bool: ... def protected(self, field: Field) -> BaseModel: ... def protecting(self, what, records: Optional[BaseModel] = ...) -> Generator[None, None, None]: ... @@ -102,7 +106,6 @@ class Transaction: cache: Cache protected: StackMap[Field, set[int]] tocompute: defaultdict[Field, set[int]] - towrite: defaultdict[str, dict[int, dict[str, Any]]] def __init__(self, registry: Registry) -> None: ... def flush(self) -> None: ... def clear(self) -> None: ... @@ -113,13 +116,18 @@ EMPTY_DICT: frozendict class Cache: _data: defaultdict[Field, dict] + _dirty: defaultdict[Field, OrderedSet[int]] def __init__(self) -> None: ... + def __repr__(self) -> str: ... def _get_field_cache(self, model: BaseModel, field: Field) -> dict: ... def _set_field_cache(self, model: BaseModel, field: Field): ... def contains(self, record: BaseModel, field: Field) -> bool: ... + def contains_field(self, field: Field) -> bool: ... def get(self, record: BaseModel, field: Field, default=...): ... - def set(self, record: BaseModel, field: Field, value) -> None: ... - def update(self, records: BaseModel, field: Field, values) -> None: ... + def set(self, record: BaseModel, field: Field, value, dirty: bool = ..., check_dirty: bool = ...) -> None: ... + def update(self, records: BaseModel, field: Field, values, dirty: bool = ..., check_dirty: bool = ...) -> None: ... + def update_raw(self, records: BaseModel, field: Field, values, dirty: bool = ..., check_dirty: bool = ...) -> None: ... + def insert_missing(self, records: BaseModel, field: Field, values) -> None: ... def remove(self, record: BaseModel, field: Field) -> None: ... def get_values(self, records: BaseModel, field: Field) -> Iterator: ... def get_until_miss(self, records: BaseModel, field: Field) -> list: ... @@ -127,5 +135,16 @@ class Cache: def get_fields(self, record: BaseModel) -> Iterator[Field]: ... def get_records(self, model: _ModelT, field: Field) -> _ModelT: ... def get_missing_ids(self, records: BaseModel, field: Field) -> Iterator[int]: ... + def get_dirty_fields(self) -> 'set[Field]': ... + def get_dirty_records(self, model: _ModelT, field: Field) -> _ModelT: ... + def has_dirty_fields(self, records: BaseModel, fields: Iterable[Field] | None = ...) -> bool: ... + def clear_dirty_field(self, field: Field) -> Collection[int]: ... def invalidate(self, spec: list[tuple[Field, tuple | None]] | None = ...) -> None: ... + def clear(self) -> None: ... def check(self, env: Environment) -> None: ... + +class Starred: + __slots__ = ['value'] + value: Any + def __init__(self, value) -> None: ... + def __repr__(self) -> str: ...