Update stubs

This commit is contained in:
Trinh Anh Ngoc
2023-05-11 11:42:05 +07:00
parent e53e51ad53
commit 0d57d2c6de

View File

@@ -1,5 +1,5 @@
import datetime import datetime
from typing import Any, Callable, Collection, Iterator, Sequence, Type, TypeVar, Union from typing import Any, Callable, Collection, Generic, Iterator, Sequence, Type, TypeVar, Union, overload
import psycopg2 import psycopg2
from markupsafe import Markup from markupsafe import Markup
@@ -8,6 +8,8 @@ from .api import Environment
from .models import BaseModel from .models import BaseModel
from .tools import date_utils, frozendict from .tools import date_utils, frozendict
_FieldT = TypeVar('_FieldT', bound=Field)
_FieldValueT = TypeVar('_FieldValueT')
_ModelT = TypeVar('_ModelT', bound=BaseModel) _ModelT = TypeVar('_ModelT', bound=BaseModel)
_Selection = list[tuple[str, str]] _Selection = list[tuple[str, str]]
_SelectionRaw = _Selection | Callable[..., _Selection] | str _SelectionRaw = _Selection | Callable[..., _Selection] | str
@@ -31,7 +33,7 @@ class MetaField(type):
def __new__(meta, name, bases, attrs): ... def __new__(meta, name, bases, attrs): ...
def __init__(cls: type[Field], name, bases, attrs) -> None: ... def __init__(cls: type[Field], name, bases, attrs) -> None: ...
class Field(metaclass=MetaField): class Field(Generic[_FieldValueT], metaclass=MetaField):
type: str | None type: str | None
relational: bool relational: bool
translate: bool translate: bool
@@ -150,20 +152,23 @@ class Field(metaclass=MetaField):
def read(self, records: BaseModel) -> None: ... def read(self, records: BaseModel) -> None: ...
def create(self, record_values: list[tuple[BaseModel, Any]]) -> None: ... def create(self, record_values: list[tuple[BaseModel, Any]]) -> None: ...
def write(self, records: _ModelT, value) -> _ModelT: ... def write(self, records: _ModelT, value) -> _ModelT: ...
def __get__(self, record: Union[BaseModel, None], owner): ... @overload
def __get__(self, record: BaseModel, owner) -> _FieldValueT: ...
@overload
def __get__(self: _FieldT, records: None, owner) -> _FieldT: ...
def __set__(self, records: BaseModel, value) -> None: ... def __set__(self, records: BaseModel, value) -> None: ...
def compute_value(self, records: BaseModel) -> None: ... def compute_value(self, records: BaseModel) -> None: ...
def determine_inverse(self, records: BaseModel) -> None: ... def determine_inverse(self, records: BaseModel) -> None: ...
def determine_domain(self, records: BaseModel, operator: str, value) -> list: ... def determine_domain(self, records: BaseModel, operator: str, value) -> list: ...
class Boolean(Field): class Boolean(Field[bool]):
type: str type: str
column_type: tuple[str, str] column_type: tuple[str, str]
def convert_to_column(self, value, record: BaseModel, values: Any | None = ..., validate: bool = ...) -> bool: ... def convert_to_column(self, value, record: BaseModel, values: Any | None = ..., validate: bool = ...) -> bool: ...
def convert_to_cache(self, value, record: BaseModel, validate: bool = ...) -> bool: ... def convert_to_cache(self, value, record: BaseModel, validate: bool = ...) -> bool: ...
def convert_to_export(self, value, record: BaseModel): ... def convert_to_export(self, value, record: BaseModel): ...
class Integer(Field): class Integer(Field[int]):
type: str type: str
column_type: tuple[str, str] column_type: tuple[str, str]
_slots: dict[str, Any] _slots: dict[str, Any]
@@ -174,7 +179,7 @@ class Integer(Field):
def _update(self, records: BaseModel, value) -> None: ... def _update(self, records: BaseModel, value) -> None: ...
def convert_to_export(self, value, record): ... def convert_to_export(self, value, record): ...
class Float(Field): class Float(Field[float]):
type: str type: str
column_cast_from: tuple[str, str, str] column_cast_from: tuple[str, str, str]
_slots: dict[str, Any] _slots: dict[str, Any]
@@ -190,7 +195,7 @@ class Float(Field):
def convert_to_record(self, value, record: BaseModel): ... def convert_to_record(self, value, record: BaseModel): ...
def convert_to_export(self, value, record: BaseModel): ... def convert_to_export(self, value, record: BaseModel): ...
class Monetary(Field): class Monetary(Field[float]):
type: str type: str
column_type: tuple[str, str] column_type: tuple[str, str]
column_cast_from: tuple[str] column_cast_from: tuple[str]
@@ -208,7 +213,7 @@ class Monetary(Field):
def convert_to_read(self, value, record: BaseModel, use_name_get: bool = ...): ... def convert_to_read(self, value, record: BaseModel, use_name_get: bool = ...): ...
def convert_to_write(self, value, record: BaseModel): ... def convert_to_write(self, value, record: BaseModel): ...
class _String(Field): class _String(Field[str]):
_slots: dict[str, Any] _slots: dict[str, Any]
translate: Callable | bool translate: Callable | bool
prefetch: Any prefetch: Any
@@ -271,7 +276,7 @@ class Html(_String):
def convert_to_column(self, value, record: BaseModel, values: Any | None = ..., validate: bool = ...) -> Markup | None: ... def convert_to_column(self, value, record: BaseModel, values: Any | None = ..., validate: bool = ...) -> Markup | None: ...
def convert_to_cache(self, value, record: BaseModel, validate: bool = ...) -> Markup | None: ... def convert_to_cache(self, value, record: BaseModel, validate: bool = ...) -> Markup | None: ...
class Date(Field): class Date(Field[datetime.date]):
type: str type: str
column_type: tuple[str, str] column_type: tuple[str, str]
column_cast_from: tuple[str] column_cast_from: tuple[str]
@@ -291,7 +296,7 @@ class Date(Field):
def convert_to_cache(self, value, record: BaseModel, validate: bool = ...) -> datetime.date | None: ... def convert_to_cache(self, value, record: BaseModel, validate: bool = ...) -> datetime.date | None: ...
def convert_to_export(self, value, record: BaseModel): ... def convert_to_export(self, value, record: BaseModel): ...
class Datetime(Field): class Datetime(Field[datetime.datetime]):
type: str type: str
column_type: tuple[str, str] column_type: tuple[str, str]
column_cast_from: tuple[str] column_cast_from: tuple[str]
@@ -316,7 +321,7 @@ class Datetime(Field):
_BINARY = memoryview _BINARY = memoryview
class Binary(Field): class Binary(Field[bytes]):
type: str type: str
_slots: dict[str, Any] _slots: dict[str, Any]
prefetch: bool prefetch: bool
@@ -344,7 +349,7 @@ class Image(Binary):
def _image_process(self, value): ... def _image_process(self, value): ...
def _process_related(self, value): ... def _process_related(self, value): ...
class Selection(Field): class Selection(Field[str]):
type: str type: str
column_type: tuple[str, str] column_type: tuple[str, str]
_slots: dict[str, Any] _slots: dict[str, Any]
@@ -372,13 +377,12 @@ class Reference(Selection):
def convert_to_export(self, value, record: BaseModel) -> str: ... def convert_to_export(self, value, record: BaseModel) -> str: ...
def convert_to_display_name(self, value, record: BaseModel) -> str: ... def convert_to_display_name(self, value, record: BaseModel) -> str: ...
class _Relational(Field): class _Relational(Field[BaseModel]):
relational: bool relational: bool
_slots: dict[str, Any] _slots: dict[str, Any]
domain: _DomainRaw domain: _DomainRaw
context: dict context: dict
check_company: bool check_company: bool
def __get__(self, records: Union[BaseModel, None], owner) -> BaseModel: ...
comodel_name: str comodel_name: str
def _setup_regular_base(self, model: BaseModel) -> None: ... def _setup_regular_base(self, model: BaseModel) -> None: ...
def get_domain_list(self, model: BaseModel) -> _Domain: ... def get_domain_list(self, model: BaseModel) -> _Domain: ...
@@ -476,7 +480,7 @@ class Many2many(_RelationalMulti):
def write_real(self, records_commands_list: _CommandList, create: bool = ...): ... def write_real(self, records_commands_list: _CommandList, create: bool = ...): ...
def write_new(self, records_commands_list: _CommandList): ... def write_new(self, records_commands_list: _CommandList): ...
class Id(Field): class Id(Field[int]):
type: str type: str
column_type: tuple[str, str] column_type: tuple[str, str]
_slots: dict[str, Any] _slots: dict[str, Any]
@@ -485,7 +489,6 @@ class Id(Field):
readonly: bool readonly: bool
prefetch: bool prefetch: bool
def update_db(self, model: BaseModel, columns) -> None: ... def update_db(self, model: BaseModel, columns) -> None: ...
def __get__(self, record: BaseModel, owner): ...
def __set__(self, record: BaseModel, value) -> None: ... def __set__(self, record: BaseModel, value) -> None: ...
def prefetch_many2one_ids(record: BaseModel, field: Field) -> Iterator: ... def prefetch_many2one_ids(record: BaseModel, field: Field) -> Iterator: ...