Update stubs for Odoo 15

This commit is contained in:
Trinh Anh Ngoc
2021-10-18 22:54:11 +07:00
parent 30b8009bbd
commit 08737f3b92
78 changed files with 2330 additions and 1986 deletions

View File

@@ -1,16 +1,17 @@
from . import addons as addons, api as api, cli as cli, conf as conf, fields as fields, http as http, loglevels as loglevels, models as models, netsvc as netsvc, osv as osv, release as release, service as service, sql_db as sql_db, tools as tools, upgrade as upgrade from . import addons as addons, api as api, cli as cli, conf as conf, fields as fields, http as http, loglevels as loglevels, models as models, netsvc as netsvc, osv as osv, release as release, service as service, sql_db as sql_db, tools as tools, upgrade as upgrade
from odoo.fields import Command as Command
from odoo.tools.translate import _ as _, _lt as _lt from odoo.tools.translate import _ as _, _lt as _lt
from typing import Any, Optional from typing import Any
__path__: Any __path__: Any
evented: bool evented: bool
def gevent_wait_callback(conn: Any, timeout: Optional[Any] = ...) -> None: ... def gevent_wait_callback(conn, timeout: Any | None = ...) -> None: ...
multi_process: bool multi_process: bool
def _decompress(data: Any): ... def _decompress(data): ...
SUPERUSER_ID: int SUPERUSER_ID: int
def registry(database_name: Optional[Any] = ...): ... def registry(database_name: Any | None = ...): ...

View File

@@ -1,5 +1,5 @@
from collections.abc import Mapping from collections.abc import Mapping
from typing import Any, Optional from typing import Any
from odoo.sql_db import Cursor from odoo.sql_db import Cursor
@@ -8,63 +8,64 @@ _logger: Any
INHERITED_ATTRS: Any INHERITED_ATTRS: Any
class Params: class Params:
args: Any = ... args: Any
kwargs: Any = ... kwargs: Any
def __init__(self, args: Any, kwargs: Any) -> None: ... def __init__(self, args, kwargs) -> None: ...
def __str__(self): ... def __str__(self): ...
class Meta(type): class Meta(type):
def __new__(meta: Any, name: Any, bases: Any, attrs: Any): ... def __new__(meta, name, bases, attrs): ...
def attrsetter(attr: Any, value: Any): ... def attrsetter(attr, value): ...
def propagate(method1: Any, method2: Any): ... def propagate(method1, method2): ...
def constrains(*args: Any): ... def constrains(*args): ...
def onchange(*args: Any): ... def ondelete(at_uninstall): ...
def depends(*args: Any): ... def onchange(*args): ...
def depends_context(*args: Any): ... def depends(*args): ...
def returns(model: Any, downgrade: Optional[Any] = ..., upgrade: Optional[Any] = ...): ... def depends_context(*args): ...
def downgrade(method: Any, value: Any, self: Any, args: Any, kwargs: Any): ... def returns(model, downgrade: Any | None = ..., upgrade: Any | None = ...): ...
def split_context(method: Any, args: Any, kwargs: Any): ... def downgrade(method, value, self, args, kwargs): ...
def autovacuum(method: Any): ... def split_context(method, args, kwargs): ...
def model(method: Any): ... def autovacuum(method): ...
def model(method): ...
_create_logger: Any _create_logger: Any
def _model_create_single(create: Any, self: Any, arg: Any): ... def _model_create_single(create, self, arg): ...
def model_create_single(method: Any): ... def model_create_single(method): ...
def _model_create_multi(create: Any, self: Any, arg: Any): ... def _model_create_multi(create, self, arg): ...
def model_create_multi(method: Any): ... def model_create_multi(method): ...
def _call_kw_model(method: Any, self: Any, args: Any, kwargs: Any): ... def _call_kw_model(method, self, args, kwargs): ...
def _call_kw_model_create(method: Any, self: Any, args: Any, kwargs: Any): ... def _call_kw_model_create(method, self, args, kwargs): ...
def _call_kw_multi(method: Any, self: Any, args: Any, kwargs: Any): ... def _call_kw_multi(method, self, args, kwargs): ...
def call_kw(model: Any, name: Any, args: Any, kwargs: Any): ... def call_kw(model, name, args, kwargs): ...
class Environment(Mapping): class Environment(Mapping):
_local: Any = ... _local: Any = ...
cr: Cursor = ... cr: Cursor = ...
uid: int = ... uid: int = ...
context: dict = ... context: dict = ...
@classmethod
@property @property
def envs(cls) -> Environments: ... def envs(cls) -> None: ...
@classmethod @classmethod
def manage(cls) -> None: ... def manage(cls) -> None: ...
@classmethod def reset(self) -> None: ...
def reset(cls) -> None: ... transaction: Any
registry: Any = ... registry: Any
cache: Any = ... cache: Any
_cache_key: Any = ... _cache_key: Any
_protected: Any = ... _protected: Any
all: Any = ... def __new__(cls, cr, uid, context, su: bool = ...) -> Environment: ...
def __new__(cls, cr: Any, uid: Any, context: Any, su: bool = ...) -> Environment: ... def __contains__(self, model_name): ...
def __contains__(self, model_name: Any): ... def __getitem__(self, model_name): ...
def __getitem__(self, model_name: Any): ... def __iter__(self): ...
def __iter__(self) -> Any: ...
def __len__(self): ... def __len__(self): ...
def __eq__(self, other: Any) -> Any: ... def __eq__(self, other): ...
def __ne__(self, other: Any) -> Any: ... def __ne__(self, other): ...
def __hash__(self) -> Any: ... def __hash__(self): ...
def __call__(self, cr: Optional[Any] = ..., user: Optional[Any] = ..., context: Optional[Any] = ..., su: Optional[Any] = ...) -> Environment: ... def __call__(self, cr: Any | None = ..., user: Any | None = ..., context: Any | None = ..., su: Any | None = ...) -> Environment: ...
def ref(self, xml_id: Any, raise_if_not_found: bool = ...): ... def ref(self, xml_id, raise_if_not_found: bool = ...): ...
def is_superuser(self): ... def is_superuser(self): ...
def is_admin(self): ... def is_admin(self): ...
def is_system(self): ... def is_system(self): ...
@@ -80,44 +81,49 @@ class Environment(Mapping):
@property @property
def lang(self) -> str: ... def lang(self) -> str: ...
def clear(self) -> None: ... def clear(self) -> None: ...
def clear_upon_failure(self) -> None: ... def clear_upon_failure(self): ...
def is_protected(self, field: Any, record: Any): ... def is_protected(self, field, record): ...
def protected(self, field: Any): ... def protected(self, field): ...
def protecting(self, what: Any, records: Optional[Any] = ...) -> None: ... def protecting(self, what, records: Any | None = ...) -> None: ...
def fields_to_compute(self): ... def fields_to_compute(self): ...
def records_to_compute(self, field: Any): ... def records_to_compute(self, field): ...
def is_to_compute(self, field: Any, record: Any): ... def is_to_compute(self, field, record): ...
def not_to_compute(self, field: Any, records: Any): ... def not_to_compute(self, field, records): ...
def add_to_compute(self, field: Any, records: Any): ... def add_to_compute(self, field, records): ...
def remove_to_compute(self, field: Any, records: Any) -> None: ... def remove_to_compute(self, field, records) -> None: ...
def norecompute(self) -> None: ... def norecompute(self) -> None: ...
def cache_key(self, field: Any): ... def cache_key(self, field): ...
class Environments: class Transaction:
envs: Any = ... registry: Any
cache: Any = ... envs: Any
protected: Any = ... cache: Any
tocompute: Any = ... protected: Any
towrite: Any = ... tocompute: Any
def __init__(self): ... towrite: Any
def add(self, env: Any) -> None: ... def __init__(self, registry): ...
def __iter__(self) -> Any: ... def flush(self) -> None: ...
def clear(self) -> None: ...
def reset(self) -> None: ...
NOTHING: Any NOTHING: Any
EMPTY_DICT: Any
class Cache: class Cache:
_data: Any = ... _data: Any
def __init__(self) -> None: ... def __init__(self) -> None: ...
def contains(self, record: Any, field: Any): ... def _get_field_cache(self, model, field): ...
def get(self, record: Any, field: Any, default: Any = ...): ... def _set_field_cache(self, model, field): ...
def set(self, record: Any, field: Any, value: Any) -> None: ... def contains(self, record, field): ...
def update(self, records: Any, field: Any, values: Any) -> None: ... def get(self, record, field, default=...): ...
def remove(self, record: Any, field: Any) -> None: ... def set(self, record, field, value) -> None: ...
def get_values(self, records: Any, field: Any) -> None: ... def update(self, records, field, values) -> None: ...
def get_until_miss(self, records: Any, field: Any): ... def remove(self, record, field) -> None: ...
def get_records_different_from(self, records: Any, field: Any, value: Any): ... def get_values(self, records, field) -> None: ...
def get_fields(self, record: Any) -> None: ... def get_until_miss(self, records, field): ...
def get_records(self, model: Any, field: Any): ... def get_records_different_from(self, records, field, value): ...
def get_missing_ids(self, records: Any, field: Any) -> None: ... def get_fields(self, record) -> None: ...
def invalidate(self, spec: Optional[Any] = ...) -> None: ... def get_records(self, model, field): ...
def check(self, env: Any) -> None: ... def get_missing_ids(self, records, field) -> None: ...
def invalidate(self, spec: Any | None = ...) -> None: ...
def check(self, env) -> None: ...

View File

@@ -1,2 +1,2 @@
from . import cloc as cloc, deploy as deploy, populate as populate, scaffold as scaffold, server as server, shell as shell, start as start from . import cloc as cloc, deploy as deploy, populate as populate, scaffold as scaffold, server as server, shell as shell, start as start, tsconfig as tsconfig
from .command import Command as Command, main as main from .command import Command as Command, main as main

View File

@@ -1,5 +1,4 @@
from . import Command from . import Command
from typing import Any
class Cloc(Command): class Cloc(Command):
def run(self, args: Any) -> None: ... def run(self, args) -> None: ...

View File

@@ -3,11 +3,11 @@ from typing import Any
commands: Any commands: Any
class CommandType(type): class CommandType(type):
def __init__(cls, name: Any, bases: Any, attrs: Any) -> None: ... def __init__(cls, name, bases, attrs) -> None: ...
Command: Any Command: Any
class Help(Command): class Help(Command):
def run(self, args: Any) -> None: ... def run(self, args) -> None: ...
def main() -> None: ... def main() -> None: ...

View File

@@ -2,9 +2,9 @@ from . import Command
from typing import Any from typing import Any
class Deploy(Command): class Deploy(Command):
session: Any = ... session: Any
def __init__(self) -> None: ... def __init__(self) -> None: ...
def deploy_module(self, module_path: Any, url: Any, login: Any, password: Any, db: str = ..., force: bool = ...): ... def deploy_module(self, module_path, url, login, password, db: str = ..., force: bool = ...): ...
def login_upload_module(self, module_file: Any, url: Any, login: Any, password: Any, db: Any, force: bool = ...): ... def login_upload_module(self, module_file, url, login, password, db, force: bool = ...): ...
def zip_module(self, path: Any): ... def zip_module(self, path): ...
def run(self, cmdargs: Any) -> None: ... def run(self, cmdargs) -> None: ...

View File

@@ -4,8 +4,8 @@ from typing import Any
_logger: Any _logger: Any
class Populate(Command): class Populate(Command):
def run(self, cmdargs: Any) -> None: ... def run(self, cmdargs) -> None: ...
@classmethod @classmethod
def populate(cls, env: Any, size: Any, model_patterns: bool = ...): ... def populate(cls, env, size, model_patterns: bool = ...): ...
@classmethod @classmethod
def _get_ordered_models(cls, env: Any, model_patterns: bool = ...): ... def _get_ordered_models(cls, env, model_patterns: bool = ...): ...

View File

@@ -1,25 +1,25 @@
from . import Command from . import Command
from typing import Any, Optional from typing import Any
class Scaffold(Command): class Scaffold(Command):
def run(self, cmdargs: Any) -> None: ... def run(self, cmdargs) -> None: ...
def epilog(self): ... def epilog(self): ...
builtins: Any builtins: Any
def snake(s: Any): ... def snake(s): ...
def pascal(s: Any): ... def pascal(s): ...
def directory(p: Any, create: bool = ...): ... def directory(p, create: bool = ...): ...
env: Any env: Any
class template: class template:
id: Any = ... id: Any
path: Any = ... path: Any
def __init__(self, identifier: Any) -> None: ... def __init__(self, identifier) -> None: ...
def __str__(self): ... def __str__(self): ...
def files(self) -> None: ... def files(self) -> None: ...
def render_to(self, modname: Any, directory: Any, params: Optional[Any] = ...) -> None: ... def render_to(self, modname, directory, params: Any | None = ...) -> None: ...
def die(message: Any, code: int = ...) -> None: ... def die(message, code: int = ...) -> None: ...
def warn(message: Any) -> None: ... def warn(message) -> None: ...

View File

@@ -8,11 +8,11 @@ _logger: Any
def check_root_user() -> None: ... def check_root_user() -> None: ...
def check_postgres_user() -> None: ... def check_postgres_user() -> None: ...
def report_configuration() -> None: ... def report_configuration() -> None: ...
def rm_pid_file(main_pid: Any) -> None: ... def rm_pid_file(main_pid) -> None: ...
def setup_pid_file() -> None: ... def setup_pid_file() -> None: ...
def export_translation() -> None: ... def export_translation() -> None: ...
def import_translation() -> None: ... def import_translation() -> None: ...
def main(args: Any) -> None: ... def main(args) -> None: ...
class Server(Command): class Server(Command):
def run(self, args: Any) -> None: ... def run(self, args) -> None: ...

View File

@@ -1,21 +1,21 @@
import code import code
from . import Command from . import Command
from typing import Any, Optional from typing import Any
_logger: Any _logger: Any
def raise_keyboard_interrupt(*a: Any) -> None: ... def raise_keyboard_interrupt(*a) -> None: ...
class Console(code.InteractiveConsole): class Console(code.InteractiveConsole):
def __init__(self, locals: Optional[Any] = ..., filename: str = ...) -> None: ... def __init__(self, locals: Any | None = ..., filename: str = ...) -> None: ...
class Shell(Command): class Shell(Command):
supported_shells: Any = ... supported_shells: Any
def init(self, args: Any) -> None: ... def init(self, args) -> None: ...
def console(self, local_vars: Any): ... def console(self, local_vars): ...
def ipython(self, local_vars: Any) -> None: ... def ipython(self, local_vars) -> None: ...
def ptpython(self, local_vars: Any) -> None: ... def ptpython(self, local_vars) -> None: ...
def bpython(self, local_vars: Any) -> None: ... def bpython(self, local_vars) -> None: ...
def python(self, local_vars: Any) -> None: ... def python(self, local_vars) -> None: ...
def shell(self, dbname: Any) -> None: ... def shell(self, dbname) -> None: ...
def run(self, args: Any): ... def run(self, args): ...

View File

@@ -1,8 +1,7 @@
from . import Command from . import Command
from typing import Any
class Start(Command): class Start(Command):
def get_module_list(self, path: Any): ... def get_module_list(self, path): ...
def run(self, cmdargs: Any): ... def run(self, cmdargs): ...
def die(message: Any, code: int = ...) -> None: ... def die(message, code: int = ...) -> None: ...

View File

@@ -0,0 +1,13 @@
from . import Command
class TSConfig(Command):
command_name: str
def __init__(self) -> None: ...
def get_module_list(self, path): ...
def clean_path(self, path): ...
def prefix_suffix_path(self, path, prefix, suffix): ...
def remove_(self, modules, module) -> None: ...
def run(self, cmdargs) -> None: ...
def generate_imports(self, modules): ...
def generate_file_content(self, modules, paths): ...
def generate_excludes(self): ...

View File

@@ -1,35 +1,35 @@
from typing import Any, Optional from typing import Any
_logger: Any _logger: Any
class UserError(Exception): class UserError(Exception):
def __init__(self, message: Any) -> None: ... def __init__(self, message) -> None: ...
@property @property
def name(self): ... def name(self): ...
class RedirectWarning(Exception): class RedirectWarning(Exception):
def __init__(self, message: Any, action: Any, button_text: Any, additional_context: Optional[Any] = ...) -> None: ... def __init__(self, message, action, button_text, additional_context: Any | None = ...) -> None: ...
@property @property
def name(self): ... def name(self): ...
class AccessDenied(UserError): class AccessDenied(UserError):
__cause__: Any = ... __cause__: Any
traceback: Any = ... traceback: Any
def __init__(self, message: str = ...) -> None: ... def __init__(self, message: str = ...) -> None: ...
class AccessError(UserError): ... class AccessError(UserError): ...
class CacheMiss(KeyError): class CacheMiss(KeyError):
def __init__(self, record: Any, field: Any) -> None: ... def __init__(self, record, field) -> None: ...
class MissingError(UserError): ... class MissingError(UserError): ...
class ValidationError(UserError): ... class ValidationError(UserError): ...
class except_orm(UserError): class except_orm(UserError):
def __init__(self, name: Any, value: Optional[Any] = ...) -> None: ... def __init__(self, name, value: Any | None = ...) -> None: ...
class Warning(UserError): class Warning(UserError):
def __init__(self, *args: Any, **kwargs: Any) -> None: ... def __init__(self, *args, **kwargs) -> None: ...
class QWebException(Exception): class QWebException(Exception):
def __init__(self, *args: Any, **kwargs: Any) -> None: ... def __init__(self, *args, **kwargs) -> None: ...

View File

@@ -1,6 +1,6 @@
import datetime import datetime
import enum import enum
from typing import Any, Optional from typing import Any
from odoo.tools import date_utils from odoo.tools import date_utils
@@ -12,487 +12,495 @@ _logger: Any
_schema: Any _schema: Any
Default: Any Default: Any
def first(records: Any): ... def first(records): ...
def resolve_mro(model: Any, name: Any, predicate: Any): ... def resolve_mro(model, name, predicate): ...
class MetaField(type): class MetaField(type):
by_type: Any = ... by_type: Any
def __init__(cls, name: Any, bases: Any, attrs: Any) -> None: ... def __init__(cls, name, bases, attrs) -> None: ...
_global_seq: Any _global_seq: Any
class Field(MetaField('DummyField', (object,), {})): class Field:
type: Any = ... type: Any
relational: bool = ... relational: bool
translate: bool = ... translate: bool
column_type: Any = ... column_type: Any
column_format: str = ... column_format: str
column_cast_from: Any = ... column_cast_from: Any
write_sequence: int = ... write_sequence: int
args: Any = ... args: Any
_module: Any = ... _module: Any
_modules: Any = ... _modules: Any
_setup_done: Any = ... _setup_done: bool
_sequence: Any = ... _sequence: Any
automatic: bool = ... _base_fields: Any
inherited: bool = ... _extra_keys: Any
inherited_field: Any = ... _direct: bool
name: Any = ... _toplevel: bool
model_name: Any = ... automatic: bool
comodel_name: Any = ... inherited: bool
store: bool = ... inherited_field: Any
index: bool = ... name: Any
manual: bool = ... model_name: Any
copy: bool = ... comodel_name: Any
_depends: Any = ... store: bool
_depends_context: Any = ... index: bool
recursive: bool = ... manual: bool
compute: Any = ... copy: bool
compute_sudo: bool = ... _depends: Any
inverse: Any = ... _depends_context: Any
search: Any = ... recursive: bool
related: Any = ... compute: Any
company_dependent: bool = ... compute_sudo: bool
default: Any = ... inverse: Any
string: Any = ... search: Any
help: Any = ... related: Any
invisible: bool = ... company_dependent: bool
readonly: bool = ... default: Any
required: bool = ... string: Any
states: Any = ... help: Any
groups: Any = ... invisible: bool
change_default: bool = ... readonly: bool
deprecated: Any = ... required: bool
related_field: Any = ... states: Any
group_operator: Any = ... groups: Any
group_expand: Any = ... change_default: bool
prefetch: bool = ... deprecated: Any
def __init__(self, string: Any = ..., **kwargs: Any) -> None: ... related_field: Any
def new(self, **kwargs: Any): ... group_operator: Any
group_expand: Any
prefetch: bool
def __init__(self, string=..., **kwargs) -> None: ...
def new(self, **kwargs): ...
def __str__(self): ... def __str__(self): ...
def __repr__(self): ... def __repr__(self): ...
def setup_base(self, model: Any, name: Any) -> None: ... def __set_name__(self, owner, name) -> None: ...
def _can_setup_from(self, field: Any): ... def _get_attrs(self, model_class, name): ...
def _get_attrs(self, model: Any, name: Any): ... def _setup_attrs(self, model_class, name): ...
def _setup_attrs(self, model: Any, name: Any): ... def prepare_setup(self) -> None: ...
def setup_full(self, model: Any) -> None: ... def setup(self, model) -> None: ...
def _setup_regular_base(self, model: Any) -> None: ... def setup_nonrelated(self, model) -> None: ...
depends: Any = ... def get_depends(self, model): ...
depends_context: Any = ... def setup_related(self, model) -> None: ...
def _setup_regular_full(self, model: Any) -> None: ... def traverse_related(self, record): ...
def _setup_related_full(self, model: Any) -> None: ... def _compute_related(self, records) -> None: ...
def traverse_related(self, record: Any): ... def _process_related(self, value): ...
def _compute_related(self, records: Any) -> None: ... def _inverse_related(self, records) -> None: ...
def _process_related(self, value: Any): ... def _search_related(self, records, operator, value): ...
def _inverse_related(self, records: Any) -> None: ... _related_comodel_name: Any
def _search_related(self, records: Any, operator: Any, value: Any): ... _related_string: Any
_related_comodel_name: Any = ... _related_help: Any
_related_string: Any = ... _related_groups: Any
_related_help: Any = ... _related_group_operator: Any
_related_groups: Any = ...
_related_group_operator: Any = ...
@property @property
def base_field(self): ... def base_field(self): ...
def _default_company_dependent(self, model: Any): ... @property
def _compute_company_dependent(self, records: Any) -> None: ... def groupable(self): ...
def _inverse_company_dependent(self, records: Any) -> None: ... def _default_company_dependent(self, model): ...
def _search_company_dependent(self, records: Any, operator: Any, value: Any): ... def _compute_company_dependent(self, records) -> None: ...
def resolve_depends(self, registry: Any) -> None: ... def _inverse_company_dependent(self, records) -> None: ...
def get_description(self, env: Any): ... def _search_company_dependent(self, records, operator, value): ...
_description_store: Any = ... def resolve_depends(self, registry) -> None: ...
_description_manual: Any = ... def get_description(self, env): ...
_description_depends: Any = ... _description_store: Any
_description_related: Any = ... _description_manual: Any
_description_company_dependent: Any = ... _description_related: Any
_description_readonly: Any = ... _description_company_dependent: Any
_description_required: Any = ... _description_readonly: Any
_description_states: Any = ... _description_required: Any
_description_groups: Any = ... _description_states: Any
_description_change_default: Any = ... _description_groups: Any
_description_deprecated: Any = ... _description_change_default: Any
_description_group_operator: Any = ... _description_deprecated: Any
_description_group_operator: Any
def _description_depends(self, env): ...
@property @property
def _description_searchable(self): ... def _description_searchable(self): ...
@property @property
def _description_sortable(self): ... def _description_sortable(self): ...
def _description_string(self, env: Any): ... def _description_string(self, env): ...
def _description_help(self, env: Any): ... def _description_help(self, env): ...
def is_editable(self): ... def is_editable(self): ...
def null(self, record: Any): ... def null(self, record): ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... def convert_to_column(self, value, record, values: Any | None = ..., validate: bool = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value, record, validate: bool = ...): ...
def convert_to_record(self, value: Any, record: Any): ... def convert_to_record(self, value, record): ...
def convert_to_record_multi(self, values: Any, records: Any): ... def convert_to_record_multi(self, values, records): ...
def convert_to_read(self, value: Any, record: Any, use_name_get: bool = ...): ... def convert_to_read(self, value, record, use_name_get: bool = ...): ...
def convert_to_write(self, value: Any, record: Any): ... def convert_to_write(self, value, record): ...
def convert_to_onchange(self, value: Any, record: Any, names: Any): ... def convert_to_onchange(self, value, record, names): ...
def convert_to_export(self, value: Any, record: Any): ... def convert_to_export(self, value, record): ...
def convert_to_display_name(self, value: Any, record: Any): ... def convert_to_display_name(self, value, record): ...
def update_db(self, model: Any, columns: Any): ... def update_db(self, model, columns): ...
def update_db_column(self, model: Any, column: Any) -> None: ... def update_db_column(self, model, column) -> None: ...
def update_db_notnull(self, model: Any, column: Any) -> None: ... def update_db_notnull(self, model, column) -> None: ...
def update_db_related(self, model: Any) -> None: ... def update_db_related(self, model) -> None: ...
def read(self, records: Any) -> None: ... def read(self, records) -> None: ...
def create(self, record_values: Any) -> None: ... def create(self, record_values) -> None: ...
def write(self, records: Any, value: Any): ... def write(self, records, value): ...
# def __get__(self, record: Any, owner: Any): ... # def __get__(self, record, owner): ...
def mapped(self, records: Any): ... def mapped(self, records): ...
def __set__(self, records: Any, value: Any): ... def __set__(self, records, value): ...
def recompute(self, records: Any) -> None: ... def recompute(self, records) -> None: ...
def compute_value(self, records: Any) -> None: ... def compute_value(self, records) -> None: ...
def determine_inverse(self, records: Any) -> None: ... def determine_inverse(self, records) -> None: ...
def determine_domain(self, records: Any, operator: Any, value: Any): ... def determine_domain(self, records, operator, value): ...
class Boolean(Field): class Boolean(Field):
type: str = ... type: str
column_type: Any = ... column_type: Any
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... def convert_to_column(self, value, record, values: Any | None = ..., validate: bool = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value, record, validate: bool = ...): ...
def convert_to_export(self, value: Any, record: Any): ... def convert_to_export(self, value, record): ...
class Integer(Field): class Integer(Field):
type: str = ... type: str
column_type: Any = ... column_type: Any
group_operator: str = ... group_operator: str
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... def convert_to_column(self, value, record, values: Any | None = ..., validate: bool = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value, record, validate: bool = ...): ...
def convert_to_record(self, value: Any, record: Any): ... def convert_to_record(self, value, record): ...
def convert_to_read(self, value: Any, record: Any, use_name_get: bool = ...): ... def convert_to_read(self, value, record, use_name_get: bool = ...): ...
def _update(self, records: Any, value: Any) -> None: ... def _update(self, records, value) -> None: ...
def convert_to_export(self, value: Any, record: Any): ... def convert_to_export(self, value, record): ...
class Float(Field): class Float(Field):
type: str = ... type: str
column_cast_from: Any = ... column_cast_from: Any
_digits: Any = ... _digits: Any
group_operator: str = ... group_operator: str
def __init__(self, string: Any = ..., digits: Any = ..., **kwargs: Any) -> None: ... def __init__(self, string=..., digits=..., **kwargs) -> None: ...
@property @property
def column_type(self): ... def column_type(self): ...
def get_digits(self, env: Any): ... def get_digits(self, env): ...
_related__digits: Any = ... _related__digits: Any
def _description_digits(self, env: Any): ... def _description_digits(self, env): ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... def convert_to_column(self, value, record, values: Any | None = ..., validate: bool = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value, record, validate: bool = ...): ...
def convert_to_record(self, value: Any, record: Any): ... def convert_to_record(self, value, record): ...
def convert_to_export(self, value: Any, record: Any): ... def convert_to_export(self, value, record): ...
round: Any = ... round: Any
is_zero: Any = ... is_zero: Any
compare: Any = ... compare: Any
class Monetary(Field): class Monetary(Field):
type: str = ... type: str
write_sequence: int = ... write_sequence: int
column_type: Any = ... column_type: Any
column_cast_from: Any = ... column_cast_from: Any
currency_field: Any = ... currency_field: Any
group_operator: str = ... group_operator: str
def __init__(self, string: Any = ..., currency_field: Any = ..., **kwargs: Any) -> None: ... def __init__(self, string=..., currency_field=..., **kwargs) -> None: ...
_description_currency_field: Any = ... def _description_currency_field(self, env): ...
def _setup_currency_field(self, model: Any) -> None: ... def get_currency_field(self, model): ...
def _setup_regular_full(self, model: Any) -> None: ... def setup_nonrelated(self, model) -> None: ...
def _setup_related_full(self, model: Any) -> None: ... def setup_related(self, model) -> None: ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... def convert_to_column(self, value, record, values: Any | None = ..., validate: bool = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value, record, validate: bool = ...): ...
def convert_to_record(self, value: Any, record: Any): ... def convert_to_record(self, value, record): ...
def convert_to_read(self, value: Any, record: Any, use_name_get: bool = ...): ... def convert_to_read(self, value, record, use_name_get: bool = ...): ...
def convert_to_write(self, value: Any, record: Any): ... def convert_to_write(self, value, record): ...
class _String(Field): class _String(Field):
translate: bool = ... translate: bool
prefetch: Any = ... prefetch: Any
def __init__(self, string: Any = ..., **kwargs: Any) -> None: ... def __init__(self, string=..., **kwargs) -> None: ...
def _setup_attrs(self, model: Any, name: Any) -> None: ... def _setup_attrs(self, model_class, name) -> None: ...
_related_translate: Any = ... _related_translate: Any
def _description_translate(self, env: Any): ... def _description_translate(self, env): ...
def get_trans_terms(self, value: Any): ... def get_trans_terms(self, value): ...
def get_trans_func(self, records: Any): ... def get_trans_func(self, records): ...
def check_trans_value(self, value: Any): ... def write(self, records, value): ...
def write(self, records: Any, value: Any): ...
class Char(_String): class Char(_String):
type: str = ... type: str
column_cast_from: Any = ... column_cast_from: Any
size: Any = ... size: Any
trim: bool = ... trim: bool
def _setup_attrs(self, model_class, name) -> None: ...
@property @property
def column_type(self): ... def column_type(self): ...
def update_db_column(self, model: Any, column: Any) -> None: ... def update_db_column(self, model, column) -> None: ...
_related_size: Any = ... _related_size: Any
_related_trim: Any = ... _related_trim: Any
_description_size: Any = ... _description_size: Any
_description_trim: Any = ... _description_trim: Any
def _setup_regular_base(self, model: Any) -> None: ... def convert_to_column(self, value, record, values: Any | None = ..., validate: bool = ...): ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... def convert_to_cache(self, value, record, validate: bool = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ...
class Text(_String): class Text(_String):
type: str = ... type: str
column_type: Any = ... column_type: Any
column_cast_from: Any = ... column_cast_from: Any
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value, record, validate: bool = ...): ...
class Html(_String): class Html(_String):
type: str = ... type: str
column_type: Any = ... column_type: Any
sanitize: bool = ... column_cast_from: Any
sanitize_tags: bool = ... sanitize: bool
sanitize_attributes: bool = ... sanitize_tags: bool
sanitize_style: bool = ... sanitize_attributes: bool
sanitize_form: bool = ... sanitize_style: bool
strip_style: bool = ... sanitize_form: bool
strip_classes: bool = ... strip_style: bool
def _get_attrs(self, model: Any, name: Any): ... strip_classes: bool
_related_sanitize: Any = ... def _get_attrs(self, model_class, name): ...
_related_sanitize_tags: Any = ... _related_sanitize: Any
_related_sanitize_attributes: Any = ... _related_sanitize_tags: Any
_related_sanitize_style: Any = ... _related_sanitize_attributes: Any
_related_strip_style: Any = ... _related_sanitize_style: Any
_related_strip_classes: Any = ... _related_strip_style: Any
_description_sanitize: Any = ... _related_strip_classes: Any
_description_sanitize_tags: Any = ... _description_sanitize: Any
_description_sanitize_attributes: Any = ... _description_sanitize_tags: Any
_description_sanitize_style: Any = ... _description_sanitize_attributes: Any
_description_strip_style: Any = ... _description_sanitize_style: Any
_description_strip_classes: Any = ... _description_strip_style: Any
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... _description_strip_classes: Any
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_column(self, value, record, values: Any | None = ..., validate: bool = ...): ...
def convert_to_cache(self, value, record, validate: bool = ...): ...
def convert_to_record(self, value, record): ...
def convert_to_read(self, value, record, use_name_get: bool = ...): ...
def get_trans_terms(self, value): ...
class Date(Field): class Date(Field):
type: str = ... type: str
column_type: Any = ... column_type: Any
column_cast_from: Any = ... column_cast_from: Any
start_of = date_utils.start_of
end_of = date_utils.end_of
add: date_utils.add
subtract: date_utils.subtract
@staticmethod
def today(*args: Any) -> datetime.date: ...
@staticmethod
def context_today(record: Any, timestamp: Optional[Any] = ...) -> datetime.date: ...
@staticmethod
def to_date(value: Any) -> datetime.date: ...
from_string = to_date
@staticmethod
def to_string(value: Any): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ...
def convert_to_export(self, value: Any, record: Any): ...
class Datetime(Field):
type: str = ...
column_type: Any = ...
column_cast_from: Any = ...
start_of = date_utils.start_of start_of = date_utils.start_of
end_of = date_utils.end_of end_of = date_utils.end_of
add = date_utils.add add = date_utils.add
subtract: date_utils.subtract subtract = date_utils.subtract
@staticmethod @staticmethod
def now(*args: Any) -> datetime.datetime: ... def today(*args) -> datetime.date: ...
@staticmethod @staticmethod
def today(*args: Any) -> datetime.datetime: ... def context_today(record, timestamp: Any | None = ...) -> datetime.date: ...
@staticmethod @staticmethod
def context_timestamp(record: Any, timestamp: Any) -> datetime.datetime: ... def to_date(value) -> datetime.date: ...
from_string = to_date
@staticmethod @staticmethod
def to_datetime(value: Any) -> datetime.datetime: ... def to_string(value): ...
def convert_to_cache(self, value, record, validate: bool = ...): ...
def convert_to_export(self, value, record): ...
class Datetime(Field):
type: str
column_type: Any
column_cast_from: Any
start_of = date_utils.start_of
end_of = date_utils.end_of
add = date_utils.add
subtract = date_utils.subtract
@staticmethod
def now(*args) -> datetime.datetime: ...
@staticmethod
def today(*args) -> datetime.datetime: ...
@staticmethod
def context_timestamp(record, timestamp) -> datetime.datetime: ...
@staticmethod
def to_datetime(value) -> datetime.datetime: ...
from_string = to_datetime from_string = to_datetime
@staticmethod @staticmethod
def to_string(value: Any) -> str: ... def to_string(value): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value, record, validate: bool = ...): ...
def convert_to_export(self, value: Any, record: Any): ... def convert_to_export(self, value, record): ...
def convert_to_display_name(self, value: Any, record: Any): ... def convert_to_display_name(self, value, record): ...
_BINARY = memoryview _BINARY = memoryview
class Binary(Field): class Binary(Field):
type: str = ... type: str
prefetch: bool = ... prefetch: bool
_depends_context: Any = ... _depends_context: Any
attachment: bool = ... attachment: bool
@property @property
def column_type(self): ... def column_type(self): ...
def _get_attrs(self, model: Any, name: Any): ... def _get_attrs(self, model_class, name): ...
_description_attachment: Any = ... _description_attachment: Any
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... def convert_to_column(self, value, record, values: Any | None = ..., validate: bool = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value, record, validate: bool = ...): ...
def convert_to_record(self, value: Any, record: Any): ... def convert_to_record(self, value, record): ...
def compute_value(self, records: Any) -> None: ... def compute_value(self, records) -> None: ...
def read(self, records: Any) -> None: ... def read(self, records) -> None: ...
def create(self, record_values: Any) -> None: ... def create(self, record_values) -> None: ...
def write(self, records: Any, value: Any): ... def write(self, records, value): ...
class Image(Binary): class Image(Binary):
max_width: int = ... max_width: int
max_height: int = ... max_height: int
verify_resolution: bool = ... verify_resolution: bool
def create(self, record_values: Any) -> None: ... def create(self, record_values) -> None: ...
def write(self, records: Any, value: Any) -> None: ... def write(self, records, value) -> None: ...
def _image_process(self, value: Any): ... def _image_process(self, value): ...
def _process_related(self, value: Any): ... def _process_related(self, value): ...
class Selection(Field): class Selection(Field):
type: str = ... type: str
column_type: Any = ... column_type: Any
selection: Any = ... selection: Any
validate: bool = ... validate: bool
ondelete: Any = ... ondelete: Any
def __init__(self, selection: Any = ..., string: Any = ..., **kwargs: Any) -> None: ... def __init__(self, selection=..., string=..., **kwargs) -> None: ...
def _setup_regular_base(self, model: Any) -> None: ... def setup_nonrelated(self, model) -> None: ...
def _setup_related_full(self, model: Any): ... def setup_related(self, model): ...
def _get_attrs(self, model: Any, name: Any): ... def _get_attrs(self, model_class, name): ...
def _setup_attrs(self, model: Any, name: Any) -> None: ... def _setup_attrs(self, model_class, name) -> None: ...
def _selection_modules(self, model: Any): ... def _selection_modules(self, model): ...
def _description_selection(self, env: Any): ... def _description_selection(self, env): ...
def get_values(self, env: Any): ... def _default_group_expand(self, records, groups, domain, order): ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... def get_values(self, env): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_column(self, value, record, values: Any | None = ..., validate: bool = ...): ...
def convert_to_export(self, value: Any, record: Any): ... def convert_to_cache(self, value, record, validate: bool = ...): ...
def convert_to_export(self, value, record): ...
class Reference(Selection): class Reference(Selection):
type: str = ... type: str
@property @property
def column_type(self): ... def column_type(self): ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... def convert_to_column(self, value, record, values: Any | None = ..., validate: bool = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value, record, validate: bool = ...): ...
def convert_to_record(self, value: Any, record: Any): ... def convert_to_record(self, value, record): ...
def convert_to_read(self, value: Any, record: Any, use_name_get: bool = ...): ... def convert_to_read(self, value, record, use_name_get: bool = ...): ...
def convert_to_export(self, value: Any, record: Any): ... def convert_to_export(self, value, record): ...
def convert_to_display_name(self, value: Any, record: Any): ... def convert_to_display_name(self, value, record): ...
class _Relational(Field): class _Relational(Field):
relational: bool = ... relational: bool
domain: Any = ... domain: Any
context: Any = ... context: Any
check_company: bool = ... check_company: bool
def __get__(self, records: Any, owner: Any): ... # def __get__(self, records, owner): ...
comodel_name: str = ... comodel_name: str
def _setup_regular_base(self, model: Any) -> None: ... def setup_nonrelated(self, model) -> None: ...
def get_domain_list(self, model: Any): ... def get_domain_list(self, model): ...
@property @property
def _related_domain(self): ... def _related_domain(self): ...
_related_context: Any = ... _related_context: Any
_description_relation: Any = ... _description_relation: Any
_description_context: Any = ... _description_context: Any
def _description_domain(self, env: Any): ... def _description_domain(self, env): ...
def null(self, record: Any): ... def null(self, record): ...
class Many2one(_Relational): class Many2one(_Relational):
type: str = ... type: str
column_type: Any = ... column_type: Any
ondelete: Any = ... ondelete: Any
auto_join: bool = ... auto_join: bool
delegate: bool = ... delegate: bool
def __init__(self, comodel_name: Any = ..., string: Any = ..., **kwargs: Any) -> None: ... def __init__(self, comodel_name=..., string=..., **kwargs) -> None: ...
def _setup_attrs(self, model: Any, name: Any) -> None: ... def _setup_attrs(self, model_class, name) -> None: ...
def _setup_regular_base(self, model: Any) -> None: ... def setup_nonrelated(self, model) -> None: ...
def update_db(self, model: Any, columns: Any): ... def update_db(self, model, columns): ...
def update_db_column(self, model: Any, column: Any) -> None: ... def update_db_column(self, model, column) -> None: ...
def update_db_foreign_key(self, model: Any, column: Any) -> None: ... def update_db_foreign_key(self, model, column) -> None: ...
def _update(self, records: Any, value: Any) -> None: ... def _update(self, records, value) -> None: ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... def convert_to_column(self, value, record, values: Any | None = ..., validate: bool = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value, record, validate: bool = ...): ...
def convert_to_record(self, value: Any, record: Any): ... def convert_to_record(self, value, record): ...
def convert_to_record_multi(self, values: Any, records: Any): ... def convert_to_record_multi(self, values, records): ...
def convert_to_read(self, value: Any, record: Any, use_name_get: bool = ...): ... def convert_to_read(self, value, record, use_name_get: bool = ...): ...
def convert_to_write(self, value: Any, record: Any): ... def convert_to_write(self, value, record): ...
def convert_to_export(self, value: Any, record: Any): ... def convert_to_export(self, value, record): ...
def convert_to_display_name(self, value: Any, record: Any): ... def convert_to_display_name(self, value, record): ...
def convert_to_onchange(self, value: Any, record: Any, names: Any): ... def convert_to_onchange(self, value, record, names): ...
def write(self, records: Any, value: Any): ... def write(self, records, value): ...
def _remove_inverses(self, records: Any, value: Any): ... def _remove_inverses(self, records, value): ...
def _update_inverses(self, records: Any, value: Any) -> None: ... def _update_inverses(self, records, value) -> None: ...
class Many2oneReference(Integer): class Many2oneReference(Integer):
type: str = ... type: str
model_field: Any = ... model_field: Any
_related_model_field: Any = ... _related_model_field: Any
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value, record, validate: bool = ...): ...
def _remove_inverses(self, records: Any, value: Any) -> None: ... def _remove_inverses(self, records, value) -> None: ...
def _update_inverses(self, records: Any, value: Any) -> None: ... def _update_inverses(self, records, value) -> None: ...
def _record_ids_per_res_model(self, records: Any): ... def _record_ids_per_res_model(self, records): ...
class Command(enum.IntEnum): class Command(enum.IntEnum):
CREATE: int = ... CREATE: int
UPDATE: int = ... UPDATE: int
DELETE: int = ... DELETE: int
UNLINK: int = ... UNLINK: int
LINK: int = ... LINK: int
CLEAR: int = ... CLEAR: int
SET: int = ... SET: int
@classmethod @classmethod
def create(cls: Any, values: dict) -> Any: ... def create(cls, values: dict): ...
@classmethod @classmethod
def update(cls: Any, id: int, values: dict) -> Any: ... def update(cls, id: int, values: dict): ...
@classmethod @classmethod
def delete(cls: Any, id: int) -> Any: ... def delete(cls, id: int): ...
@classmethod @classmethod
def unlink(cls: Any, id: int) -> Any: ... def unlink(cls, id: int): ...
@classmethod @classmethod
def link(cls: Any, id: int) -> Any: ... def link(cls, id: int): ...
@classmethod @classmethod
def clear(cls): ... def clear(cls): ...
@classmethod @classmethod
def set(cls: Any, ids: list) -> Any: ... def set(cls, ids: list): ...
class _RelationalMulti(_Relational): class _RelationalMulti(_Relational):
write_sequence: int = ... write_sequence: int
def _update(self, records: Any, value: Any): ... def _update(self, records, value): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value, record, validate: bool = ...): ...
def convert_to_record(self, value: Any, record: Any): ... def convert_to_record(self, value, record): ...
def convert_to_record_multi(self, values: Any, records: Any): ... def convert_to_record_multi(self, values, records): ...
def convert_to_read(self, value: Any, record: Any, use_name_get: bool = ...): ... def convert_to_read(self, value, record, use_name_get: bool = ...): ...
def convert_to_write(self, value: Any, record: Any): ... def convert_to_write(self, value, record): ...
def convert_to_export(self, value: Any, record: Any): ... def convert_to_export(self, value, record): ...
def convert_to_display_name(self, value: Any, record: Any) -> None: ... def convert_to_display_name(self, value, record) -> None: ...
depends: Any = ... def get_depends(self, model): ...
def _setup_regular_full(self, model: Any) -> None: ... def create(self, record_values) -> None: ...
def create(self, record_values: Any) -> None: ... def write(self, records, value): ...
def write(self, records: Any, value: Any): ... def write_batch(self, records_commands_list, create: bool = ...): ...
def write_batch(self, records_commands_list: Any, create: bool = ...): ...
class One2many(_RelationalMulti): class One2many(_RelationalMulti):
type: str = ... type: str
inverse_name: Any = ... inverse_name: Any
auto_join: bool = ... auto_join: bool
limit: Any = ... limit: Any
copy: bool = ... copy: bool
def __init__(self, comodel_name: Any = ..., inverse_name: Any = ..., string: Any = ..., **kwargs: Any) -> None: ... def __init__(self, comodel_name=..., inverse_name=..., string=..., **kwargs) -> None: ...
def _setup_regular_full(self, model: Any) -> None: ... def setup_nonrelated(self, model) -> None: ...
_description_relation_field: Any = ... _description_relation_field: Any
def update_db(self, model: Any, columns: Any) -> None: ... def update_db(self, model, columns) -> None: ...
def get_domain_list(self, records: Any): ... def get_domain_list(self, records): ...
# def __get__(self, records: Any, owner: Any): ... # def __get__(self, records, owner): ...
def read(self, records: Any): ... def read(self, records): ...
def write_real(self, records_commands_list: Any, create: bool = ...): ... def write_real(self, records_commands_list, create: bool = ...): ...
def write_new(self, records_commands_list: Any): ... def write_new(self, records_commands_list): ...
class Many2many(_RelationalMulti): class Many2many(_RelationalMulti):
type: str = ... type: str
_explicit: bool = ... _explicit: bool
relation: Any = ... relation: Any
column1: Any = ... column1: Any
column2: Any = ... column2: Any
auto_join: bool = ... auto_join: bool
limit: Any = ... limit: Any
ondelete: Any = ... ondelete: Any
def __init__(self, comodel_name: Any = ..., relation: Any = ..., column1: Any = ..., column2: Any = ..., string: Any = ..., **kwargs: Any) -> None: ... def __init__(self, comodel_name=..., relation=..., column1=..., column2=..., string=..., **kwargs) -> None: ...
def _setup_regular_base(self, model: Any) -> None: ... def setup_nonrelated(self, model) -> None: ...
def _setup_regular_full(self, model: Any) -> None: ... def update_db(self, model, columns) -> None: ...
def update_db(self, model: Any, columns: Any) -> None: ... def update_db_foreign_keys(self, model) -> None: ...
def update_db_foreign_keys(self, model: Any) -> None: ... @property
def read(self, records: Any) -> None: ... def groupable(self): ...
def write_real(self, records_commands_list: Any, create: bool = ...): ... def read(self, records) -> None: ...
def write_new(self, records_commands_list: Any): ... def write_real(self, records_commands_list, create: bool = ...): ...
def write_new(self, records_commands_list): ...
class Id(Field): class Id(Field):
type: str = ... type: str
column_type: Any = ... column_type: Any
string: str = ... string: str
store: bool = ... store: bool
readonly: bool = ... readonly: bool
prefetch: bool = ... prefetch: bool
def update_db(self, model: Any, columns: Any) -> None: ... def update_db(self, model, columns) -> None: ...
def __get__(self, record: Any, owner: Any): ... def __get__(self, record, owner): ...
def __set__(self, record: Any, value: Any) -> None: ... def __set__(self, record, value) -> None: ...
def prefetch_many2one_ids(record: Any, field: Any): ... def prefetch_many2one_ids(record, field): ...
def prefetch_x2many_ids(record: Any, field: Any): ... def prefetch_x2many_ids(record, field): ...
def apply_required(model: Any, field_name: Any) -> None: ... def apply_required(model, field_name) -> None: ...

View File

@@ -1,11 +1,11 @@
import werkzeug.wrappers import werkzeug.wrappers
from .api import Environment
from .sql_db import Cursor
from .tools._vendor import sessions
from datetime import date as date from datetime import date as date
from odoo import fields as fields from typing import Any, Union
from typing import Any, Optional, Union from odoo.api import Environment
from odoo.modules.registry import Registry
from odoo.sql_db import Cursor
from odoo.tools import pycompat as pycompat
from odoo.tools._vendor import sessions
_logger: Any _logger: Any
rpc_request: Any rpc_request: Any
@@ -16,170 +16,172 @@ ALLOWED_DEBUG_MODES: Any
_request_stack: Any _request_stack: Any
request: Union[HttpRequest, JsonRequest] request: Union[HttpRequest, JsonRequest]
def replace_request_password(args: Any): ... def replace_request_password(args): ...
NO_POSTMORTEM: Any NO_POSTMORTEM: Any
def dispatch_rpc(service_name: Any, method: Any, params: Any): ... def dispatch_rpc(service_name, method, params): ...
def local_redirect(path: Any, query: Optional[Any] = ..., keep_hash: bool = ..., code: int = ...): ...
def redirect_with_hash(url: Any, code: int = ...): ...
class WebRequest: class WebRequest:
httprequest: werkzeug.wrappers.Request = ... httprequest: werkzeug.wrappers.Request
httpresponse: Response = ... httpresponse: Response
disable_db: bool = ... disable_db: bool
endpoint: Any = ... endpoint: Any
endpoint_arguments: Any = ... endpoint_arguments: Any
auth_method: Any = ... auth_method: Any
website = Environment()['website'] website = Environment['website']
_cr: Cursor = ... _cr: Cursor
_uid: int = ... _uid: int
_context: dict = ... _context: dict
_env: Environment = ... _env: Environment
_failed: Any = ... _failed: Any
def __init__(self, httprequest: Any) -> None: ... def __init__(self, httprequest) -> None: ...
@property @property
def cr(self) -> Cursor: ... def cr(self) -> Cursor: ...
@property @property
def uid(self) -> int: ... def uid(self) -> int: ...
@uid.setter @uid.setter
def uid(self, val: Any) -> None: ... def uid(self, val) -> None: ...
@property @property
def context(self): ... def context(self): ...
@context.setter @context.setter
def context(self, val: Any) -> None: ... def context(self, val) -> None: ...
@property @property
def env(self) -> Environment: ... def env(self) -> Environment: ...
@property @property
def session(self) -> OpenERPSession: ... def session(self) -> OpenERPSession: ...
def __enter__(self): ... def __enter__(self): ...
def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: ... def __exit__(self, exc_type, exc_value, traceback) -> None: ...
def set_handler(self, endpoint: Any, arguments: Any, auth: Any) -> None: ... def set_handler(self, endpoint, arguments, auth) -> None: ...
def _handle_exception(self, exception: Any) -> None: ... def _handle_exception(self, exception) -> None: ...
def _is_cors_preflight(self, endpoint: Any): ... def redirect(self, location, code: int = ..., local: bool = ...): ...
def _call_function(self, *args: Any, **kwargs: Any): ... def redirect_query(self, location, query: Any | None = ..., code: int = ..., local: bool = ...): ...
def _is_cors_preflight(self, endpoint): ...
def _call_function(self, *args, **kwargs): ...
def registry_cr(self) -> None: ... def registry_cr(self) -> None: ...
@property @property
def registry(self): ... def registry(self) -> Registry: ...
@property @property
def db(self): ... def db(self): ...
def csrf_token(self, time_limit: int = ...): ... def csrf_token(self, time_limit: Any | None = ...): ...
def validate_csrf(self, csrf: Any): ... def validate_csrf(self, csrf): ...
def redirect(self, url: str, code=302): ...
def route(route: Optional[Any] = ..., **kw: Any): ... def route(route: Any | None = ..., **kw): ...
class JsonRequest(WebRequest): class JsonRequest(WebRequest):
_request_type: str = ... _request_type: str
params: Any = ... params: Any
jsonrequest: Any = ... jsonrequest: Any
context: Any = ... context: Any
def __init__(self, *args: Any) -> None: ... def __init__(self, *args) -> None: ...
def _json_response(self, result: Optional[Any] = ..., error: Optional[Any] = ...): ... def _json_response(self, result: Any | None = ..., error: Any | None = ...): ...
def _handle_exception(self, exception: Any): ... def _handle_exception(self, exception): ...
def dispatch(self): ... def dispatch(self): ...
def serialize_exception(e: Any): ... def serialize_exception(e): ...
class HttpRequest(WebRequest): class HttpRequest(WebRequest):
_request_type: str = ... _request_type: str
params: Any = ... params: Any
def __init__(self, *args: Any) -> None: ... def __init__(self, *args) -> None: ...
def _handle_exception(self, exception: Any): ... def _handle_exception(self, exception): ...
def _is_cors_preflight(self, endpoint: Any): ... def _is_cors_preflight(self, endpoint): ...
def dispatch(self): ... def dispatch(self): ...
def make_response(self, data: Any, headers: Optional[Any] = ..., cookies: Optional[Any] = ...): ... def make_response(self, data, headers: Any | None = ..., cookies: Any | None = ...): ...
def render(self, template: Any, qcontext: Optional[Any] = ..., lazy: bool = ..., **kw: Any): ... def render(self, template, qcontext: Any | None = ..., lazy: bool = ..., **kw): ...
def not_found(self, description: Optional[Any] = ...): ... def not_found(self, description: Any | None = ...): ...
addons_manifest: Any addons_manifest: Any
controllers_per_module: Any controllers_per_module: Any
class ControllerType(type): class ControllerType(type):
def __init__(cls, name: Any, bases: Any, attrs: Any) -> None: ... def __init__(cls, name, bases, attrs) -> None: ...
Controller: Any Controller: Any
class EndPoint: class EndPoint:
method: Any = ... method: Any
original: Any = ... original: Any
routing: Any = ... routing: Any
arguments: Any = ... arguments: Any
def __init__(self, method: Any, routing: Any) -> None: ... def __init__(self, method, routing) -> None: ...
@property @property
def first_arg_is_req(self): ... def first_arg_is_req(self): ...
def __call__(self, *args: Any, **kw: Any): ... def __call__(self, *args, **kw): ...
def _generate_routing_rules(modules: Any, nodb_only: Any, converters: Optional[Any] = ...): ... def _generate_routing_rules(modules, nodb_only, converters: Any | None = ...): ...
class AuthenticationError(Exception): ... class AuthenticationError(Exception): ...
class SessionExpiredException(Exception): ... class SessionExpiredException(Exception): ...
class OpenERPSession(sessions.Session): class OpenERPSession(sessions.Session):
inited: bool = ... inited: bool
modified: bool = ... modified: bool
rotate: bool = ... rotate: bool
def __init__(self, *args: Any, **kwargs: Any) -> None: ... def __init__(self, *args, **kwargs) -> None: ...
def __getattr__(self, attr: Any): ... def __getattr__(self, attr): ...
def __setattr__(self, k: Any, v: Any): ... def __setattr__(self, k, v): ...
pre_uid: Any = ... pre_uid: Any
db: Any = ... db: Any
uid: Any = ... login: Any
login: Any = ... def authenticate(self, db, login: Any | None = ..., password: Any | None = ...): ...
def authenticate(self, db: Any, login: Optional[Any] = ..., password: Optional[Any] = ...): ... session_token: Any
session_token: Any = ...
def finalize(self) -> None: ... def finalize(self) -> None: ...
def check_security(self) -> None: ... def check_security(self) -> None: ...
def logout(self, keep_db: bool = ...) -> None: ... def logout(self, keep_db: bool = ...) -> None: ...
def _default_values(self) -> None: ... def _default_values(self) -> None: ...
context: Any = ... context: Any
def get_context(self): ... def get_context(self): ...
def _fix_lang(self, context: Any) -> None: ... def _fix_lang(self, context) -> None: ...
def save_action(self, action: Any): ... def save_action(self, action): ...
def get_action(self, key: Any): ... def get_action(self, key): ...
def save_request_data(self) -> None: ... def save_request_data(self) -> None: ...
def load_request_data(self) -> None: ... def load_request_data(self) -> None: ...
def session_gc(session_store: Any) -> None: ... def session_gc(session_store) -> None: ...
ODOO_DISABLE_SESSION_GC: Any
session_gc: Any
class Response(werkzeug.wrappers.Response): class Response(werkzeug.wrappers.Response):
default_mimetype: str = ... default_mimetype: str
def __init__(self, *args: Any, **kw: Any) -> None: ... def __init__(self, *args, **kw) -> None: ...
template: Any = ... template: Any
qcontext: Any = ... qcontext: Any
uid: Any = ... uid: Any
def set_default(self, template: Optional[Any] = ..., qcontext: Optional[Any] = ..., uid: Optional[Any] = ...) -> None: ... def set_default(self, template: Any | None = ..., qcontext: Any | None = ..., uid: Any | None = ...) -> None: ...
@property @property
def is_qweb(self): ... def is_qweb(self): ...
def render(self): ... def render(self): ...
def flatten(self) -> None: ... def flatten(self) -> None: ...
class DisableCacheMiddleware: class DisableCacheMiddleware:
app: Any = ... app: Any
def __init__(self, app: Any) -> None: ... def __init__(self, app) -> None: ...
def __call__(self, environ: Any, start_response: Any): ... def __call__(self, environ, start_response): ...
class Root: class Root:
_loaded: bool = ... _loaded: bool
def __init__(self) -> None: ... def __init__(self) -> None: ...
def session_store(self): ... def session_store(self): ...
def nodb_routing_map(self): ... def nodb_routing_map(self): ...
def __call__(self, environ: Any, start_response: Any): ... def __call__(self, environ, start_response): ...
def load_addons(self) -> None: ... def load_addons(self) -> None: ...
def setup_session(self, httprequest: Any): ... def setup_session(self, httprequest): ...
def setup_db(self, httprequest: Any) -> None: ... def setup_db(self, httprequest) -> None: ...
def setup_lang(self, httprequest: Any) -> None: ... def setup_lang(self, httprequest) -> None: ...
def get_request(self, httprequest: Any): ... def get_request(self, httprequest): ...
def get_response(self, httprequest: Any, result: Any, explicit_session: Any): ... def get_response(self, httprequest, result, explicit_session): ...
def dispatch(self, environ: Any, start_response: Any): ... def dispatch(self, environ, start_response): ...
def get_db_router(self, db: Any): ... def get_profiler_context_manager(self, request): ...
def get_db_router(self, db): ...
def db_list(force: bool = ..., httprequest: Optional[Any] = ...): ... def db_list(force: bool = ..., httprequest: Any | None = ...): ...
def db_filter(dbs: Any, httprequest: Optional[Any] = ...): ... def db_filter(dbs, httprequest: Any | None = ...): ...
def db_monodb(httprequest: Optional[Any] = ...): ... def db_monodb(httprequest: Any | None = ...): ...
def send_file(filepath_or_fp: Any, mimetype: Optional[Any] = ..., as_attachment: bool = ..., filename: Optional[Any] = ..., mtime: Optional[Any] = ..., add_etags: bool = ..., cache_timeout: Any = ..., conditional: bool = ...): ... def send_file(filepath_or_fp, mimetype: Any | None = ..., as_attachment: bool = ..., filename: Any | None = ..., mtime: Any | None = ..., add_etags: bool = ..., cache_timeout=..., conditional: bool = ...): ...
def content_disposition(filename: Any): ... def content_disposition(filename): ...
def set_safe_image_headers(headers: Any, content: Any): ... def set_safe_image_headers(headers, content): ...
def set_header_field(headers: Any, name: Any, value: Any): ... def set_header_field(headers, name, value): ...
root: Any root: Any

View File

@@ -11,5 +11,5 @@ def get_encodings(hint_encoding: str = ...) -> None: ...
text_type: Any text_type: Any
def ustr(value: Any, hint_encoding: str = ..., errors: str = ...): ... def ustr(value, hint_encoding: str = ..., errors: str = ...): ...
def exception_to_unicode(e: Any): ... def exception_to_unicode(e): ...

View File

@@ -1,10 +1,12 @@
from . import api, fields
from collections.abc import MutableMapping from collections.abc import MutableMapping
from typing import Any, Optional, List, Dict, Generator from psycopg2.extensions import AsIs as AsIs
from typing import Any, Generator
from .api import Environment from odoo import api, fields
from .modules.registry import Registry from odoo.api import Environment
from .sql_db import Cursor from odoo.modules.registry import Registry
from odoo.sql_db import Cursor
from odoo.tools import Collector as Collector
_logger: Any _logger: Any
_schema: Any _schema: Any
@@ -15,37 +17,35 @@ regex_pg_name: Any
regex_field_agg: Any regex_field_agg: Any
AUTOINIT_RECALCULATE_STORED_FIELDS: int AUTOINIT_RECALCULATE_STORED_FIELDS: int
def check_object_name(name: Any): ... def check_object_name(name): ...
def raise_on_invalid_object_name(name: Any) -> None: ... def raise_on_invalid_object_name(name) -> None: ...
def check_pg_name(name: Any) -> None: ... def check_pg_name(name) -> None: ...
regex_private: Any regex_private: Any
def check_method_name(name: Any) -> None: ... def check_method_name(name) -> None: ...
def same_name(f: Any, g: Any): ... def same_name(f, g): ...
def fix_import_export_id_paths(fieldname: Any): ... def fix_import_export_id_paths(fieldname): ...
def trigger_tree_merge(node1: Any, node2: Any) -> None: ... def trigger_tree_merge(node1, node2) -> None: ...
class MetaModel(api.Meta): class MetaModel(api.Meta):
module_to_models: Any = ... module_to_models: Any
def __new__(meta: Any, name: Any, bases: Any, attrs: Any): ... def __new__(meta, name, bases, attrs): ...
_register: bool = ... def __init__(self, name, bases, attrs) -> None: ...
_module: Any = ...
def __init__(self, name: Any, bases: Any, attrs: Any) -> None: ...
class NewId: class NewId:
__slots__: Any = ... __slots__: Any
origin: Any = ... origin: Any
ref: Any = ... ref: Any
def __init__(self, origin: Optional[Any] = ..., ref: Optional[Any] = ...) -> None: ... def __init__(self, origin: Any | None = ..., ref: Any | None = ...) -> None: ...
def __bool__(self): ... def __bool__(self): ...
def __eq__(self, other: Any) -> Any: ... def __eq__(self, other): ...
def __hash__(self) -> Any: ... def __hash__(self): ...
def __repr__(self): ... def __repr__(self): ...
def __str__(self): ... def __str__(self): ...
def origin_ids(ids: Any): ... def origin_ids(ids): ...
def expand_ids(id0: Any, ids: Any) -> None: ... def expand_ids(id0, ids) -> None: ...
IdType: Any IdType: Any
PREFETCH_MAX: int PREFETCH_MAX: int
@@ -53,35 +53,39 @@ LOG_ACCESS_COLUMNS: Any
MAGIC_COLUMNS: Any MAGIC_COLUMNS: Any
VALID_AGGREGATE_FUNCTIONS: Any VALID_AGGREGATE_FUNCTIONS: Any
class BaseModel(MetaModel('DummyModel', (object,), {'_register': False})): def is_definition_class(cls): ...
__slots__: Any = ... def is_registry_class(cls): ...
_auto: bool = ...
_register: bool = ... class BaseModel(metaclass=MetaModel):
_abstract: bool = ... __slots__: Any
_transient: bool = ... _auto: bool
_name: str = ... _register: bool
_description: str = ... _abstract: bool
_custom: bool = ... _transient: bool
_inherit: Any = ... _name: str
_inherits: Any = ... _description: str
_table: Any = ... _module: Any
_table_query: Any = ... _custom: bool
_sequence: Any = ... _inherit: Any
_sql_constraints: Any = ... _inherits: Any
_rec_name: Any = ... _table: str
_order: str = ... _table_query: Any
_parent_name: str = ... _sequence: Any
_parent_store: bool = ... _sql_constraints: Any
_active_name: Any = ... _rec_name: str
_date_name: str = ... _order: str
_fold_name: str = ... _parent_name: str
_needaction: bool = ... _parent_store: bool
_translate: bool = ... _active_name: Any
_check_company_auto: bool = ... _date_name: str
_depends: Any = ... _fold_name: str
_transient_max_count: Any = ... _needaction: bool
_transient_max_hours: Any = ... _translate: bool
_fields: Dict[str, fields.Field] _check_company_auto: bool
_depends: Any
_transient_max_count: Any
_transient_max_hours: Any
_fields: dict[str, fields.Field]
env: Environment = ... env: Environment = ...
pool: Registry pool: Registry
id = fields.Id() id = fields.Id()
@@ -90,45 +94,45 @@ class BaseModel(MetaModel('DummyModel', (object,), {'_register': False})):
create_date = fields.Datetime() create_date = fields.Datetime()
write_uid = fields.Many2one('res.users') write_uid = fields.Many2one('res.users')
write_date = fields.Datetime() write_date = fields.Datetime()
CONCURRENCY_CHECK_FIELD: str = ... CONCURRENCY_CHECK_FIELD: str
def view_init(self, fields_list: Any) -> None: ... def view_init(self, fields_list) -> None: ...
def _valid_field_parameter(self, field: Any, name: Any): ... def _valid_field_parameter(self, field, name): ...
def _add_field(self, name: Any, field: Any) -> None: ... def _add_field(self, name, field) -> None: ...
def _pop_field(self, name: Any): ... def _pop_field(self, name): ...
def _add_magic_fields(self) -> None: ... def _compute_concurrency_field(self) -> None: ...
def compute_concurrency_field(self) -> None: ...
def compute_concurrency_field_with_access(self) -> None: ...
@classmethod @classmethod
def _build_model(cls, pool: Any, cr: Any): ... def _build_model(cls, pool, cr): ...
@classmethod @classmethod
def _build_model_check_base(model_class: Any, cls: Any) -> None: ... def _build_model_check_base(model_class, cls) -> None: ...
@classmethod @classmethod
def _build_model_check_parent(model_class: Any, cls: Any, parent_class: Any) -> None: ... def _build_model_check_parent(model_class, cls, parent_class) -> None: ...
@classmethod @classmethod
def _build_model_attributes(cls, pool: Any) -> None: ... def _build_model_attributes(cls, pool) -> None: ...
@classmethod @classmethod
def _init_constraints_onchanges(cls) -> None: ... def _init_constraints_onchanges(cls) -> None: ...
@property @property
def _constraint_methods(self): ... def _constraint_methods(self): ...
@property @property
def _ondelete_methods(self): ...
@property
def _onchange_methods(self): ... def _onchange_methods(self): ...
def __new__(cls) -> BaseModel: ... def __new__(cls) -> BaseModel: ...
def __init__(self, pool: Any, cr: Any) -> None: ... def __init__(self, pool, cr) -> None: ...
def _is_an_ordinary_table(self): ... def _is_an_ordinary_table(self): ...
def __ensure_xml_id(self, skip: bool = ...): ... def __ensure_xml_id(self, skip: bool = ...): ...
def _export_rows(self, fields: Any, *, _is_toplevel_call: bool = ...): ... def _export_rows(self, fields, *, _is_toplevel_call: bool = ...): ...
__export_rows: Any = ... __export_rows: Any
def export_data(self, fields_to_export: Any): ... def export_data(self, fields_to_export): ...
def load(self, fields: Any, data: Any): ... def load(self, fields, data): ...
def _add_fake_fields(self, fields: Any): ... def _add_fake_fields(self, fields): ...
def _extract_records(self, fields_: Any, data: Any, log: Any = ..., limit: Any = ...): ... def _extract_records(self, fields_, data, log=..., limit=...): ...
def _convert_records(self, records: Any, log: Any = ...) -> None: ... def _convert_records(self, records, log=...) -> None: ...
def _validate_fields(self, field_names: Any) -> None: ... def _validate_fields(self, field_names, excluded_names=...) -> None: ...
def default_get(self, fields_list: Any): ... def default_get(self, fields_list): ...
def fields_get_keys(self): ... def fields_get_keys(self): ...
def _rec_name_fallback(self): ... def _rec_name_fallback(self): ...
def view_header_get(self, view_id: Optional[Any] = ..., view_type: str = ...): ... def view_header_get(self, view_id: Any | None = ..., view_type: str = ...): ...
def user_has_groups(self, groups: Any): ... def user_has_groups(self, groups): ...
def _get_default_form_view(self): ... def _get_default_form_view(self): ...
def _get_default_search_view(self): ... def _get_default_search_view(self): ...
def _get_default_tree_view(self): ... def _get_default_tree_view(self): ...
@@ -136,37 +140,37 @@ class BaseModel(MetaModel('DummyModel', (object,), {'_register': False})):
def _get_default_kanban_view(self): ... def _get_default_kanban_view(self): ...
def _get_default_graph_view(self): ... def _get_default_graph_view(self): ...
def _get_default_calendar_view(self): ... def _get_default_calendar_view(self): ...
def load_views(self, views: Any, options: Optional[Any] = ...): ... def load_views(self, views, options: Any | None = ...): ...
def _fields_view_get(self, view_id: Optional[Any] = ..., view_type: str = ..., toolbar: bool = ..., submenu: bool = ...): ... def _fields_view_get(self, view_id: Any | None = ..., view_type: str = ..., toolbar: bool = ..., submenu: bool = ...): ...
def fields_view_get(self, view_id: Optional[Any] = ..., view_type: str = ..., toolbar: bool = ..., submenu: bool = ...): ... def fields_view_get(self, view_id: Any | None = ..., view_type: str = ..., toolbar: bool = ..., submenu: bool = ...): ...
def get_formview_id(self, access_uid: Optional[Any] = ...): ... def get_formview_id(self, access_uid: Any | None = ...): ...
def get_formview_action(self, access_uid: Optional[Any] = ...): ... def get_formview_action(self, access_uid: Any | None = ...): ...
def get_access_action(self, access_uid: Optional[Any] = ...): ... def get_access_action(self, access_uid: Any | None = ...): ...
def search_count(self, args: Any) -> int: ... def search_count(self, args) -> int: ...
def search(self, args: Any, offset: int = ..., limit: Optional[Any] = ..., order: Optional[Any] = ..., count: bool = ...) -> BaseModel: ... def search(self, args, offset: int = ..., limit: Any | None = ..., order: Any | None = ..., count: bool = ...) -> BaseModel: ...
def _compute_display_name(self) -> None: ... def _compute_display_name(self) -> None: ...
def name_get(self): ... def name_get(self): ...
def name_create(self, name: Any): ... def name_create(self, name): ...
def name_search(self, name: str = ..., args: Optional[Any] = ..., operator: str = ..., limit: int = ...): ... def name_search(self, name: str = ..., args: Any | None = ..., operator: str = ..., limit: int = ...): ...
def _name_search(self, name: str = ..., args: Optional[Any] = ..., operator: str = ..., limit: int = ..., name_get_uid: Optional[Any] = ...): ... def _name_search(self, name: str = ..., args: Any | None = ..., operator: str = ..., limit: int = ..., name_get_uid: Any | None = ...): ...
def _add_missing_default_values(self, values: Any): ... def _add_missing_default_values(self, values): ...
@classmethod @classmethod
def clear_caches(cls) -> None: ... def clear_caches(cls) -> None: ...
def _read_group_expand_full(self, groups: Any, domain: Any, order: Any): ... def _read_group_expand_full(self, groups, domain, order): ...
def _read_group_fill_results(self, domain: Any, groupby: Any, remaining_groupbys: Any, aggregated_fields: Any, count_field: Any, read_group_result: Any, read_group_order: Optional[Any] = ...): ... def _read_group_fill_results(self, domain, groupby, remaining_groupbys, aggregated_fields, count_field, read_group_result, read_group_order: Any | None = ...): ...
def _read_group_fill_temporal(self, data: Any, groupby: Any, aggregated_fields: Any, annotated_groupbys: Any, interval: Any = ...): ... def _read_group_fill_temporal(self, data, groupby, aggregated_fields, annotated_groupbys, fill_from: bool = ..., fill_to: bool = ..., min_groups: bool = ...): ...
def _read_group_prepare(self, orderby: Any, aggregated_fields: Any, annotated_groupbys: Any, query: Any): ... def _read_group_prepare(self, orderby, aggregated_fields, annotated_groupbys, query): ...
def _read_group_process_groupby(self, gb: Any, query: Any): ... def _read_group_process_groupby(self, gb, query): ...
def _read_group_prepare_data(self, key: Any, value: Any, groupby_dict: Any): ... def _read_group_prepare_data(self, key, value, groupby_dict): ...
def _read_group_format_result(self, data: Any, annotated_groupbys: Any, groupby: Any, domain: Any): ... def _read_group_format_result(self, data, annotated_groupbys, groupby, domain): ...
def read_group(self, domain: Any, fields: Any, groupby: Any, offset: int = ..., limit: Optional[Any] = ..., orderby: bool = ..., lazy: bool = ...): ... def read_group(self, domain, fields, groupby, offset: int = ..., limit: Any | None = ..., orderby: bool = ..., lazy: bool = ...): ...
def _read_group_raw(self, domain: Any, fields: Any, groupby: Any, offset: int = ..., limit: Optional[Any] = ..., orderby: bool = ..., lazy: bool = ...): ... def _read_group_raw(self, domain, fields, groupby, offset: int = ..., limit: Any | None = ..., orderby: bool = ..., lazy: bool = ...): ...
def _read_group_resolve_many2one_fields(self, data: Any, fields: Any) -> None: ... def _read_group_resolve_many2x_fields(self, data, fields) -> None: ...
def _inherits_join_add(self, current_model: Any, parent_model_name: Any, query: Any): ... def _inherits_join_add(self, current_model, parent_model_name, query): ...
def _inherits_join_calc(self, alias: Any, fname: Any, query: Any): ... def _inherits_join_calc(self, alias, fname, query): ...
def _parent_store_compute(self): ... def _parent_store_compute(self): ...
def _check_removed_columns(self, log: bool = ...) -> None: ... def _check_removed_columns(self, log: bool = ...) -> None: ...
def _init_column(self, column_name: Any) -> None: ... def _init_column(self, column_name) -> None: ...
def _table_has_rows(self): ... def _table_has_rows(self): ...
def _auto_init(self): ... def _auto_init(self): ...
def init(self) -> None: ... def init(self) -> None: ...
@@ -176,169 +180,169 @@ class BaseModel(MetaModel('DummyModel', (object,), {'_register': False})):
def _add_inherited_fields(self) -> None: ... def _add_inherited_fields(self) -> None: ...
def _inherits_check(self) -> None: ... def _inherits_check(self) -> None: ...
def _prepare_setup(self) -> None: ... def _prepare_setup(self) -> None: ...
def _setup_base(self): ... def _setup_base(self) -> None: ...
def _setup_fields(self) -> None: ... def _setup_fields(self) -> None: ...
def _setup_complete(self) -> None: ... def _setup_complete(self) -> None: ...
def fields_get(self, allfields: Optional[Any] = ..., attributes: Optional[Any] = ...): ... def fields_get(self, allfields: Any | None = ..., attributes: Any | None = ...): ...
def get_empty_list_help(self, help: Any): ... def get_empty_list_help(self, help): ...
def check_field_access_rights(self, operation: Any, fields: Any): ... def check_field_access_rights(self, operation, fields): ...
def read(self, fields: Optional[Any] = ..., load: str = ...): ... def read(self, fields: Any | None = ..., load: str = ...): ...
def _read_format(self, fnames: Any, load: str = ...): ... def _read_format(self, fnames, load: str = ...): ...
def _fetch_field(self, field: Any) -> None: ... def _fetch_field(self, field) -> None: ...
def _read(self, fields: Any): ... def _read(self, fields): ...
def get_metadata(self): ... def get_metadata(self): ...
def get_base_url(self): ... def get_base_url(self): ...
def _check_concurrency(self) -> None: ... def _check_concurrency(self) -> None: ...
def _check_company(self, fnames: Optional[Any] = ...) -> None: ... def _check_company(self, fnames: Any | None = ...) -> None: ...
def check_access_rights(self, operation: Any, raise_exception: bool = ...): ... def check_access_rights(self, operation, raise_exception: bool = ...): ...
def check_access_rule(self, operation: Any) -> None: ... def check_access_rule(self, operation) -> None: ...
def _filter_access_rules(self, operation: Any): ... def _filter_access_rules(self, operation): ...
def _filter_access_rules_python(self, operation: Any): ... def _filter_access_rules_python(self, operation): ...
def unlink(self): ... def unlink(self): ...
def write(self, vals: Any): ... def write(self, vals): ...
def _write(self, vals: Any): ... def _write(self, vals): ...
def create(self, vals_list: Any) -> BaseModel: ... def create(self, vals_list) -> BaseModel: ...
def _create(self, data_list: Any): ... def _create(self, data_list) -> BaseModel: ...
def _compute_field_value(self, field: Any) -> None: ... def _compute_field_value(self, field) -> None: ...
def _parent_store_create(self) -> None: ... def _parent_store_create(self) -> None: ...
def _parent_store_update_prepare(self, vals: Any): ... def _parent_store_update_prepare(self, vals): ...
def _parent_store_update(self) -> None: ... def _parent_store_update(self) -> None: ...
def _load_records_write(self, values: Any) -> None: ... def _load_records_write(self, values) -> None: ...
def _load_records_create(self, values: Any): ... def _load_records_create(self, values): ...
def _load_records(self, data_list: Any, update: bool = ...): ... def _load_records(self, data_list, update: bool = ...): ...
def _where_calc(self, domain: Any, active_test: bool = ...): ... def _where_calc(self, domain, active_test: bool = ...): ...
def _check_qorder(self, word: Any): ... def _check_qorder(self, word): ...
def _apply_ir_rules(self, query: Any, mode: str = ...) -> None: ... def _apply_ir_rules(self, query, mode: str = ...) -> None: ...
def _generate_translated_field(self, table_alias: Any, field: Any, query: Any): ... def _generate_translated_field(self, table_alias, field, query): ...
def _generate_m2o_order_by(self, alias: Any, order_field: Any, query: Any, reverse_direction: Any, seen: Any): ... def _generate_m2o_order_by(self, alias, order_field, query, reverse_direction, seen): ...
def _generate_order_by_inner(self, alias: Any, order_spec: Any, query: Any, reverse_direction: bool = ..., seen: Optional[Any] = ...): ... def _generate_order_by_inner(self, alias, order_spec, query, reverse_direction: bool = ..., seen: Any | None = ...): ...
def _generate_order_by(self, order_spec: Any, query: Any): ... def _generate_order_by(self, order_spec, query): ...
def _flush_search(self, domain: Any, fields: Optional[Any] = ..., order: Optional[Any] = ..., seen: Optional[Any] = ...) -> None: ... def _flush_search(self, domain, fields: Any | None = ..., order: Any | None = ..., seen: Any | None = ...) -> None: ...
def _search(self, args: Any, offset: int = ..., limit: Optional[Any] = ..., order: Optional[Any] = ..., count: bool = ..., access_rights_uid: Optional[Any] = ...): ... def _search(self, args, offset: int = ..., limit: Any | None = ..., order: Any | None = ..., count: bool = ..., access_rights_uid: Any | None = ...) -> BaseModel: ...
def copy_data(self, default: Optional[Any] = ...): ... def copy_data(self, default: Any | None = ...): ...
def copy_translations(old: Any, new: Any, excluded: Any = ...): ... def copy_translations(old, new, excluded=...): ...
def copy(self, default: Optional[Any] = ...) -> BaseModel: ... def copy(self, default: Any | None = ...) -> BaseModel: ...
def exists(self) -> BaseModel: ... def exists(self) -> BaseModel: ...
def _check_recursion(self, parent: Optional[Any] = ...): ... def _check_recursion(self, parent: Any | None = ...): ...
def _check_m2m_recursion(self, field_name: Any): ... def _check_m2m_recursion(self, field_name): ...
def _get_external_ids(self): ... def _get_external_ids(self): ...
def get_external_id(self): ... def get_external_id(self): ...
get_xml_id: Any = ... get_xml_id: Any
_get_xml_ids: Any = ... _get_xml_ids: Any
@classmethod @classmethod
def is_transient(cls): ... def is_transient(cls): ...
def search_read(self, domain: Optional[Any] = ..., fields: Optional[Any] = ..., offset: int = ..., limit: Optional[Any] = ..., order: Optional[Any] = ..., **read_kwargs: Any): ... def search_read(self, domain: Any | None = ..., fields: Any | None = ..., offset: int = ..., limit: Any | None = ..., order: Any | None = ..., **read_kwargs): ...
def toggle_active(self) -> None: ... def toggle_active(self) -> None: ...
def action_archive(self): ... def action_archive(self): ...
def action_unarchive(self): ... def action_unarchive(self): ...
def _register_hook(self) -> None: ... def _register_hook(self) -> None: ...
def _unregister_hook(self) -> None: ... def _unregister_hook(self) -> None: ...
@classmethod @classmethod
def _patch_method(cls, name: Any, method: Any) -> None: ... def _patch_method(cls, name, method) -> None: ...
@classmethod @classmethod
def _revert_method(cls, name: Any) -> None: ... def _revert_method(cls, name) -> None: ...
@classmethod @classmethod
def _browse(cls, env: Any, ids: Any, prefetch_ids: Any): ... def _browse(cls, env, ids, prefetch_ids) -> BaseModel: ...
def browse(self, ids: Optional[Any] = ...) -> BaseModel: ... def browse(self, ids: Any | None = ...) -> BaseModel: ...
@property @property
def ids(self) -> List[int]: ... def ids(self) -> list[int]: ...
_cr: Cursor = ... _cr: Cursor
_uid: int = ... _uid: int
_context: dict = ... _context: dict
def ensure_one(self): ... def ensure_one(self) -> BaseModel: ...
def with_env(self, env: Any) -> BaseModel: ... def with_env(self, env) -> BaseModel: ...
def sudo(self, flag: bool = ...) -> BaseModel: ... def sudo(self, flag: bool = ...) -> BaseModel: ...
def with_user(self, user: Any) -> BaseModel: ... def with_user(self, user) -> BaseModel: ...
def with_company(self, company: Any) -> BaseModel: ... def with_company(self, company) -> BaseModel: ...
def with_context(self, *args: Any, **kwargs: Any) -> BaseModel: ... def with_context(self, *args, **kwargs) -> BaseModel: ...
def with_prefetch(self, prefetch_ids: Optional[Any] = ...) -> BaseModel: ... def with_prefetch(self, prefetch_ids: Any | None = ...) -> BaseModel: ...
def _update_cache(self, values: Any, validate: bool = ...): ... def _update_cache(self, values, validate: bool = ...): ...
def _convert_to_record(self, values: Any): ... def _convert_to_record(self, values): ...
def _convert_to_write(self, values: Any): ... def _convert_to_write(self, values): ...
def _mapped_func(self, func: Any): ... def _mapped_func(self, func): ...
def mapped(self, func: Any): ... def mapped(self, func): ...
def _mapped_cache(self, name_seq: Any): ... def _mapped_cache(self, name_seq): ...
def filtered(self, func: Any) -> BaseModel: ... def filtered(self, func) -> BaseModel: ...
def filtered_domain(self, domain: Any): ... def filtered_domain(self, domain) -> BaseModel: ...
def sorted(self, key: Optional[Any] = ..., reverse: bool = ...) -> BaseModel: ... def sorted(self, key: Any | None = ..., reverse: bool = ...) -> BaseModel: ...
def update(self, values: Any) -> None: ... def update(self, values) -> None: ...
def flush(self, fnames: Optional[Any] = ..., records: Optional[Any] = ...) -> None: ... def flush(self, fnames: Any | None = ..., records: Any | None = ...) -> None: ...
def new(self, values: Any = ..., origin: Optional[Any] = ..., ref: Optional[Any] = ...) -> BaseModel: ... def new(self, values=..., origin: Any | None = ..., ref: Any | None = ...) -> BaseModel: ...
@property @property
def _origin(self): ... def _origin(self) -> BaseModel: ...
def __bool__(self) -> bool: ... def __bool__(self) -> bool: ...
__nonzero__: Any = ... __nonzero__: Any
def __len__(self) -> int: ... def __len__(self) -> int: ...
def __iter__(self) -> Generator[BaseModel]: ... def __iter__(self) -> Generator[BaseModel]: ...
def __contains__(self, item: Any) -> bool: ... def __contains__(self, item) -> bool: ...
def __add__(self, other: Any) -> BaseModel: ... def __add__(self, other) -> BaseModel: ...
def concat(self, *args: Any) -> BaseModel: ... def concat(self, *args) -> BaseModel: ...
def __sub__(self, other: Any) -> BaseModel: ... def __sub__(self, other) -> BaseModel: ...
def __and__(self, other: Any) -> BaseModel: ... def __and__(self, other) -> BaseModel: ...
def __or__(self, other: Any) -> BaseModel: ... def __or__(self, other) -> BaseModel: ...
def union(self, *args: Any) -> BaseModel: ... def union(self, *args) -> BaseModel: ...
def __eq__(self, other: Any) -> bool: ... def __eq__(self, other) -> bool: ...
def __lt__(self, other: Any) -> bool: ... def __lt__(self, other) -> bool: ...
def __le__(self, other: Any) -> bool: ... def __le__(self, other) -> bool: ...
def __gt__(self, other: Any) -> bool: ... def __gt__(self, other) -> bool: ...
def __ge__(self, other: Any) -> bool: ... def __ge__(self, other) -> bool: ...
def __int__(self): ... def __int__(self): ...
def __repr__(self): ... def __repr__(self): ...
def __hash__(self) -> Any: ... def __hash__(self) -> int: ...
def __getitem__(self, key: Any): ... def __getitem__(self, key): ...
def __setitem__(self, key: Any, value: Any): ... def __setitem__(self, key, value): ...
@property @property
def _cache(self): ... def _cache(self): ...
def _in_cache_without(self, field: Any, limit: Any = ...): ... def _in_cache_without(self, field, limit=...): ...
def refresh(self) -> None: ... def refresh(self) -> None: ...
def invalidate_cache(self, fnames: Optional[Any] = ..., ids: Optional[Any] = ...): ... def invalidate_cache(self, fnames: Any | None = ..., ids: Any | None = ...): ...
def modified(self, fnames: Any, create: bool = ...) -> None: ... def modified(self, fnames, create: bool = ..., before: bool = ...) -> None: ...
def _modified_triggers(self, tree: Any, create: bool = ...): ... def _modified_triggers(self, tree, create: bool = ...): ...
def recompute(self, fnames: Optional[Any] = ..., records: Optional[Any] = ...) -> None: ... def recompute(self, fnames: Any | None = ..., records: Any | None = ...) -> None: ...
def _dependent_fields(self, field: Any): ... def _dependent_fields(self, field): ...
def _has_onchange(self, field: Any, other_fields: Any): ... def _has_onchange(self, field, other_fields): ...
def _onchange_spec(self, view_info: Optional[Any] = ...): ... def _onchange_spec(self, view_info: Any | None = ...): ...
def _onchange_eval(self, field_name: Any, onchange: Any, result: Any) -> None: ... def _onchange_eval(self, field_name, onchange, result) -> None: ...
def onchange(self, values: Any, field_name: Any, field_onchange: Any): ... def onchange(self, values, field_name, field_onchange): ...
def _get_placeholder_filename(self, field: Optional[Any] = ...): ... def _get_placeholder_filename(self, field): ...
def _populate_factories(self): ... def _populate_factories(self): ...
@property @property
def _populate_sizes(self): ... def _populate_sizes(self): ...
@property @property
def _populate_dependencies(self): ... def _populate_dependencies(self): ...
def _populate(self, size: Any): ... def _populate(self, size): ...
class RecordCache(MutableMapping): class RecordCache(MutableMapping):
__slots__: Any = ... __slots__: Any
_record: Any = ... _record: Any
def __init__(self, record: Any) -> None: ... def __init__(self, record) -> None: ...
def __contains__(self, name: Any): ... def __contains__(self, name): ...
def __getitem__(self, name: Any): ... def __getitem__(self, name): ...
def __setitem__(self, name: Any, value: Any) -> None: ... def __setitem__(self, name, value) -> None: ...
def __delitem__(self, name: Any) -> None: ... def __delitem__(self, name) -> None: ...
def __iter__(self) -> Any: ... def __iter__(self): ...
def __len__(self): ... def __len__(self): ...
AbstractModel = BaseModel AbstractModel = BaseModel
class Model(AbstractModel): class Model(AbstractModel):
_auto: bool = ... _auto: bool
_register: bool = ... _register: bool
_abstract: bool = ... _abstract: bool
_transient: bool = ... _transient: bool
class TransientModel(Model): class TransientModel(Model):
_auto: bool = ... _auto: bool
_register: bool = ... _register: bool
_abstract: bool = ... _abstract: bool
_transient: bool = ... _transient: bool
def _transient_vacuum(self) -> None: ... def _transient_vacuum(self) -> None: ...
def _transient_clean_old_rows(self, max_count: Any) -> None: ... def _transient_clean_old_rows(self, max_count) -> None: ...
def _transient_clean_rows_older_than(self, seconds: Any) -> None: ... def _transient_clean_rows_older_than(self, seconds) -> None: ...
def itemgetter_tuple(items: Any): ... def itemgetter_tuple(items): ...
def convert_pgerror_not_null(model: Any, fields: Any, info: Any, e: Any): ... def convert_pgerror_not_null(model, fields, info, e): ...
def convert_pgerror_unique(model: Any, fields: Any, info: Any, e: Any): ... def convert_pgerror_unique(model, fields, info, e): ...
def convert_pgerror_constraint(model: Any, fields: Any, info: Any, e: Any): ... def convert_pgerror_constraint(model, fields, info, e): ...
PGERROR_TO_OE: Any PGERROR_TO_OE: Any

View File

@@ -2,7 +2,8 @@ from typing import Any
_logger: Any _logger: Any
def is_initialized(cr: Any): ... def is_initialized(cr): ...
def initialize(cr: Any) -> None: ... def initialize(cr) -> None: ...
def create_categories(cr: Any, categories: Any): ... def create_categories(cr, categories): ...
def has_unaccent(cr: Any): ... def has_unaccent(cr): ...
def has_trigram(cr): ...

View File

@@ -1,28 +1,28 @@
from typing import Any, Optional from typing import Any
_logger: Any _logger: Any
class Graph(dict): class Graph(dict):
def add_node(self, name: Any, info: Any): ... def add_node(self, name, info): ...
def update_from_db(self, cr: Any) -> None: ... def update_from_db(self, cr) -> None: ...
def add_module(self, cr: Any, module: Any, force: Optional[Any] = ...) -> None: ... def add_module(self, cr, module, force: Any | None = ...) -> None: ...
def add_modules(self, cr: Any, module_list: Any, force: Optional[Any] = ...): ... def add_modules(self, cr, module_list, force: Any | None = ...): ...
def __iter__(self) -> Any: ... def __iter__(self): ...
def __str__(self): ... def __str__(self): ...
class Node: class Node:
def __new__(cls, name: Any, graph: Any, info: Any): ... def __new__(cls, name, graph, info): ...
name: Any = ... name: Any
graph: Any = ... graph: Any
info: Any = ... info: Any
children: Any = ... children: Any
depth: int = ... depth: int
def __init__(self, name: Any, graph: Any, info: Any) -> None: ... def __init__(self, name, graph, info) -> None: ...
@property @property
def data(self): ... def data(self): ...
def add_child(self, name: Any, info: Any): ... def add_child(self, name, info): ...
def __setattr__(self, name: Any, value: Any) -> None: ... def __setattr__(self, name, value) -> None: ...
def __iter__(self) -> Any: ... def __iter__(self): ...
def __str__(self): ... def __str__(self): ...
def _pprint(self, depth: int = ...): ... def _pprint(self, depth: int = ...): ...
def should_have_demo(self): ... def should_have_demo(self): ...

View File

@@ -1,13 +1,13 @@
from typing import Any, Optional from typing import Any
_logger: Any _logger: Any
_test_logger: Any _test_logger: Any
def load_data(cr: Any, idref: Any, mode: Any, kind: Any, package: Any): ... def load_data(cr, idref, mode, kind, package): ...
def load_demo(cr: Any, package: Any, idref: Any, mode: Any): ... def load_demo(cr, package, idref, mode): ...
def force_demo(cr: Any) -> None: ... def force_demo(cr) -> None: ...
def load_module_graph(cr: Any, graph: Any, status: Optional[Any] = ..., perform_checks: bool = ..., skip_modules: Optional[Any] = ..., report: Optional[Any] = ..., models_to_check: Optional[Any] = ...): ... def load_module_graph(cr, graph, status: Any | None = ..., perform_checks: bool = ..., skip_modules: Any | None = ..., report: Any | None = ..., models_to_check: Any | None = ...): ...
def _check_module_names(cr: Any, module_names: Any) -> None: ... def _check_module_names(cr, module_names) -> None: ...
def load_marked_modules(cr: Any, graph: Any, states: Any, force: Any, progressdict: Any, report: Any, loaded_modules: Any, perform_checks: Any, models_to_check: Optional[Any] = ...): ... def load_marked_modules(cr, graph, states, force, progressdict, report, loaded_modules, perform_checks, models_to_check: Any | None = ...): ...
def load_modules(db: Any, force_demo: bool = ..., status: Optional[Any] = ..., update_module: bool = ...): ... def load_modules(registry, force_demo: bool = ..., status: Any | None = ..., update_module: bool = ...): ...
def reset_modules_state(db_name: Any) -> None: ... def reset_modules_state(db_name) -> None: ...

View File

@@ -2,12 +2,12 @@ from typing import Any
_logger: Any _logger: Any
def load_script(path: Any, module_name: Any): ... def load_script(path, module_name): ...
class MigrationManager: class MigrationManager:
cr: Any = ... cr: Any
graph: Any = ... graph: Any
migrations: Any = ... migrations: Any
def __init__(self, cr: Any, graph: Any) -> None: ... def __init__(self, cr, graph) -> None: ...
def _get_files(self): ... def _get_files(self): ...
def migrate_module(self, pkg: Any, stage: Any): ... def migrate_module(self, pkg, stage): ...

View File

@@ -1,4 +1,4 @@
from typing import Any, Optional from typing import Any
MANIFEST_NAMES: Any MANIFEST_NAMES: Any
README: Any README: Any
@@ -9,28 +9,33 @@ def ad_paths(): ...
loaded: Any loaded: Any
class AddonsHook: class AddonsHook:
def find_module(self, name: Any, path: Optional[Any] = ...): ... def find_module(self, name, path: Any | None = ...): ...
def load_module(self, name: Any): ... def load_module(self, name): ...
class OdooHook: class OdooHook:
def find_module(self, name: Any, path: Optional[Any] = ...): ... def find_module(self, name, path: Any | None = ...): ...
def load_module(self, name: Any): ... def load_module(self, name): ...
class UpgradeHook:
def find_module(self, name, path: Any | None = ...): ...
def load_module(self, name): ...
def initialize_sys_path() -> None: ... def initialize_sys_path() -> None: ...
def get_module_path(module: Any, downloaded: bool = ..., display_warning: bool = ...): ... def get_module_path(module, downloaded: bool = ..., display_warning: bool = ...): ...
def get_module_filetree(module: Any, dir: str = ...): ... def get_module_filetree(module, dir: str = ...): ...
def get_resource_path(module: Any, *args: Any): ... def get_resource_path(module, *args): ...
def check_resource_path(mod_path: Any, *args: Any): ... def check_resource_path(mod_path, *args): ...
get_module_resource = get_resource_path get_module_resource = get_resource_path
def get_resource_from_path(path: Any): ... def get_resource_from_path(path): ...
def get_module_icon(module: Any): ... def get_module_icon(module): ...
def module_manifest(path: Any): ... def module_manifest(path): ...
def get_module_root(path: Any): ... def read_manifest(addons_path, module): ...
def load_information_from_description_file(module: Any, mod_path: Optional[Any] = ...): ... def get_module_root(path): ...
def load_openerp_module(module_name: Any) -> None: ... def load_information_from_description_file(module, mod_path: Any | None = ...): ...
def load_openerp_module(module_name) -> None: ...
def get_modules(): ... def get_modules(): ...
def get_modules_with_version(): ... def get_modules_with_version(): ...
def adapt_version(version: Any): ... def adapt_version(version): ...
current_test: Any current_test: Any

View File

@@ -1,77 +1,87 @@
from collections.abc import Mapping from collections.abc import Mapping
from typing import Any, Optional from typing import Any
_logger: Any _logger: Any
_schema: Any _schema: Any
class Registry(Mapping): class Registry(Mapping):
_lock: Any = ... _lock: Any
_saved_lock: Any = ... _saved_lock: Any
model_cache: Any = ...
def registries(cls): ... def registries(cls): ...
def __new__(cls, db_name: Any): ... def __new__(cls, db_name): ...
@classmethod @classmethod
def new(cls, db_name: Any, force_demo: bool = ..., status: Optional[Any] = ..., update_module: bool = ...): ... def new(cls, db_name, force_demo: bool = ..., status: Any | None = ..., update_module: bool = ...): ...
models: Any = ... models: Any
_sql_constraints: Any = ... _sql_constraints: Any
_init: bool = ... _init: bool
_assertion_report: Any = ... _assertion_report: Any
_fields_by_model: Any = ... _fields_by_model: Any
_ordinary_tables: Any = ... _ordinary_tables: Any
_constraint_queue: Any = ... _constraint_queue: Any
__cache: Any = ... __cache: Any
_init_modules: Any = ... _init_modules: Any
updated_modules: Any = ... updated_modules: Any
loaded_xmlids: Any = ... loaded_xmlids: Any
db_name: Any = ... db_name: Any
_db: Any = ... _db: Any
test_cr: Any = ... test_cr: Any
test_lock: Any = ... test_lock: Any
loaded: bool = ... loaded: bool
ready: bool = ... ready: bool
registry_sequence: Any = ... field_depends: Any
cache_sequence: Any = ... field_depends_context: Any
registry_invalidated: bool = ... field_inverses: Any
cache_invalidated: bool = ... registry_sequence: Any
has_unaccent: Any = ... cache_sequence: Any
def init(self, db_name: Any) -> None: ... _invalidation_flags: Any
has_unaccent: Any
has_trigram: Any
def init(self, db_name) -> None: ...
@classmethod @classmethod
def delete(cls, db_name: Any) -> None: ... def delete(cls, db_name) -> None: ...
@classmethod @classmethod
def delete_all(cls) -> None: ... def delete_all(cls) -> None: ...
def __len__(self): ... def __len__(self): ...
def __iter__(self) -> Any: ... def __iter__(self): ...
def __getitem__(self, model_name: Any): ... def __getitem__(self, model_name): ...
def __call__(self, model_name: Any): ... def __call__(self, model_name): ...
def __setitem__(self, model_name: Any, model: Any) -> None: ... def __setitem__(self, model_name, model) -> None: ...
def __delitem__(self, model_name: Any) -> None: ... def __delitem__(self, model_name) -> None: ...
def descendants(self, model_names: Any, *kinds: Any): ... def descendants(self, model_names, *kinds): ...
def load(self, cr: Any, module: Any): ... def load(self, cr, module): ...
_m2m: Any = ... _m2m: Any
def setup_models(self, cr: Any) -> None: ... def setup_models(self, cr) -> None: ...
def field_computed(self): ... def field_computed(self): ...
def field_triggers(self): ... def field_triggers(self): ...
def post_init(self, func: Any, *args: Any, **kwargs: Any) -> None: ... def post_init(self, func, *args, **kwargs) -> None: ...
def post_constraint(self, func: Any, *args: Any, **kwargs: Any) -> None: ... def post_constraint(self, func, *args, **kwargs) -> None: ...
def finalize_constraints(self) -> None: ... def finalize_constraints(self) -> None: ...
_post_init_queue: Any = ... _post_init_queue: Any
_foreign_keys: Any = ... _foreign_keys: Any
_is_install: Any = ... _is_install: Any
def init_models(self, cr: Any, model_names: Any, context: Any, install: bool = ...) -> None: ... def init_models(self, cr, model_names, context, install: bool = ...) -> None: ...
def check_indexes(self, cr: Any, model_names: Any) -> None: ... def check_indexes(self, cr, model_names) -> None: ...
def add_foreign_key(self, table1: Any, column1: Any, table2: Any, column2: Any, ondelete: Any, model: Any, module: Any, force: bool = ...) -> None: ... def add_foreign_key(self, table1, column1, table2, column2, ondelete, model, module, force: bool = ...) -> None: ...
def check_foreign_keys(self, cr: Any) -> None: ... def check_foreign_keys(self, cr) -> None: ...
def check_tables_exist(self, cr: Any) -> None: ... def check_tables_exist(self, cr) -> None: ...
def _clear_cache(self) -> None: ... def _clear_cache(self) -> None: ...
def clear_caches(self) -> None: ... def clear_caches(self) -> None: ...
def is_an_ordinary_table(self, model: Any): ... def is_an_ordinary_table(self, model): ...
@property
def registry_invalidated(self): ...
@registry_invalidated.setter
def registry_invalidated(self, value) -> None: ...
@property
def cache_invalidated(self): ...
@cache_invalidated.setter
def cache_invalidated(self, value) -> None: ...
def setup_signaling(self) -> None: ... def setup_signaling(self) -> None: ...
def check_signaling(self): ... def check_signaling(self): ...
def signal_changes(self) -> None: ... def signal_changes(self) -> None: ...
def reset_changes(self) -> None: ... def reset_changes(self) -> None: ...
def manage_changes(self) -> None: ... def manage_changes(self) -> None: ...
def in_test_mode(self): ... def in_test_mode(self): ...
def enter_test_mode(self, cr: Any) -> None: ... def enter_test_mode(self, cr) -> None: ...
def leave_test_mode(self) -> None: ... def leave_test_mode(self) -> None: ...
def cursor(self): ... def cursor(self): ...
@@ -79,4 +89,4 @@ class DummyRLock:
def acquire(self) -> None: ... def acquire(self) -> None: ...
def release(self) -> None: ... def release(self) -> None: ...
def __enter__(self) -> None: ... def __enter__(self) -> None: ...
def __exit__(self, type: Any, value: Any, traceback: Any) -> None: ... def __exit__(self, type, value, traceback) -> None: ...

View File

@@ -1,12 +1,12 @@
import logging.handlers import logging.handlers
from typing import Any, Optional from typing import Any
_logger: Any _logger: Any
def log(logger: Any, level: Any, prefix: Any, msg: Any, depth: Optional[Any] = ...) -> None: ... def log(logger, level, prefix, msg, depth: Any | None = ...) -> None: ...
class PostgreSQLHandler(logging.Handler): class PostgreSQLHandler(logging.Handler):
def emit(self, record: Any) -> None: ... def emit(self, record) -> None: ...
BLACK: Any BLACK: Any
RED: Any RED: Any
@@ -25,17 +25,17 @@ COLOR_PATTERN: Any
LEVEL_COLOR_MAPPING: Any LEVEL_COLOR_MAPPING: Any
class PerfFilter(logging.Filter): class PerfFilter(logging.Filter):
def format_perf(self, query_count: Any, query_time: Any, remaining_time: Any): ... def format_perf(self, query_count, query_time, remaining_time): ...
def filter(self, record: Any): ... def filter(self, record): ...
class ColoredPerfFilter(PerfFilter): class ColoredPerfFilter(PerfFilter):
def format_perf(self, query_count: Any, query_time: Any, remaining_time: Any): ... def format_perf(self, query_count, query_time, remaining_time): ...
class DBFormatter(logging.Formatter): class DBFormatter(logging.Formatter):
def format(self, record: Any): ... def format(self, record): ...
class ColoredFormatter(DBFormatter): class ColoredFormatter(DBFormatter):
def format(self, record: Any): ... def format(self, record): ...
_logger_init: bool _logger_init: bool
@@ -43,5 +43,8 @@ def init_logger(): ...
DEFAULT_LOG_CONFIGURATION: Any DEFAULT_LOG_CONFIGURATION: Any
PSEUDOCONFIG_MAPPER: Any PSEUDOCONFIG_MAPPER: Any
showwarning: Any
IGNORE: Any
def runbot(self, message: Any, *args: Any, **kws: Any) -> None: ... def showwarning_with_traceback(message, category, filename, lineno, file: Any | None = ..., line: Any | None = ...): ...
def runbot(self, message, *args, **kws) -> None: ...

View File

@@ -1,7 +1,7 @@
from ..models import MAGIC_COLUMNS as MAGIC_COLUMNS from ..models import MAGIC_COLUMNS as MAGIC_COLUMNS
from functools import partial as partial from functools import partial as partial
from odoo.tools.misc import get_lang as get_lang from odoo.tools.misc import get_lang as get_lang
from typing import Any, Optional from typing import Any
NOT_OPERATOR: str NOT_OPERATOR: str
OR_OPERATOR: str OR_OPERATOR: str
@@ -17,28 +17,28 @@ TRUE_DOMAIN: Any
FALSE_DOMAIN: Any FALSE_DOMAIN: Any
_logger: Any _logger: Any
def normalize_domain(domain: Any): ... def normalize_domain(domain): ...
def is_false(model: Any, domain: Any): ... def is_false(model, domain): ...
def combine(operator: Any, unit: Any, zero: Any, domains: Any): ... def combine(operator, unit, zero, domains): ...
def AND(domains: Any): ... def AND(domains): ...
def OR(domains: Any): ... def OR(domains): ...
def distribute_not(domain: Any): ... def distribute_not(domain): ...
def _quote(to_quote: Any): ... def _quote(to_quote): ...
def normalize_leaf(element: Any): ... def normalize_leaf(element): ...
def is_operator(element: Any): ... def is_operator(element): ...
def is_leaf(element: Any, internal: bool = ...): ... def is_leaf(element, internal: bool = ...): ...
def is_boolean(element: Any): ... def is_boolean(element): ...
def check_leaf(element: Any, internal: bool = ...) -> None: ... def check_leaf(element, internal: bool = ...) -> None: ...
def get_unaccent_wrapper(cr: Any): ... def get_unaccent_wrapper(cr): ...
class expression: class expression:
_unaccent: Any = ... _unaccent: Any
root_model: Any = ... root_model: Any
root_alias: Any = ... root_alias: Any
expression: Any = ... expression: Any
query: Any = ... query: Any
def __init__(self, domain: Any, model: Any, alias: Optional[Any] = ..., query: Optional[Any] = ...) -> None: ... def __init__(self, domain, model, alias: Any | None = ..., query: Any | None = ...) -> None: ...
def get_tables(self): ... def get_tables(self): ...
def parse(self): ... def parse(self): ...
def __leaf_to_sql(self, leaf: Any, model: Any, alias: Any): ... def __leaf_to_sql(self, leaf, model, alias): ...
def to_sql(self): ... def to_sql(self): ...

View File

@@ -1,36 +1,37 @@
from typing import Any, Optional from typing import Any
IDENT_RE: Any IDENT_RE: Any
def _from_table(table: Any, alias: Any): ... def _from_table(table, alias): ...
def _generate_table_alias(src_table_alias: Any, link: Any): ... def _generate_table_alias(src_table_alias, link): ...
class Query: class Query:
_cr: Any = ... _cr: Any
_tables: Any = ... _tables: Any
_joins: Any = ... _joins: Any
_where_clauses: Any = ... _where_clauses: Any
_where_params: Any = ... _where_params: Any
order: Any = ... order: Any
limit: Any = ... limit: Any
offset: Any = ... offset: Any
def __init__(self, cr: Any, alias: Any, table: Optional[Any] = ...) -> None: ... def __init__(self, cr, alias, table: Any | None = ...) -> None: ...
def add_table(self, alias: Any, table: Optional[Any] = ...) -> None: ... def add_table(self, alias, table: Any | None = ...) -> None: ...
def add_where(self, where_clause: Any, where_params: Any = ...) -> None: ... def add_where(self, where_clause, where_params=...) -> None: ...
def join(self, lhs_alias: Any, lhs_column: Any, rhs_table: Any, rhs_column: Any, link: Any, extra: Optional[Any] = ..., extra_params: Any = ...): ... def join(self, lhs_alias, lhs_column, rhs_table, rhs_column, link, extra: Any | None = ..., extra_params=...): ...
def left_join(self, lhs_alias: Any, lhs_column: Any, rhs_table: Any, rhs_column: Any, link: Any, extra: Optional[Any] = ..., extra_params: Any = ...): ... def left_join(self, lhs_alias, lhs_column, rhs_table, rhs_column, link, extra: Any | None = ..., extra_params=...): ...
def _join(self, kind: Any, lhs_alias: Any, lhs_column: Any, rhs_table: Any, rhs_column: Any, link: Any, extra: Optional[Any] = ..., extra_params: Any = ...): ... def _join(self, kind, lhs_alias, lhs_column, rhs_table, rhs_column, link, extra: Any | None = ..., extra_params=...): ...
def select(self, *args: Any): ... def select(self, *args): ...
def subselect(self, *args): ...
def get_sql(self): ... def get_sql(self): ...
def _result(self): ... def _result(self): ...
def __str__(self): ... def __str__(self): ...
def __bool__(self): ... def __bool__(self): ...
def __len__(self): ... def __len__(self): ...
def __iter__(self) -> Any: ... def __iter__(self): ...
@property @property
def tables(self): ... def tables(self): ...
@property @property
def where_clause(self): ... def where_clause(self): ...
@property @property
def where_clause_params(self): ... def where_clause_params(self): ...
def add_join(self, connection: Any, implicit: bool = ..., outer: bool = ..., extra: Optional[Any] = ..., extra_params: Any = ...): ... def add_join(self, connection, implicit: bool = ..., outer: bool = ..., extra: Any | None = ..., extra_params=...): ...

View File

@@ -1,11 +1,11 @@
from typing import Any, Optional from typing import Any
_logger: Any _logger: Any
RPC_VERSION_1: Any RPC_VERSION_1: Any
def exp_login(db: Any, login: Any, password: Any): ... def exp_login(db, login, password): ...
def exp_authenticate(db: Any, login: Any, password: Any, user_agent_env: Any): ... def exp_authenticate(db, login, password, user_agent_env): ...
def exp_version(): ... def exp_version(): ...
def exp_about(extended: bool = ...): ... def exp_about(extended: bool = ...): ...
def exp_set_loglevel(loglevel: Any, logger: Optional[Any] = ...): ... def exp_set_loglevel(loglevel, logger: Any | None = ...): ...
def dispatch(method: Any, params: Any): ... def dispatch(method, params): ...

View File

@@ -1,31 +1,31 @@
from functools import wraps as wraps from functools import wraps as wraps
from typing import Any, Optional from typing import Any
_logger: Any _logger: Any
class DatabaseExists(Warning): ... class DatabaseExists(Warning): ...
def check_db_management_enabled(method: Any): ... def check_db_management_enabled(method): ...
def check_super(passwd: Any): ... def check_super(passwd): ...
def _initialize_db(id: Any, db_name: Any, demo: Any, lang: Any, user_password: Any, login: str = ..., country_code: Optional[Any] = ..., phone: Optional[Any] = ...) -> None: ... def _initialize_db(id, db_name, demo, lang, user_password, login: str = ..., country_code: Any | None = ..., phone: Any | None = ...) -> None: ...
def _create_empty_database(name: Any) -> None: ... def _create_empty_database(name) -> None: ...
def exp_create_database(db_name: Any, demo: Any, lang: Any, user_password: str = ..., login: str = ..., country_code: Optional[Any] = ..., phone: Optional[Any] = ...): ... def exp_create_database(db_name, demo, lang, user_password: str = ..., login: str = ..., country_code: Any | None = ..., phone: Any | None = ...): ...
def exp_duplicate_database(db_original_name: Any, db_name: Any): ... def exp_duplicate_database(db_original_name, db_name): ...
def _drop_conn(cr: Any, db_name: Any) -> None: ... def _drop_conn(cr, db_name) -> None: ...
def exp_drop(db_name: Any): ... def exp_drop(db_name): ...
def exp_dump(db_name: Any, format: Any): ... def exp_dump(db_name, format): ...
def dump_db_manifest(cr: Any): ... def dump_db_manifest(cr): ...
def dump_db(db_name: Any, stream: Any, backup_format: str = ...): ... def dump_db(db_name, stream, backup_format: str = ...): ...
def exp_restore(db_name: Any, data: Any, copy: bool = ...): ... def exp_restore(db_name, data, copy: bool = ...): ...
def restore_db(db: Any, dump_file: Any, copy: bool = ...) -> None: ... def restore_db(db, dump_file, copy: bool = ...) -> None: ...
def exp_rename(old_name: Any, new_name: Any): ... def exp_rename(old_name, new_name): ...
def exp_change_admin_password(new_password: Any): ... def exp_change_admin_password(new_password): ...
def exp_migrate_databases(databases: Any): ... def exp_migrate_databases(databases): ...
def exp_db_exist(db_name: Any): ... def exp_db_exist(db_name): ...
def list_dbs(force: bool = ...): ... def list_dbs(force: bool = ...): ...
def list_db_incompatible(databases: Any): ... def list_db_incompatible(databases): ...
def exp_list(document: bool = ...): ... def exp_list(document: bool = ...): ...
def exp_list_lang(): ... def exp_list_lang(): ...
def exp_list_countries(): ... def exp_list_countries(): ...
def exp_server_version(): ... def exp_server_version(): ...
def dispatch(method: Any, params: Any): ... def dispatch(method, params): ...

View File

@@ -1,11 +1,11 @@
from typing import Any, Optional from typing import Any
_logger: Any _logger: Any
PG_CONCURRENCY_ERRORS_TO_RETRY: Any PG_CONCURRENCY_ERRORS_TO_RETRY: Any
MAX_TRIES_ON_CONCURRENCY_FAILURE: int MAX_TRIES_ON_CONCURRENCY_FAILURE: int
def dispatch(method: Any, params: Any): ... def dispatch(method, params): ...
def check(f: Any): ... def check(f): ...
def execute_cr(cr: Any, uid: Any, obj: Any, method: Any, *args: Any, **kw: Any): ... def execute_cr(cr, uid, obj, method, *args, **kw): ...
def execute_kw(db: Any, uid: Any, obj: Any, method: Any, args: Any, kw: Optional[Any] = ...): ... def execute_kw(db, uid, obj, method, args, kw: Any | None = ...): ...
def execute(db: Any, uid: Any, obj: Any, method: Any, *args: Any, **kw: Any): ... def execute(db, uid, obj, method, *args, **kw): ...

View File

@@ -1,5 +1,3 @@
from typing import Any def check(db, uid, passwd): ...
def compute_session_token(session, env): ...
def check(db: Any, uid: Any, passwd: Any): ... def check_session(session, env): ...
def compute_session_token(session: Any, env: Any): ...
def check_session(session: Any, env: Any): ...

View File

@@ -1,147 +1,147 @@
import werkzeug.serving import werkzeug.serving
from ..tests import runner as runner from ..tests import runner as runner
from itertools import chain as chain from itertools import chain as chain
from typing import Any, Optional from typing import Any
INOTIFY_LISTEN_EVENTS: Any INOTIFY_LISTEN_EVENTS: Any
_logger: Any _logger: Any
SLEEP_INTERVAL: int SLEEP_INTERVAL: int
def memory_info(process: Any): ... def memory_info(process): ...
def set_limit_memory_hard() -> None: ... def set_limit_memory_hard() -> None: ...
def empty_pipe(fd: Any) -> None: ... def empty_pipe(fd) -> None: ...
class LoggingBaseWSGIServerMixIn: class LoggingBaseWSGIServerMixIn:
def handle_error(self, request: Any, client_address: Any) -> None: ... def handle_error(self, request, client_address) -> None: ...
class BaseWSGIServerNoBind(LoggingBaseWSGIServerMixIn, werkzeug.serving.BaseWSGIServer): class BaseWSGIServerNoBind(LoggingBaseWSGIServerMixIn, werkzeug.serving.BaseWSGIServer):
def __init__(self, app: Any) -> None: ... def __init__(self, app) -> None: ...
def server_activate(self) -> None: ... def server_activate(self) -> None: ...
class RequestHandler(werkzeug.serving.WSGIRequestHandler): class RequestHandler(werkzeug.serving.WSGIRequestHandler):
timeout: int = ... timeout: int
def setup(self) -> None: ... def setup(self) -> None: ...
class ThreadedWSGIServerReloadable(LoggingBaseWSGIServerMixIn, werkzeug.serving.ThreadedWSGIServer): class ThreadedWSGIServerReloadable(LoggingBaseWSGIServerMixIn, werkzeug.serving.ThreadedWSGIServer):
max_http_threads: Any = ... max_http_threads: Any
http_threads_sem: Any = ... http_threads_sem: Any
daemon_threads: bool = ... daemon_threads: bool
def __init__(self, host: Any, port: Any, app: Any) -> None: ... def __init__(self, host, port, app) -> None: ...
reload_socket: bool = ... reload_socket: bool
socket: Any = ... socket: Any
def server_bind(self) -> None: ... def server_bind(self) -> None: ...
def server_activate(self) -> None: ... def server_activate(self) -> None: ...
def process_request(self, request: Any, client_address: Any) -> None: ... def process_request(self, request, client_address) -> None: ...
def _handle_request_noblock(self) -> None: ... def _handle_request_noblock(self) -> None: ...
def shutdown_request(self, request: Any) -> None: ... def shutdown_request(self, request) -> None: ...
class FSWatcherBase: class FSWatcherBase:
def handle_file(self, path: Any): ... def handle_file(self, path): ...
class FSWatcherWatchdog(FSWatcherBase): class FSWatcherWatchdog(FSWatcherBase):
observer: Any = ... observer: Any
def __init__(self) -> None: ... def __init__(self) -> None: ...
def dispatch(self, event: Any) -> None: ... def dispatch(self, event) -> None: ...
def start(self) -> None: ... def start(self) -> None: ...
def stop(self) -> None: ... def stop(self) -> None: ...
class FSWatcherInotify(FSWatcherBase): class FSWatcherInotify(FSWatcherBase):
started: bool = ... started: bool
watcher: Any = ... watcher: Any
def __init__(self) -> None: ... def __init__(self) -> None: ...
def run(self) -> None: ... def run(self) -> None: ...
thread: Any = ... thread: Any
def start(self) -> None: ... def start(self) -> None: ...
def stop(self) -> None: ... def stop(self) -> None: ...
class CommonServer: class CommonServer:
app: Any = ... app: Any
interface: Any = ... _on_stop_funcs: Any
port: Any = ... interface: Any
pid: Any = ... port: Any
def __init__(self, app: Any) -> None: ... pid: Any
def close_socket(self, sock: Any) -> None: ... def __init__(self, app) -> None: ...
def close_socket(self, sock) -> None: ...
def on_stop(self, func) -> None: ...
def stop(self) -> None: ...
class ThreadedServer(CommonServer): class ThreadedServer(CommonServer):
main_thread_id: Any = ... main_thread_id: Any
quit_signals_received: int = ... quit_signals_received: int
httpd: Any = ... httpd: Any
limits_reached_threads: Any = ... limits_reached_threads: Any
limit_reached_time: Any = ... limit_reached_time: Any
def __init__(self, app: Any) -> None: ... def __init__(self, app) -> None: ...
def signal_handler(self, sig: Any, frame: Any) -> None: ... def signal_handler(self, sig, frame) -> None: ...
def process_limit(self) -> None: ... def process_limit(self) -> None: ...
def cron_thread(self, number: Any) -> None: ... def cron_thread(self, number) -> None: ...
def cron_spawn(self) -> None: ... def cron_spawn(self) -> None: ...
def http_thread(self): ... def http_thread(self): ...
def http_spawn(self) -> None: ... def http_spawn(self) -> None: ...
def start(self, stop: bool = ...): ... def start(self, stop: bool = ...): ...
def stop(self) -> None: ... def stop(self) -> None: ...
def run(self, preload: Optional[Any] = ..., stop: bool = ...): ... def run(self, preload: Any | None = ..., stop: bool = ...): ...
def reload(self) -> None: ... def reload(self) -> None: ...
class GeventServer(CommonServer): class GeventServer(CommonServer):
port: Any = ... port: Any
httpd: Any = ... httpd: Any
def __init__(self, app: Any) -> None: ... def __init__(self, app) -> None: ...
def process_limits(self) -> None: ... def process_limits(self) -> None: ...
ppid: Any = ... ppid: Any
def watchdog(self, beat: int = ...) -> None: ... def watchdog(self, beat: int = ...) -> None: ...
client_address: Any = ... client_address: Any
def start(self): ... def start(self): ...
def stop(self) -> None: ... def stop(self) -> None: ...
def run(self, preload: Any, stop: Any) -> None: ... def run(self, preload, stop) -> None: ...
class PreforkServer(CommonServer): class PreforkServer(CommonServer):
address: Any = ... population: Any
population: Any = ... timeout: Any
timeout: Any = ... limit_request: Any
limit_request: Any = ... cron_timeout: Any
cron_timeout: Any = ... beat: int
beat: int = ... socket: Any
app: Any = ... workers_http: Any
pid: Any = ... workers_cron: Any
socket: Any = ... workers: Any
workers_http: Any = ... generation: int
workers_cron: Any = ... queue: Any
workers: Any = ... long_polling_pid: Any
generation: int = ... def __init__(self, app) -> None: ...
queue: Any = ...
long_polling_pid: Any = ...
def __init__(self, app: Any) -> None: ...
def pipe_new(self): ... def pipe_new(self): ...
def pipe_ping(self, pipe: Any) -> None: ... def pipe_ping(self, pipe) -> None: ...
def signal_handler(self, sig: Any, frame: Any) -> None: ... def signal_handler(self, sig, frame) -> None: ...
def worker_spawn(self, klass: Any, workers_registry: Any): ... def worker_spawn(self, klass, workers_registry): ...
def long_polling_spawn(self) -> None: ... def long_polling_spawn(self) -> None: ...
def worker_pop(self, pid: Any) -> None: ... def worker_pop(self, pid) -> None: ...
def worker_kill(self, pid: Any, sig: Any) -> None: ... def worker_kill(self, pid, sig) -> None: ...
def process_signals(self) -> None: ... def process_signals(self) -> None: ...
def process_zombie(self) -> None: ... def process_zombie(self) -> None: ...
def process_timeout(self) -> None: ... def process_timeout(self) -> None: ...
def process_spawn(self) -> None: ... def process_spawn(self) -> None: ...
def sleep(self) -> None: ... def sleep(self) -> None: ...
pipe: Any = ... pipe: Any
def start(self) -> None: ... def start(self) -> None: ...
def stop(self, graceful: bool = ...) -> None: ... def stop(self, graceful: bool = ...) -> None: ...
def run(self, preload: Any, stop: Any): ... def run(self, preload, stop): ...
class Worker: class Worker:
multi: Any = ... multi: Any
watchdog_time: Any = ... watchdog_time: Any
watchdog_pipe: Any = ... watchdog_pipe: Any
eintr_pipe: Any = ... eintr_pipe: Any
watchdog_timeout: Any = ... watchdog_timeout: Any
ppid: Any = ... ppid: Any
pid: Any = ... pid: Any
alive: bool = ... alive: bool
request_max: Any = ... request_max: Any
request_count: int = ... request_count: int
def __init__(self, multi: Any) -> None: ... def __init__(self, multi) -> None: ...
def setproctitle(self, title: str = ...) -> None: ... def setproctitle(self, title: str = ...) -> None: ...
def close(self) -> None: ... def close(self) -> None: ...
def signal_handler(self, sig: Any, frame: Any) -> None: ... def signal_handler(self, sig, frame) -> None: ...
def signal_time_expired_handler(self, n: Any, stack: Any) -> None: ... def signal_time_expired_handler(self, n, stack) -> None: ...
def sleep(self) -> None: ... def sleep(self) -> None: ...
def check_limits(self) -> None: ... def check_limits(self) -> None: ...
def process_work(self) -> None: ... def process_work(self) -> None: ...
@@ -151,27 +151,29 @@ class Worker:
def _runloop(self) -> None: ... def _runloop(self) -> None: ...
class WorkerHTTP(Worker): class WorkerHTTP(Worker):
sock_timeout: Any = ... sock_timeout: Any
def __init__(self, multi: Any) -> None: ... def __init__(self, multi) -> None: ...
def process_request(self, client: Any, addr: Any) -> None: ... def process_request(self, client, addr) -> None: ...
def process_work(self) -> None: ... def process_work(self) -> None: ...
server: Any = ... server: Any
def start(self) -> None: ... def start(self) -> None: ...
class WorkerCron(Worker): class WorkerCron(Worker):
db_index: int = ... db_index: int
watchdog_timeout: Any = ... watchdog_timeout: Any
def __init__(self, multi: Any) -> None: ... def __init__(self, multi) -> None: ...
def sleep(self) -> None: ... def sleep(self) -> None: ...
def _db_list(self): ... def _db_list(self): ...
def process_work(self) -> None: ... def process_work(self) -> None: ...
dbcursor: Any
def start(self) -> None: ... def start(self) -> None: ...
def stop(self) -> None: ...
server: Any server: Any
def load_server_wide_modules() -> None: ... def load_server_wide_modules() -> None: ...
def _reexec(updated_modules: Optional[Any] = ...) -> None: ... def _reexec(updated_modules: Any | None = ...) -> None: ...
def load_test_file_py(registry: Any, test_file: Any) -> None: ... def load_test_file_py(registry, test_file) -> None: ...
def preload_registries(dbnames: Any): ... def preload_registries(dbnames): ...
def start(preload: Optional[Any] = ..., stop: bool = ...): ... def start(preload: Any | None = ..., stop: bool = ...): ...
def restart() -> None: ... def restart() -> None: ...

View File

@@ -7,11 +7,10 @@ RPC_FAULT_CODE_WARNING: int
RPC_FAULT_CODE_ACCESS_DENIED: int RPC_FAULT_CODE_ACCESS_DENIED: int
RPC_FAULT_CODE_ACCESS_ERROR: int RPC_FAULT_CODE_ACCESS_ERROR: int
def xmlrpc_handle_exception_int(e: Any): ... def xmlrpc_handle_exception_int(e): ...
def xmlrpc_handle_exception_string(e: Any): ... def xmlrpc_handle_exception_string(e): ...
def _patch_xmlrpc_marshaller() -> None: ... def application_unproxied(environ, start_response): ...
def application_unproxied(environ: Any, start_response: Any): ...
ProxyFix: Any ProxyFix: Any
def application(environ: Any, start_response: Any): ... def application(environ, start_response): ...

View File

@@ -1,105 +1,112 @@
import psycopg2.extensions import psycopg2.extensions
from typing import Any, Optional from typing import Any
_logger: Any _logger: Any
def unbuffer(symb: Any, cr: Any): ... def unbuffer(symb, cr): ...
def undecimalize(symb: Any, cr: Any): ... def undecimalize(symb, cr): ...
def adapt_string(adapted: Any): ... def adapt_string(adapted): ...
def flush_env(cr: Any, *, clear: bool = ...) -> None: ... def flush_env(cr, *, clear: bool = ...) -> None: ...
def clear_env(cr: Any) -> None: ... def clear_env(cr) -> None: ...
re_from: Any re_from: Any
re_into: Any re_into: Any
sql_counter: int sql_counter: int
def check(f: Any, self: Any, *args: Any, **kwargs: Any): ... def check(f, self, *args, **kwargs): ...
class BaseCursor: class BaseCursor:
precommit: Any = ... precommit: Any
postcommit: Any = ... postcommit: Any
prerollback: Any = ... prerollback: Any
postrollback: Any = ... postrollback: Any
transaction: Any
def __init__(self) -> None: ... def __init__(self) -> None: ...
def flush(self) -> None: ...
def clear(self) -> None: ...
def reset(self) -> None: ...
def savepoint(self, flush: bool = ...) -> None: ... def savepoint(self, flush: bool = ...) -> None: ...
def __enter__(self): ... def __enter__(self): ...
def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: ... def __exit__(self, exc_type, exc_value, traceback) -> None: ...
class Cursor(BaseCursor): class Cursor(BaseCursor):
IN_MAX: int = ... IN_MAX: int
sql_from_log: Any = ... sql_from_log: Any
sql_into_log: Any = ... sql_into_log: Any
sql_log: Any = ... sql_log: Any
sql_log_count: int = ... sql_log_count: int
_closed: bool = ... _closed: bool
__pool: Any = ... __pool: Any
dbname: Any = ... dbname: Any
_serialized: Any = ... _serialized: Any
_cnx: Any = ... _cnx: Any
_obj: Any = ... _obj: Any
__caller: Any = ... __caller: Any
_default_log_exceptions: bool = ... _default_log_exceptions: bool
cache: Any = ... cache: Any
def __init__(self, pool: Any, dbname: Any, dsn: Any, serialized: bool = ...) -> None: ... _now: Any
def __build_dict(self, row: Any): ... def __init__(self, pool, dbname, dsn, serialized: bool = ...) -> None: ...
def __build_dict(self, row): ...
def dictfetchone(self): ... def dictfetchone(self): ...
def dictfetchmany(self, size: Any): ... def dictfetchmany(self, size): ...
def dictfetchall(self): ... def dictfetchall(self): ...
def __del__(self) -> None: ... def __del__(self) -> None: ...
def execute(self, query: Any, params: Optional[Any] = ..., log_exceptions: Optional[Any] = ...): ... def _format(self, query, params: Any | None = ...): ...
def split_for_in_conditions(self, ids: Any, size: Optional[Any] = ...): ... def execute(self, query, params: Any | None = ..., log_exceptions: Any | None = ...): ...
def split_for_in_conditions(self, ids, size: Any | None = ...): ...
def print_log(self): ... def print_log(self): ...
def close(self): ... def close(self): ...
def _close(self, leak: bool = ...) -> None: ... def _close(self, leak: bool = ...) -> None: ...
def autocommit(self, on: Any) -> None: ... def autocommit(self, on) -> None: ...
def after(self, event: Any, func: Any) -> None: ... def after(self, event, func) -> None: ...
def commit(self): ... def commit(self): ...
def rollback(self): ... def rollback(self): ...
def __getattr__(self, name: Any): ... def __getattr__(self, name): ...
@property @property
def closed(self): ... def closed(self): ...
def now(self): ...
class TestCursor(BaseCursor): class TestCursor(BaseCursor):
_savepoint_seq: Any = ... _savepoint_seq: Any
_closed: bool = ... _closed: bool
_cursor: Any = ... _cursor: Any
_lock: Any = ... _lock: Any
_savepoint: Any = ... _savepoint: Any
def __init__(self, cursor: Any, lock: Any) -> None: ... def __init__(self, cursor, lock) -> None: ...
def close(self) -> None: ... def close(self) -> None: ...
def autocommit(self, on: Any) -> None: ... def autocommit(self, on) -> None: ...
def commit(self) -> None: ... def commit(self) -> None: ...
def rollback(self) -> None: ... def rollback(self) -> None: ...
def __getattr__(self, name: Any): ... def __getattr__(self, name): ...
class PsycoConnection(psycopg2.extensions.connection): ... class PsycoConnection(psycopg2.extensions.connection): ...
class ConnectionPool: class ConnectionPool:
def locked(fun: Any): ... def locked(fun): ...
_connections: Any = ... _connections: Any
_maxconn: Any = ... _maxconn: Any
_lock: Any = ... _lock: Any
def __init__(self, maxconn: int = ...) -> None: ... def __init__(self, maxconn: int = ...) -> None: ...
def __repr__(self): ... def __repr__(self): ...
def _debug(self, msg: Any, *args: Any) -> None: ... def _debug(self, msg, *args) -> None: ...
def borrow(self, connection_info: Any): ... def borrow(self, connection_info): ...
def give_back(self, connection: Any, keep_in_pool: bool = ...) -> None: ... def give_back(self, connection, keep_in_pool: bool = ...) -> None: ...
def close_all(self, dsn: Optional[Any] = ...) -> None: ... def close_all(self, dsn: Any | None = ...) -> None: ...
class Connection: class Connection:
dbname: Any = ... dbname: Any
dsn: Any = ... dsn: Any
__pool: Any = ... __pool: Any
def __init__(self, pool: Any, dbname: Any, dsn: Any) -> None: ... def __init__(self, pool, dbname, dsn) -> None: ...
def cursor(self, serialized: bool = ...): ... def cursor(self, serialized: bool = ...): ...
serialized_cursor: Any = ... serialized_cursor: Any
def __bool__(self) -> None: ... def __bool__(self) -> None: ...
__nonzero__: Any = ... __nonzero__: Any
def connection_info_for(db_or_uri: Any): ... def connection_info_for(db_or_uri): ...
_Pool: Any _Pool: Any
def db_connect(to: Any, allow_uri: bool = ...): ... def db_connect(to, allow_uri: bool = ...): ...
def close_db(db_name: Any) -> None: ... def close_db(db_name) -> None: ...
def close_all() -> None: ... def close_all() -> None: ...

View File

@@ -1,2 +1,2 @@
from .common import * from .common import *
from . import common as common from . import common as common, test_parse_inline_template as test_parse_inline_template

View File

@@ -1,10 +1,12 @@
import collections import collections
import logging
import requests
import unittest import unittest
from typing import Any, Optional from odoo import api
from odoo.api import Environment
from odoo.modules.registry import Registry from odoo.modules.registry import Registry
from odoo.sql_db import Cursor from odoo.sql_db import BaseCursor, Cursor
from typing import Any
from xmlrpc import client as xmlrpclib
_logger: Any _logger: Any
ADDONS_PATH: Any ADDONS_PATH: Any
@@ -15,222 +17,261 @@ def get_db_name(): ...
standalone_tests: Any standalone_tests: Any
def standalone(*tags: Any): ... def standalone(*tags): ...
DB: Any DB: Any
def new_test_user(env: Any, login: str = ..., groups: str = ..., context: Optional[Any] = ..., **kwargs: Any): ... def new_test_user(env, login: str = ..., groups: str = ..., context: Any | None = ..., **kwargs): ...
class RecordCapturer:
_model: Any
_domain: Any
def __init__(self, model, domain) -> None: ...
_before: Any
_after: Any
def __enter__(self): ...
def __exit__(self, exc_type, exc_value, exc_traceback) -> None: ...
@property
def records(self): ...
class OdooSuite(unittest.suite.TestSuite): class OdooSuite(unittest.suite.TestSuite):
def _handleClassSetUp(self, test: Any, result: Any) -> None: ... def __init__(self, *args, **kwargs) -> None: ...
def _createClassOrModuleLevelException(self, result: Any, exc: Any, method_name: Any, parent: Any, info: Optional[Any] = ...) -> None: ... def _handleClassSetUp(self, test, result) -> None: ...
def _addClassOrModuleLevelException(self, result: Any, exception: Any, errorName: Any, info: Optional[Any] = ...) -> None: ... def _createClassOrModuleLevelException(self, result, exc, method_name, parent, info: Any | None = ...) -> None: ...
def _tearDownPreviousClass(self, test: Any, result: Any) -> None: ... def _addClassOrModuleLevelException(self, result, exception, errorName, info: Any | None = ...) -> None: ...
def _tearDownPreviousClass(self, test, result) -> None: ...
class TreeCase(unittest.TestCase):
_class_cleanups: Any = ...
@classmethod
def addClassCleanup(cls, function: Any, *args: Any, **kwargs: Any) -> None: ...
@classmethod
def doClassCleanups(cls) -> None: ...
def __init__(self, methodName: str = ...) -> None: ...
def assertTreesEqual(self, n1: Any, n2: Any, msg: Optional[Any] = ...) -> None: ...
class MetaCase(type): class MetaCase(type):
def __init__(cls, name: Any, bases: Any, attrs: Any) -> None: ... def __init__(cls, name, bases, attrs) -> None: ...
class BaseCase(TreeCase): def _normalize_arch_for_assert(arch_string, parser_method: str = ...): ...
longMessage: bool = ...
warm: bool = ...
registry: Registry = ...
cr: Cursor = ...
env: Environment = ...
def cursor(self): ...
@property
def uid(self): ...
@uid.setter
def uid(self, user: Any) -> None: ...
def ref(self, xid: Any): ...
def browse_ref(self, xid: Any): ...
def with_user(self, login: Any) -> None: ...
def _assertRaises(self, exception: Any, *, msg: Optional[Any] = ...) -> None: ...
def assertRaises(self, exception: Any, func: Optional[Any] = ..., *args: Any, **kwargs: Any): ...
def assertQueries(self, expected: Any, flush: bool = ...): ...
def assertQueryCount(self, default: int = ..., flush: bool = ..., **counters: Any): ...
def assertRecordValues(self, records: Any, expected_values: Any): ...
def shortDescription(self) -> None: ...
def assertItemsEqual(self, a: Any, b: Any, msg: Optional[Any] = ...) -> None: ...
class TransactionCase(BaseCase): class BaseCase(unittest.TestCase, metaclass=MetaCase):
def setUp(self): ... _class_cleanups: Any
def patch(self, obj: Any, key: Any, val: Any) -> None: ...
def patch_order(self, model: Any, order: Any) -> None: ...
class SingleTransactionCase(BaseCase):
@classmethod @classmethod
def setUpClass(cls) -> None: ... def addClassCleanup(cls, function, *args, **kwargs) -> None: ...
def setUp(self) -> None: ... @classmethod
def doClassCleanups(cls) -> None: ...
longMessage: bool
warm: bool
def __init__(self, methodName: str = ...) -> None: ...
def shortDescription(self) -> None: ...
def cursor(self) -> Cursor: ...
@property
def uid(self) -> int: ...
env: api.Environment
@uid.setter
def uid(self, user) -> None: ...
def ref(self, xid): ...
def browse_ref(self, xid): ...
def patch(self, obj, key, val) -> None: ...
def with_user(self, login) -> None: ...
def _assertRaises(self, exception, *, msg: Any | None = ...) -> None: ...
def assertRaises(self, exception, func: Any | None = ..., *args, **kwargs): ...
def assertQueries(self, expected, flush: bool = ...): ...
def assertQueryCount(self, default: int = ..., flush: bool = ..., **counters): ...
def assertRecordValues(self, records, expected_values): ...
def assertItemsEqual(self, a, b, msg: Any | None = ...) -> None: ...
def assertTreesEqual(self, n1, n2, msg: Any | None = ...) -> None: ...
def _assertXMLEqual(self, original, expected, parser: str = ...) -> None: ...
def assertXMLEqual(self, original, expected): ...
def assertHTMLEqual(self, original, expected): ...
profile_session: Any
def profile(self, **kwargs): ...
savepoint_seq: Any savepoint_seq: Any
class SavepointCase(SingleTransactionCase): class TransactionCase(BaseCase):
_savepoint_id: Any = ... registry: Registry
env: api.Environment
cr: Cursor
@classmethod
def setUpClass(cls) -> None: ...
_savepoint_id: Any
def setUp(self): ...
class SavepointCase(TransactionCase):
@classmethod
def __init_subclass__(cls) -> None: ...
class SingleTransactionCase(BaseCase):
registry: Registry
env: api.Environment
cr: Cursor
@classmethod
def __init_subclass__(cls) -> None: ...
@classmethod
def setUpClass(cls) -> None: ...
def setUp(self) -> None: ... def setUp(self) -> None: ...
class ChromeBrowserException(Exception): ... class ChromeBrowserException(Exception): ...
class ChromeBrowser: class ChromeBrowser:
_logger: Any = ... _logger: Any
test_class: Any = ... test_class: Any
devtools_port: Any = ... devtools_port: Any
ws_url: str = ... ws_url: str
ws: Any = ... ws: Any
request_id: int = ... request_id: int
user_data_dir: Any = ... user_data_dir: Any
chrome_pid: Any = ... chrome_pid: Any
screenshots_dir: Any = ... screenshots_dir: Any
screencasts_dir: Any = ... screencasts_dir: Any
screencast_frames: Any = ... screencast_frames: Any
window_size: Any = ... window_size: Any
sigxcpu_handler: Any = ... sigxcpu_handler: Any
def __init__(self, logger: Any, window_size: Any, test_class: Any) -> None: ... def __init__(self, logger, window_size, test_class) -> None: ...
def signal_handler(self, sig: Any, frame: Any) -> None: ... def signal_handler(self, sig, frame) -> None: ...
def stop(self) -> None: ... def stop(self) -> None: ...
@property @property
def executable(self): ... def executable(self): ...
def _spawn_chrome(self, cmd: Any): ... def _spawn_chrome(self, cmd): ...
def _chrome_start(self) -> None: ... def _chrome_start(self) -> None: ...
def _find_websocket(self) -> None: ... def _find_websocket(self) -> None: ...
def _json_command(self, command: Any, timeout: int = ..., get_key: Optional[Any] = ...): ... def _json_command(self, command, timeout: int = ..., get_key: Any | None = ...): ...
def _open_websocket(self) -> None: ... def _open_websocket(self) -> None: ...
def _websocket_send(self, method: Any, params: Optional[Any] = ...): ... def _websocket_send(self, method, params: Any | None = ...): ...
def _get_message(self, raise_log_error: bool = ...): ... def _get_message(self, raise_log_error: bool = ...): ...
_TO_LEVEL: Any = ... _TO_LEVEL: Any
def _websocket_wait_id(self, awaited_id: Any, timeout: int = ...): ... def _websocket_wait_id(self, awaited_id, timeout: int = ...): ...
def _websocket_wait_event(self, method: Any, params: Optional[Any] = ..., timeout: int = ...): ... def _websocket_wait_event(self, method, params: Any | None = ..., timeout: int = ...): ...
def take_screenshot(self, prefix: str = ..., suffix: Optional[Any] = ...) -> None: ... def take_screenshot(self, prefix: str = ..., suffix: Any | None = ...) -> None: ...
def _save_screencast(self, prefix: str = ...) -> None: ... def _save_screencast(self, prefix: str = ...) -> None: ...
screencasts_frames_dir: Any = ... screencasts_frames_dir: Any
def start_screencast(self) -> None: ... def start_screencast(self) -> None: ...
def set_cookie(self, name: Any, value: Any, path: Any, domain: Any): ... def set_cookie(self, name, value, path, domain): ...
def delete_cookie(self, name: Any, **kwargs: Any): ... def delete_cookie(self, name, **kwargs): ...
def _wait_ready(self, ready_code: Any, timeout: int = ...): ... def _wait_ready(self, ready_code, timeout: int = ...): ...
def _wait_code_ok(self, code: Any, timeout: Any): ... def _wait_code_ok(self, code, timeout): ...
def navigate_to(self, url: Any, wait_stop: bool = ...) -> None: ... def navigate_to(self, url, wait_stop: bool = ...) -> None: ...
def clear(self) -> None: ... def clear(self) -> None: ...
def _from_remoteobject(self, arg: Any): ... def _from_remoteobject(self, arg): ...
LINE_PATTERN: str = ... LINE_PATTERN: str
def _format_stack(self, logrecord: Any) -> None: ... def _format_stack(self, logrecord) -> None: ...
def console_formatter(self, args: Any): ... def console_formatter(self, args): ...
class HttpCaseCommon(BaseCase): class Opener(requests.Session):
registry_test_mode: bool = ... cr: Any
browser: Any = ... def __init__(self, cr: BaseCursor) -> None: ...
browser_size: str = ... def request(self, *args, **kwargs): ...
xmlrpc_url: Any = ...
xmlrpc_common: Any = ... class Transport(xmlrpclib.Transport):
xmlrpc_db: Any = ... cr: Any
xmlrpc_object: Any = ... def __init__(self, cr: BaseCursor) -> None: ...
def __init__(self, methodName: str = ...) -> None: ... def request(self, *args, **kwargs): ...
opener: Any = ...
class HttpCase(TransactionCase):
registry_test_mode: bool
browser: Any
browser_size: str
_logger: logging.Logger
@classmethod
def setUpClass(cls) -> None: ...
xmlrpc_common: Any
xmlrpc_db: Any
xmlrpc_object: Any
opener: Any
def setUp(self) -> None: ... def setUp(self) -> None: ...
@classmethod @classmethod
def start_browser(cls) -> None: ... def start_browser(cls) -> None: ...
@classmethod @classmethod
def terminate_browser(cls) -> None: ... def terminate_browser(cls) -> None: ...
def url_open(self, url: Any, data: Optional[Any] = ..., files: Optional[Any] = ..., timeout: int = ..., headers: Optional[Any] = ..., allow_redirects: bool = ...): ... def url_open(self, url, data: Any | None = ..., files: Any | None = ..., timeout: int = ..., headers: Any | None = ..., allow_redirects: bool = ..., head: bool = ...): ...
def _wait_remaining_requests(self, timeout: int = ...): ... def _wait_remaining_requests(self, timeout: int = ...): ...
def logout(self, keep_db: bool = ...) -> None: ... def logout(self, keep_db: bool = ...) -> None: ...
session: Any = ... session: Any
def authenticate(self, user: Any, password: Any): ... def authenticate(self, user, password): ...
def browser_js(self, url_path: Any, code: Any, ready: str = ..., login: Optional[Any] = ..., timeout: int = ..., **kw: Any) -> None: ... def browser_js(self, url_path, code, ready: str = ..., login: Any | None = ..., timeout: int = ..., **kw) -> None: ...
def start_tour(self, url_path: Any, tour_name: Any, step_delay: Optional[Any] = ..., **kwargs: Any): ... @classmethod
def base_url(cls): ...
def start_tour(self, url_path, tour_name, step_delay: Any | None = ..., **kwargs): ...
class HttpCase(HttpCaseCommon, TransactionCase): ... class HttpSavepointCase(HttpCase):
class HttpSavepointCase(HttpCaseCommon, SavepointCase): ... @classmethod
def __init_subclass__(cls) -> None: ...
def users(*logins: Any): ... def users(*logins): ...
def warmup(func: Any, *args: Any, **kwargs: Any) -> None: ... def warmup(func, *args, **kwargs) -> None: ...
def can_import(module: Any): ... def can_import(module): ...
ref_re: Any ref_re: Any
class Form: class Form:
def __init__(self, recordp: Any, view: Optional[Any] = ...) -> None: ... def __init__(self, recordp, view: Any | None = ...) -> None: ...
def _o2m_set_edition_view(self, descr: Any, node: Any, level: Any) -> None: ... def _o2m_set_edition_view(self, descr, node, level) -> None: ...
def __str__(self): ... def __str__(self): ...
def _process_fvg(self, model: Any, fvg: Any, level: int = ...) -> None: ... def _process_fvg(self, model, fvg, level: int = ...) -> None: ...
def _init_from_defaults(self, model: Any) -> None: ... def _init_from_defaults(self, model) -> None: ...
def _init_from_values(self, values: Any) -> None: ... def _init_from_values(self, values) -> None: ...
def __getattr__(self, field: Any): ... def __getattr__(self, field): ...
def _get_modifier(self, field: Any, modifier: Any, default: bool = ..., modmap: Optional[Any] = ..., vals: Optional[Any] = ...): ... def _get_modifier(self, field, modifier, default: bool = ..., modmap: Any | None = ..., vals: Any | None = ...): ...
_OPS: Any = ... _OPS: Any
def _get_context(self, field: Any): ... def _get_context(self, field): ...
def __setattr__(self, field: Any, value: Any) -> None: ... def __setattr__(self, field, value) -> None: ...
def __enter__(self): ... def __enter__(self): ...
def __exit__(self, etype: Any, _evalue: Any, _etb: Any) -> None: ... def __exit__(self, etype, _evalue, _etb) -> None: ...
def save(self): ... def save(self): ...
def _values_to_save(self, all_fields: bool = ...): ... def _values_to_save(self, all_fields: bool = ...): ...
def _values_to_save_(self, record_values: Any, fields: Any, view: Any, changed: Any, all_fields: bool = ..., modifiers_values: Optional[Any] = ..., parent_link: Optional[Any] = ...): ... def _values_to_save_(self, record_values, fields, view, changed, all_fields: bool = ..., modifiers_values: Any | None = ..., parent_link: Any | None = ...): ...
def _perform_onchange(self, fields: Any) -> None: ... def _perform_onchange(self, fields): ...
def _onchange_values(self): ... def _onchange_values(self): ...
def _onchange_values_(self, fields: Any, record: Any): ... def _onchange_values_(self, fields, record): ...
def _cleanup_onchange(self, descr: Any, value: Any, current: Any): ... def _cleanup_onchange(self, descr, value, current): ...
class O2MForm(Form): class O2MForm(Form):
def __init__(self, proxy: Any, index: Optional[Any] = ...) -> None: ... def __init__(self, proxy, index: Any | None = ...) -> None: ...
def _get_modifier(self, field: Any, modifier: Any, default: bool = ..., modmap: Optional[Any] = ..., vals: Optional[Any] = ...): ... def _get_modifier(self, field, modifier, default: bool = ..., modmap: Any | None = ..., vals: Any | None = ...): ...
def _onchange_values(self): ... def _onchange_values(self): ...
def save(self) -> None: ... def save(self) -> None: ...
def _values_to_save(self, all_fields: bool = ...): ... def _values_to_save(self, all_fields: bool = ...): ...
class UpdateDict(dict): class UpdateDict(dict):
_changed: Any = ... _changed: Any
def __init__(self, *args: Any, **kwargs: Any) -> None: ... def __init__(self, *args, **kwargs) -> None: ...
def changed_items(self): ... def changed_items(self): ...
def update(self, *args: Any, **kw: Any) -> None: ... def update(self, *args, **kw) -> None: ...
class X2MProxy: class X2MProxy:
_parent: Any = ... _parent: Any
_field: Any = ... _field: Any
def _assert_editable(self) -> None: ... def _assert_editable(self) -> None: ...
class O2MProxy(X2MProxy): class O2MProxy(X2MProxy):
_parent: Any = ... _parent: Any
_field: Any = ... _field: Any
_records: Any = ... _records: Any
def __init__(self, parent: Any, field: Any) -> None: ... def __init__(self, parent, field) -> None: ...
def __len__(self): ... def __len__(self): ...
@property @property
def _model(self): ... def _model(self): ...
@property @property
def _descr(self): ... def _descr(self): ...
def _command_index(self, for_record: Any): ... def _command_index(self, for_record): ...
def new(self): ... def new(self): ...
def edit(self, index: Any): ... def edit(self, index): ...
def remove(self, index: Any) -> None: ... def remove(self, index) -> None: ...
class M2MProxy(X2MProxy, collections.Sequence): class M2MProxy(X2MProxy, collections.Sequence):
_parent: Any = ... _parent: Any
_field: Any = ... _field: Any
def __init__(self, parent: Any, field: Any) -> None: ... def __init__(self, parent, field) -> None: ...
def __getitem__(self, it: Any): ... def __getitem__(self, it): ...
def __len__(self): ... def __len__(self): ...
def __iter__(self) -> Any: ... def __iter__(self): ...
def __contains__(self, record: Any): ... def __contains__(self, record): ...
def add(self, record: Any) -> None: ... def add(self, record) -> None: ...
def _get_ids(self): ... def _get_ids(self): ...
def remove(self, id: Optional[Any] = ..., index: Optional[Any] = ...) -> None: ... def remove(self, id: Any | None = ..., index: Any | None = ...) -> None: ...
def clear(self) -> None: ... def clear(self) -> None: ...
def record_to_values(fields: Any, record: Any): ... def record_to_values(fields, record): ...
def _cleanup_from_default(type_: Any, value: Any): ... def _cleanup_from_default(type_, value): ...
def _get_node(view: Any, f: Any, *arg: Any): ... def _get_node(view, f, *arg): ...
def tagged(*tags: Any): ... def tagged(*tags): ...
class TagsSelector: class TagsSelector:
filter_spec_re: Any = ... filter_spec_re: Any
exclude: Any = ... exclude: Any
include: Any = ... include: Any
def __init__(self, spec: Any) -> None: ... def __init__(self, spec) -> None: ...
def check(self, test: Any): ... def check(self, test): ...

View File

@@ -2,8 +2,8 @@ from typing import Any
_logger: Any _logger: Any
def get_test_modules(module: Any): ... def get_test_modules(module): ...
def _get_tests_modules(path: Any, module: Any): ... def _get_tests_modules(path, module): ...
def make_suite(module_name: Any, position: str = ...): ... def make_suite(module_names, position: str = ...): ...
def run_suite(suite: Any, module_name: Any): ... def run_suite(suite, module_name: Any | None = ...): ...
def unwrap_suite(test: Any) -> None: ... def unwrap_suite(test) -> None: ...

View File

@@ -1,22 +1,22 @@
import unittest import unittest
from typing import Any, Optional from typing import Any
_logger: Any _logger: Any
class OdooTestResult(unittest.result.TestResult): class OdooTestResult(unittest.result.TestResult):
time_start: Any = ... time_start: Any
queries_start: Any = ... queries_start: Any
def __init__(self) -> None: ... def __init__(self) -> None: ...
def __str__(self): ... def __str__(self): ...
shouldStop: Any = ... shouldStop: Any
def update(self, other: Any) -> None: ... def update(self, other) -> None: ...
def log(self, level: Any, msg: Any, *args: Any, test: Optional[Any] = ..., exc_info: Optional[Any] = ..., extra: Optional[Any] = ..., stack_info: bool = ..., caller_infos: Optional[Any] = ...) -> None: ... def log(self, level, msg, *args, test: Any | None = ..., exc_info: Any | None = ..., extra: Any | None = ..., stack_info: bool = ..., caller_infos: Any | None = ...) -> None: ...
def getDescription(self, test: Any): ... def getDescription(self, test): ...
def startTest(self, test: Any) -> None: ... def startTest(self, test) -> None: ...
def addError(self, test: Any, err: Any) -> None: ... def addError(self, test, err) -> None: ...
def addFailure(self, test: Any, err: Any) -> None: ... def addFailure(self, test, err) -> None: ...
def addSubTest(self, test: Any, subtest: Any, err: Any) -> None: ... def addSubTest(self, test, subtest, err) -> None: ...
def addSkip(self, test: Any, reason: Any) -> None: ... def addSkip(self, test, reason) -> None: ...
def addUnexpectedSuccess(self, test: Any) -> None: ... def addUnexpectedSuccess(self, test) -> None: ...
def logError(self, flavour: Any, test: Any, error: Any) -> None: ... def logError(self, flavour, test, error) -> None: ...
def getErrorCallerInfo(self, error: Any, test: Any): ... def getErrorCallerInfo(self, error, test): ...

View File

@@ -4,10 +4,10 @@ _logger: Any
BLACKLIST: Any BLACKLIST: Any
IGNORE: Any IGNORE: Any
def install(db_name: Any, module_id: Any, module_name: Any) -> None: ... def install(db_name, module_id, module_name) -> None: ...
def uninstall(db_name: Any, module_id: Any, module_name: Any) -> None: ... def uninstall(db_name, module_id, module_name) -> None: ...
def cycle(db_name: Any, module_id: Any, module_name: Any) -> None: ... def cycle(db_name, module_id, module_name) -> None: ...
def parse_args(): ... def parse_args(): ...
def test_full(args: Any): ... def test_full(args): ...
def test_uninstall(args: Any) -> None: ... def test_uninstall(args) -> None: ...
def test_scripts(args: Any) -> None: ... def test_scripts(args) -> None: ...

View File

@@ -0,0 +1,6 @@
from odoo.tests import BaseCase
class TestParseInlineTemplate(BaseCase):
def test_no_expression(self) -> None: ...
def test_expression1(self) -> None: ...
def test_expression2(self) -> None: ...

View File

@@ -10,5 +10,7 @@ from .xml_utils import *
from .date_utils import * from .date_utils import *
from .convert import * from .convert import *
from .template_inheritance import * from .template_inheritance import *
from . import appdirs as appdirs, cloc as cloc, osutil as osutil, pdf as pdf, pycompat as pycompat, win32 as win32 from . import _monkeypatches as _monkeypatches, appdirs as appdirs, cloc as cloc, osutil as osutil, pdf as pdf, pycompat as pycompat, win32 as win32
from .config import config as config from .config import config as config
from .js_transpiler import ODOO_MODULE_RE as ODOO_MODULE_RE, URL_RE as URL_RE, is_odoo_module as is_odoo_module, transpile_javascript as transpile_javascript
from .sourcemap_generator import SourceMapGenerator as SourceMapGenerator

View File

@@ -1,22 +1,22 @@
from typing import Any, Optional from typing import Any
__version_info__: Any __version_info__: Any
__version__: Any __version__: Any
def user_data_dir(appname: Optional[Any] = ..., appauthor: Optional[Any] = ..., version: Optional[Any] = ..., roaming: bool = ...): ... def user_data_dir(appname: Any | None = ..., appauthor: Any | None = ..., version: Any | None = ..., roaming: bool = ...): ...
def site_data_dir(appname: Optional[Any] = ..., appauthor: Optional[Any] = ..., version: Optional[Any] = ..., multipath: bool = ...): ... def site_data_dir(appname: Any | None = ..., appauthor: Any | None = ..., version: Any | None = ..., multipath: bool = ...): ...
def user_config_dir(appname: Optional[Any] = ..., appauthor: Optional[Any] = ..., version: Optional[Any] = ..., roaming: bool = ...): ... def user_config_dir(appname: Any | None = ..., appauthor: Any | None = ..., version: Any | None = ..., roaming: bool = ...): ...
def site_config_dir(appname: Optional[Any] = ..., appauthor: Optional[Any] = ..., version: Optional[Any] = ..., multipath: bool = ...): ... def site_config_dir(appname: Any | None = ..., appauthor: Any | None = ..., version: Any | None = ..., multipath: bool = ...): ...
def user_cache_dir(appname: Optional[Any] = ..., appauthor: Optional[Any] = ..., version: Optional[Any] = ..., opinion: bool = ...): ... def user_cache_dir(appname: Any | None = ..., appauthor: Any | None = ..., version: Any | None = ..., opinion: bool = ...): ...
def user_log_dir(appname: Optional[Any] = ..., appauthor: Optional[Any] = ..., version: Optional[Any] = ..., opinion: bool = ...): ... def user_log_dir(appname: Any | None = ..., appauthor: Any | None = ..., version: Any | None = ..., opinion: bool = ...): ...
class AppDirs: class AppDirs:
appname: Any = ... appname: Any
appauthor: Any = ... appauthor: Any
version: Any = ... version: Any
roaming: Any = ... roaming: Any
multipath: Any = ... multipath: Any
def __init__(self, appname: Any, appauthor: Optional[Any] = ..., version: Optional[Any] = ..., roaming: bool = ..., multipath: bool = ...) -> None: ... def __init__(self, appname, appauthor: Any | None = ..., version: Any | None = ..., roaming: bool = ..., multipath: bool = ...) -> None: ...
@property @property
def user_data_dir(self): ... def user_data_dir(self): ...
@property @property
@@ -30,9 +30,9 @@ class AppDirs:
@property @property
def user_log_dir(self): ... def user_log_dir(self): ...
def _get_win_folder_from_registry(csidl_name: Any): ... def _get_win_folder_from_registry(csidl_name): ...
def _get_win_folder_with_pywin32(csidl_name: Any): ... def _get_win_folder_with_pywin32(csidl_name): ...
def _get_win_folder_with_ctypes(csidl_name: Any): ... def _get_win_folder_with_ctypes(csidl_name): ...
_get_win_folder = _get_win_folder_with_pywin32 _get_win_folder = _get_win_folder_with_pywin32
_get_win_folder = _get_win_folder_with_ctypes _get_win_folder = _get_win_folder_with_ctypes
_get_win_folder = _get_win_folder_from_registry _get_win_folder = _get_win_folder_from_registry

View File

@@ -1,10 +0,0 @@
from typing import Any
class assertion_report:
successes: int = ...
failures: int = ...
def __init__(self) -> None: ...
def record_success(self) -> None: ...
def record_failure(self) -> None: ...
def record_result(self, result: Any) -> None: ...
def __str__(self): ...

View File

@@ -1,13 +1,13 @@
from typing import Any, Optional from typing import Any
unsafe_eval = eval unsafe_eval = eval
_logger: Any _logger: Any
class ormcache_counter: class ormcache_counter:
__slots__: Any = ... __slots__: Any
hit: int = ... hit: int
miss: int = ... miss: int
err: int = ... err: int
def __init__(self) -> None: ... def __init__(self) -> None: ...
@property @property
def ratio(self): ... def ratio(self): ...
@@ -15,36 +15,36 @@ class ormcache_counter:
STAT: Any STAT: Any
class ormcache: class ormcache:
args: Any = ... args: Any
skiparg: Any = ... skiparg: Any
def __init__(self, *args: Any, **kwargs: Any) -> None: ... def __init__(self, *args, **kwargs) -> None: ...
method: Any = ... method: Any
def __call__(self, method: Any): ... def __call__(self, method): ...
key: Any = ... key: Any
def determine_key(self): ... def determine_key(self): ...
def lru(self, model: Any): ... def lru(self, model): ...
def lookup(self, method: Any, *args: Any, **kwargs: Any): ... def lookup(self, method, *args, **kwargs): ...
def clear(self, model: Any, *args: Any) -> None: ... def clear(self, model, *args) -> None: ...
class ormcache_context(ormcache): class ormcache_context(ormcache):
keys: Any = ... keys: Any
def __init__(self, *args: Any, **kwargs: Any) -> None: ... def __init__(self, *args, **kwargs) -> None: ...
key: Any = ... key: Any
def determine_key(self) -> None: ... def determine_key(self) -> None: ...
class ormcache_multi(ormcache): class ormcache_multi(ormcache):
multi: Any = ... multi: Any
def __init__(self, *args: Any, **kwargs: Any) -> None: ... def __init__(self, *args, **kwargs) -> None: ...
key_multi: Any = ... key_multi: Any
multi_pos: Any = ... multi_pos: Any
def determine_key(self) -> None: ... def determine_key(self) -> None: ...
def lookup(self, method: Any, *args: Any, **kwargs: Any): ... def lookup(self, method, *args, **kwargs): ...
class dummy_cache: class dummy_cache:
def __init__(self, *l: Any, **kw: Any) -> None: ... def __init__(self, *l, **kw) -> None: ...
def __call__(self, fn: Any): ... def __call__(self, fn): ...
def clear(self, *l: Any, **kw: Any) -> None: ... def clear(self, *l, **kw) -> None: ...
def log_ormcache_stats(sig: Optional[Any] = ..., frame: Optional[Any] = ...): ... def log_ormcache_stats(sig: Any | None = ..., frame: Any | None = ...): ...
def get_cache_key_counter(bound_method: Any, *args: Any, **kwargs: Any): ... def get_cache_key_counter(bound_method, *args, **kwargs): ...
cache = ormcache cache = ormcache

View File

@@ -1,4 +1,4 @@
from typing import Any, Optional from typing import Any
VERSION: int VERSION: int
DEFAULT_EXCLUDE: Any DEFAULT_EXCLUDE: Any
@@ -6,19 +6,19 @@ STANDARD_MODULES: Any
MAX_FILE_SIZE: Any MAX_FILE_SIZE: Any
class Cloc: class Cloc:
modules: Any = ... modules: Any
code: Any = ... code: Any
total: Any = ... total: Any
errors: Any = ... errors: Any
max_width: int = ... max_width: int
def __init__(self) -> None: ... def __init__(self) -> None: ...
def parse_xml(self, s: Any): ... def parse_xml(self, s): ...
def parse_py(self, s: Any): ... def parse_py(self, s): ...
def parse_js(self, s: Any): ... def parse_js(self, s): ...
def book(self, module: Any, item: str = ..., count: Any = ...) -> None: ... def book(self, module, item: str = ..., count=...) -> None: ...
def count_path(self, path: Any, exclude: Optional[Any] = ...) -> None: ... def count_path(self, path, exclude: Any | None = ...) -> None: ...
def count_modules(self, env: Any) -> None: ... def count_modules(self, env) -> None: ...
def count_customization(self, env: Any) -> None: ... def count_customization(self, env) -> None: ...
def count_env(self, env: Any) -> None: ... def count_env(self, env) -> None: ...
def count_database(self, database: Any) -> None: ... def count_database(self, database) -> None: ...
def report(self, verbose: bool = ..., width: Optional[Any] = ...): ... def report(self, verbose: bool = ..., width: Any | None = ...): ...

View File

@@ -1,49 +1,49 @@
import optparse import optparse
from typing import Any, Optional from typing import Any
crypt_context: Any crypt_context: Any
class MyOption(optparse.Option): class MyOption(optparse.Option):
my_default: Any = ... my_default: Any
def __init__(self, *opts: Any, **attrs: Any) -> None: ... def __init__(self, *opts, **attrs) -> None: ...
DEFAULT_LOG_HANDLER: str DEFAULT_LOG_HANDLER: str
def _get_default_datadir(): ... def _get_default_datadir(): ...
def _deduplicate_loggers(loggers: Any): ... def _deduplicate_loggers(loggers): ...
class configmanager: class configmanager:
options: Any = ... options: Any
blacklist_for_save: Any = ... blacklist_for_save: Any
casts: Any = ... casts: Any
misc: Any = ... misc: Any
config_file: Any = ... config_file: Any
_LOGLEVELS: Any = ... _LOGLEVELS: Any
parser: Any = ... parser: Any
def __init__(self, fname: Optional[Any] = ...) -> None: ... def __init__(self, fname: Any | None = ...) -> None: ...
def parse_config(self, args: Optional[Any] = ...): ... def parse_config(self, args: Any | None = ...): ...
rcfile: Any = ... rcfile: Any
def _parse_config(self, args: Optional[Any] = ...): ... def _parse_config(self, args: Any | None = ...): ...
def _warn_deprecated_options(self) -> None: ... def _warn_deprecated_options(self) -> None: ...
def _is_addons_path(self, path: Any): ... def _is_addons_path(self, path): ...
def _check_addons_path(self, option: Any, opt: Any, value: Any, parser: Any) -> None: ... def _check_addons_path(self, option, opt, value, parser) -> None: ...
def _check_upgrade_path(self, option: Any, opt: Any, value: Any, parser: Any) -> None: ... def _check_upgrade_path(self, option, opt, value, parser) -> None: ...
def _is_upgrades_path(self, res: Any): ... def _is_upgrades_path(self, res): ...
def _test_enable_callback(self, option: Any, opt: Any, value: Any, parser: Any) -> None: ... def _test_enable_callback(self, option, opt, value, parser) -> None: ...
def load(self) -> None: ... def load(self) -> None: ...
def save(self) -> None: ... def save(self) -> None: ...
def get(self, key: Any, default: Optional[Any] = ...): ... def get(self, key, default: Any | None = ...): ...
def pop(self, key: Any, default: Optional[Any] = ...): ... def pop(self, key, default: Any | None = ...): ...
def get_misc(self, sect: Any, key: Any, default: Optional[Any] = ...): ... def get_misc(self, sect, key, default: Any | None = ...): ...
def __setitem__(self, key: Any, value: Any) -> None: ... def __setitem__(self, key, value) -> None: ...
def __getitem__(self, key: Any): ... def __getitem__(self, key): ...
@property @property
def addons_data_dir(self): ... def addons_data_dir(self): ...
@property @property
def session_dir(self): ... def session_dir(self): ...
def filestore(self, dbname: Any): ... def filestore(self, dbname): ...
def set_admin_password(self, new_password: Any) -> None: ... def set_admin_password(self, new_password) -> None: ...
def verify_admin_password(self, password: Any): ... def verify_admin_password(self, password): ...
def _normalize(self, path: Any): ... def _normalize(self, path): ...
config: Any config: Any

View File

@@ -1,6 +1,6 @@
from .misc import ustr as ustr from .misc import ustr as ustr
from odoo import api as api from odoo import api as api
from typing import Any, Optional from typing import Any
__all__: Any __all__: Any
_logger: Any _logger: Any
@@ -9,46 +9,46 @@ safe_eval: Any
class ParseError(Exception): ... class ParseError(Exception): ...
class RecordDictWrapper(dict): class RecordDictWrapper(dict):
record: Any = ... record: Any
def __init__(self, record: Any) -> None: ... def __init__(self, record) -> None: ...
def __getitem__(self, key: Any): ... def __getitem__(self, key): ...
def _get_idref(self, env: Any, model_str: Any, idref: Any): ... def _get_idref(self, env, model_str, idref): ...
def _fix_multiple_roots(node: Any) -> None: ... def _fix_multiple_roots(node) -> None: ...
def _eval_xml(self, node: Any, env: Any): ... def _eval_xml(self, node, env): ...
def str2bool(value: Any): ... def str2bool(value): ...
def nodeattr2bool(node: Any, attr: Any, default: bool = ...): ... def nodeattr2bool(node, attr, default: bool = ...): ...
class xml_import: class xml_import:
def get_env(self, node: Any, eval_context: Optional[Any] = ...): ... def get_env(self, node, eval_context: Any | None = ...): ...
def make_xml_id(self, xml_id: Any): ... def make_xml_id(self, xml_id): ...
def _test_xml_id(self, xml_id: Any) -> None: ... def _test_xml_id(self, xml_id) -> None: ...
def _tag_delete(self, rec: Any) -> None: ... def _tag_delete(self, rec) -> None: ...
def _tag_report(self, rec: Any): ... def _tag_report(self, rec): ...
def _tag_function(self, rec: Any) -> None: ... def _tag_function(self, rec) -> None: ...
def _tag_act_window(self, rec: Any) -> None: ... def _tag_act_window(self, rec) -> None: ...
def _tag_menuitem(self, rec: Any, parent: Optional[Any] = ...) -> None: ... def _tag_menuitem(self, rec, parent: Any | None = ...) -> None: ...
def _tag_record(self, rec: Any): ... def _tag_record(self, rec): ...
def _tag_template(self, el: Any): ... def _tag_template(self, el): ...
def id_get(self, id_str: Any, raise_if_not_found: bool = ...): ... def id_get(self, id_str, raise_if_not_found: bool = ...): ...
def model_id_get(self, id_str: Any, raise_if_not_found: bool = ...): ... def model_id_get(self, id_str, raise_if_not_found: bool = ...): ...
def _tag_root(self, el: Any) -> None: ... def _tag_root(self, el) -> None: ...
@property @property
def env(self): ... def env(self): ...
@property @property
def noupdate(self): ... def noupdate(self): ...
mode: Any = ... mode: Any
module: Any = ... module: Any
envs: Any = ... envs: Any
idref: Any = ... idref: Any
_noupdate: Any = ... _noupdate: Any
xml_filename: Any = ... xml_filename: Any
_tags: Any = ... _tags: Any
def __init__(self, cr: Any, module: Any, idref: Any, mode: Any, noupdate: bool = ..., xml_filename: Optional[Any] = ...) -> None: ... def __init__(self, cr, module, idref, mode, noupdate: bool = ..., xml_filename: Any | None = ...) -> None: ...
def parse(self, de: Any) -> None: ... def parse(self, de) -> None: ...
DATA_ROOTS: Any = ... DATA_ROOTS: Any
def convert_file(cr: Any, module: Any, filename: Any, idref: Any, mode: str = ..., noupdate: bool = ..., kind: Optional[Any] = ..., pathname: Optional[Any] = ...) -> None: ... def convert_file(cr, module, filename, idref, mode: str = ..., noupdate: bool = ..., kind: Any | None = ..., pathname: Any | None = ...) -> None: ...
def convert_sql_import(cr: Any, fp: Any) -> None: ... def convert_sql_import(cr, fp) -> None: ...
def convert_csv_import(cr: Any, module: Any, fname: Any, csvcontent: Any, idref: Optional[Any] = ..., mode: str = ..., noupdate: bool = ...) -> None: ... def convert_csv_import(cr, module, fname, csvcontent, idref: Any | None = ..., mode: str = ..., noupdate: bool = ...) -> None: ...
def convert_xml_import(cr: Any, module: Any, xmlfile: Any, idref: Optional[Any] = ..., mode: str = ..., noupdate: bool = ..., report: Optional[Any] = ...) -> None: ... def convert_xml_import(cr, module, xmlfile, idref: Any | None = ..., mode: str = ..., noupdate: bool = ..., report: Any | None = ...) -> None: ...

View File

@@ -1,13 +1,11 @@
from typing import Any def get_month(date): ...
def get_quarter_number(date): ...
def get_month(date: Any): ... def get_quarter(date): ...
def get_quarter_number(date: Any): ... def get_fiscal_year(date, day: int = ..., month: int = ...): ...
def get_quarter(date: Any): ... def get_timedelta(qty, granularity): ...
def get_fiscal_year(date: Any, day: int = ..., month: int = ...): ... def start_of(value, granularity): ...
def get_timedelta(qty: Any, granularity: Any): ... def end_of(value, granularity): ...
def start_of(value: Any, granularity: Any): ... def add(value, *args, **kwargs): ...
def end_of(value: Any, granularity: Any): ... def subtract(value, *args, **kwargs): ...
def add(value: Any, *args: Any, **kwargs: Any): ... def json_default(obj): ...
def subtract(value: Any, *args: Any, **kwargs: Any): ... def date_range(start, end, step=...): ...
def json_default(obj: Any): ...
def date_range(start: Any, end: Any, step: Any = ...): ...

View File

@@ -3,4 +3,4 @@ from typing import Any
_logger: Any _logger: Any
SUPPORTED_DEBUGGER: Any SUPPORTED_DEBUGGER: Any
def post_mortem(config: Any, info: Any) -> None: ... def post_mortem(config, info) -> None: ...

View File

@@ -1,12 +1,12 @@
from typing import Any, Optional from typing import Any
def round(f: Any): ... def round(f): ...
def _float_check_precision(precision_digits: Optional[Any] = ..., precision_rounding: Optional[Any] = ...): ... def _float_check_precision(precision_digits: Any | None = ..., precision_rounding: Any | None = ...): ...
def float_round(value: Any, precision_digits: Optional[Any] = ..., precision_rounding: Optional[Any] = ..., rounding_method: str = ...): ... def float_round(value, precision_digits: Any | None = ..., precision_rounding: Any | None = ..., rounding_method: str = ...): ...
def float_is_zero(value: Any, precision_digits: Optional[Any] = ..., precision_rounding: Optional[Any] = ...): ... def float_is_zero(value, precision_digits: Any | None = ..., precision_rounding: Any | None = ...): ...
def float_compare(value1: Any, value2: Any, precision_digits: Optional[Any] = ..., precision_rounding: Optional[Any] = ...): ... def float_compare(value1, value2, precision_digits: Any | None = ..., precision_rounding: Any | None = ...): ...
def float_repr(value: Any, precision_digits: Any): ... def float_repr(value, precision_digits): ...
_float_repr = float_repr _float_repr = float_repr
def float_split_str(value: Any, precision_digits: Any): ... def float_split_str(value, precision_digits): ...
def float_split(value: Any, precision_digits: Any): ... def float_split(value, precision_digits): ...

View File

@@ -4,97 +4,97 @@ from typing import Any
__all__: Any __all__: Any
class lazy_property: class lazy_property:
fget: Any = ... fget: Any
def __init__(self, fget: Any) -> None: ... def __init__(self, fget) -> None: ...
def __get__(self, obj: Any, cls: Any): ... def __get__(self, obj, cls): ...
@property @property
def __doc__(self): ... def __doc__(self): ...
@staticmethod @staticmethod
def reset_all(obj: Any) -> None: ... def reset_all(obj) -> None: ...
class lazy_classproperty(lazy_property): class lazy_classproperty(lazy_property):
def __get__(self, obj: Any, cls: Any): ... def __get__(self, obj, cls): ...
def conditional(condition: Any, decorator: Any): ... def conditional(condition, decorator): ...
def synchronized(lock_attr: str = ...): ... def synchronized(lock_attr: str = ...): ...
def frame_codeinfo(fframe: Any, back: int = ...): ... def frame_codeinfo(fframe, back: int = ...): ...
def compose(a: Any, b: Any): ... def compose(a, b): ...
class _ClassProperty(property): class _ClassProperty(property):
def __get__(self, cls: Any, owner: Any): ... def __get__(self, cls, owner): ...
def classproperty(func: Any): ... def classproperty(func): ...
class lazy: class lazy:
__slots__: Any = ... __slots__: Any
def __init__(self, func: Any, *args: Any, **kwargs: Any) -> None: ... def __init__(self, func, *args, **kwargs) -> None: ...
@property @property
def _value(self): ... def _value(self): ...
def __getattr__(self, name: Any): ... def __getattr__(self, name): ...
def __setattr__(self, name: Any, value: Any): ... def __setattr__(self, name, value): ...
def __delattr__(self, name: Any): ... def __delattr__(self, name): ...
def __repr__(self): ... def __repr__(self): ...
def __str__(self): ... def __str__(self): ...
def __bytes__(self): ... def __bytes__(self): ...
def __format__(self, format_spec: Any): ... def __format__(self, format_spec): ...
def __lt__(self, other: Any) -> Any: ... def __lt__(self, other): ...
def __le__(self, other: Any) -> Any: ... def __le__(self, other): ...
def __eq__(self, other: Any) -> Any: ... def __eq__(self, other): ...
def __ne__(self, other: Any) -> Any: ... def __ne__(self, other): ...
def __gt__(self, other: Any) -> Any: ... def __gt__(self, other): ...
def __ge__(self, other: Any) -> Any: ... def __ge__(self, other): ...
def __hash__(self) -> Any: ... def __hash__(self): ...
def __bool__(self): ... def __bool__(self): ...
def __call__(self, *args: Any, **kwargs: Any): ... def __call__(self, *args, **kwargs): ...
def __len__(self): ... def __len__(self): ...
def __getitem__(self, key: Any): ... def __getitem__(self, key): ...
def __missing__(self, key: Any): ... def __missing__(self, key): ...
def __setitem__(self, key: Any, value: Any) -> None: ... def __setitem__(self, key, value) -> None: ...
def __delitem__(self, key: Any) -> None: ... def __delitem__(self, key) -> None: ...
def __iter__(self) -> Any: ... def __iter__(self): ...
def __reversed__(self): ... def __reversed__(self): ...
def __contains__(self, key: Any): ... def __contains__(self, key): ...
def __add__(self, other: Any): ... def __add__(self, other): ...
def __sub__(self, other: Any): ... def __sub__(self, other): ...
def __mul__(self, other: Any): ... def __mul__(self, other): ...
def __matmul__(self, other: Any): ... def __matmul__(self, other): ...
def __truediv__(self, other: Any): ... def __truediv__(self, other): ...
def __floordiv__(self, other: Any): ... def __floordiv__(self, other): ...
def __mod__(self, other: Any): ... def __mod__(self, other): ...
def __divmod__(self, other: Any): ... def __divmod__(self, other): ...
def __pow__(self, other: Any): ... def __pow__(self, other): ...
def __lshift__(self, other: Any): ... def __lshift__(self, other): ...
def __rshift__(self, other: Any): ... def __rshift__(self, other): ...
def __and__(self, other: Any): ... def __and__(self, other): ...
def __xor__(self, other: Any): ... def __xor__(self, other): ...
def __or__(self, other: Any): ... def __or__(self, other): ...
def __radd__(self, other: Any): ... def __radd__(self, other): ...
def __rsub__(self, other: Any): ... def __rsub__(self, other): ...
def __rmul__(self, other: Any): ... def __rmul__(self, other): ...
def __rmatmul__(self, other: Any): ... def __rmatmul__(self, other): ...
def __rtruediv__(self, other: Any): ... def __rtruediv__(self, other): ...
def __rfloordiv__(self, other: Any): ... def __rfloordiv__(self, other): ...
def __rmod__(self, other: Any): ... def __rmod__(self, other): ...
def __rdivmod__(self, other: Any): ... def __rdivmod__(self, other): ...
def __rpow__(self, other: Any): ... def __rpow__(self, other): ...
def __rlshift__(self, other: Any): ... def __rlshift__(self, other): ...
def __rrshift__(self, other: Any): ... def __rrshift__(self, other): ...
def __rand__(self, other: Any): ... def __rand__(self, other): ...
def __rxor__(self, other: Any): ... def __rxor__(self, other): ...
def __ror__(self, other: Any): ... def __ror__(self, other): ...
def __iadd__(self, other: Any): ... def __iadd__(self, other): ...
def __isub__(self, other: Any): ... def __isub__(self, other): ...
def __imul__(self, other: Any): ... def __imul__(self, other): ...
def __imatmul__(self, other: Any): ... def __imatmul__(self, other): ...
def __itruediv__(self, other: Any): ... def __itruediv__(self, other): ...
def __ifloordiv__(self, other: Any): ... def __ifloordiv__(self, other): ...
def __imod__(self, other: Any): ... def __imod__(self, other): ...
def __ipow__(self, other: Any): ... def __ipow__(self, other): ...
def __ilshift__(self, other: Any): ... def __ilshift__(self, other): ...
def __irshift__(self, other: Any): ... def __irshift__(self, other): ...
def __iand__(self, other: Any): ... def __iand__(self, other): ...
def __ixor__(self, other: Any): ... def __ixor__(self, other): ...
def __ior__(self, other: Any): ... def __ior__(self, other): ...
def __neg__(self): ... def __neg__(self): ...
def __pos__(self): ... def __pos__(self): ...
def __abs__(self): ... def __abs__(self): ...
@@ -108,9 +108,9 @@ class lazy:
def __floor__(self): ... def __floor__(self): ...
def __ceil__(self): ... def __ceil__(self): ...
def __enter__(self): ... def __enter__(self): ...
def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any): ... def __exit__(self, exc_type, exc_value, traceback): ...
def __await__(self): ... def __await__(self): ...
def __aiter__(self): ... def __aiter__(self): ...
def __anext__(self): ... def __anext__(self): ...
def __aenter__(self): ... def __aenter__(self): ...
def __aexit__(self, exc_type: Any, exc_value: Any, traceback: Any): ... def __aexit__(self, exc_type, exc_value, traceback): ...

View File

@@ -1,5 +1,5 @@
from PIL import IcoImagePlugin as IcoImagePlugin from PIL import IcoImagePlugin as IcoImagePlugin, ImageOps as ImageOps
from typing import Any, Optional from typing import Any
FILETYPE_BASE64_MAGICWORD: Any FILETYPE_BASE64_MAGICWORD: Any
EXIF_TAG_ORIENTATION: int EXIF_TAG_ORIENTATION: int
@@ -7,25 +7,25 @@ EXIF_TAG_ORIENTATION_TO_TRANSPOSE_METHODS: Any
IMAGE_MAX_RESOLUTION: float IMAGE_MAX_RESOLUTION: float
class ImageProcess: class ImageProcess:
base64_source: Any = ... base64_source: Any
operationsCount: int = ... operationsCount: int
image: bool = ... image: bool
original_format: Any = ... original_format: Any
def __init__(self, base64_source: Any, verify_resolution: bool = ...) -> None: ... def __init__(self, base64_source, verify_resolution: bool = ...) -> None: ...
def image_base64(self, quality: int = ..., output_format: str = ...): ... def image_base64(self, quality: int = ..., output_format: str = ...): ...
def resize(self, max_width: int = ..., max_height: int = ...): ... def resize(self, max_width: int = ..., max_height: int = ...): ...
def crop_resize(self, max_width: Any, max_height: Any, center_x: float = ..., center_y: float = ...): ... def crop_resize(self, max_width, max_height, center_x: float = ..., center_y: float = ...): ...
def colorize(self): ... def colorize(self): ...
def image_process(base64_source: Any, size: Any = ..., verify_resolution: bool = ..., quality: int = ..., crop: Optional[Any] = ..., colorize: bool = ..., output_format: str = ...): ... def image_process(base64_source, size=..., verify_resolution: bool = ..., quality: int = ..., crop: Any | None = ..., colorize: bool = ..., output_format: str = ...): ...
def average_dominant_color(colors: Any, mitigate: int = ..., max_margin: int = ...): ... def average_dominant_color(colors, mitigate: int = ..., max_margin: int = ...): ...
def image_fix_orientation(image: Any): ... def image_fix_orientation(image): ...
def base64_to_image(base64_source: Any): ... def base64_to_image(base64_source): ...
def image_to_base64(image: Any, format: Any, **params: Any): ... def image_to_base64(image, format, **params): ...
def is_image_size_above(base64_source_1: Any, base64_source_2: Any): ... def is_image_size_above(base64_source_1, base64_source_2): ...
def image_guess_size_from_field_name(field_name: Any): ... def image_guess_size_from_field_name(field_name): ...
def image_data_uri(base64_source: Any): ... def image_data_uri(base64_source): ...
def get_saturation(rgb: Any): ... def get_saturation(rgb): ...
def get_lightness(rgb: Any): ... def get_lightness(rgb): ...
def hex_to_rgb(hx: Any): ... def hex_to_rgb(hx): ...
def rgb_to_hex(rgb: Any): ... def rgb_to_hex(rgb): ...

View File

@@ -0,0 +1,76 @@
from typing import Any
def transpile_javascript(url, content): ...
URL_RE: Any
def url_to_module_path(url): ...
def wrap_with_odoo_define(module_path, content): ...
EXPORT_FCT_OR_CLASS_RE: Any
def convert_export_function_or_class(content): ...
EXPORT_FCT_OR_CLASS_DEFAULT_RE: Any
def convert_export_function_or_class_default(content): ...
EXPORT_VAR_RE: Any
def convert_variable_export(content): ...
EXPORT_DEFAULT_VAR_RE: Any
def convert_variable_export_default(content): ...
EXPORT_OBJECT_RE: Any
def convert_object_export(content): ...
EXPORT_FROM_RE: Any
def convert_from_export(content): ...
EXPORT_STAR_FROM_RE: Any
def convert_star_from_export(content): ...
EXPORT_DEFAULT_RE: Any
def convert_default_export(content): ...
IMPORT_BASIC_RE: Any
def convert_basic_import(content): ...
IMPORT_LEGACY_DEFAULT_RE: Any
def convert_legacy_default_import(content): ...
IMPORT_DEFAULT: Any
def convert_default_import(content): ...
RELATIVE_REQUIRE_RE: Any
def convert_relative_require(url, content): ...
IMPORT_STAR: Any
def convert_star_import(content): ...
IMPORT_UNNAMED_RELATIVE_RE: Any
def convert_unnamed_relative_import(content): ...
URL_INDEX_RE: Any
def remove_index(content): ...
def relative_path_to_module_path(url, path_rel): ...
ODOO_MODULE_RE: Any
def is_odoo_module(content): ...
def get_aliased_odoo_define_content(module_path, content): ...
def convert_as(val): ...
def remove_as(val): ...

View File

@@ -2,8 +2,11 @@ from typing import Any
JSON_SCRIPTSAFE_MAPPER: Any JSON_SCRIPTSAFE_MAPPER: Any
class _ScriptSafe(str):
def __html__(self): ...
class JSON: class JSON:
def loads(self, *args: Any, **kwargs: Any): ... def loads(self, *args, **kwargs): ...
def dumps(self, *args: Any, **kwargs: Any): ... def dumps(self, *args, **kwargs): ...
scriptsafe: Any scriptsafe: Any

View File

@@ -1,7 +0,0 @@
from json import *
from typing import Any
__all__: Any
JSON_SCRIPTSAFE_MAPPER: Any
def dumps(*args: Any, **kwargs: Any): ...

View File

@@ -1,17 +1,17 @@
from typing import Any, Optional from typing import Any
__all__: Any __all__: Any
class LRU: class LRU:
_lock: Any = ... _lock: Any
count: Any = ... count: Any
d: Any = ... d: Any
def __init__(self, count: Any, pairs: Any = ...) -> None: ... def __init__(self, count, pairs=...) -> None: ...
def __contains__(self, obj: Any): ... def __contains__(self, obj): ...
def get(self, obj: Any, val: Optional[Any] = ...): ... def get(self, obj, val: Any | None = ...): ...
def __getitem__(self, obj: Any): ... def __getitem__(self, obj): ...
def __setitem__(self, obj: Any, val: Any) -> None: ... def __setitem__(self, obj, val) -> None: ...
def __delitem__(self, obj: Any) -> None: ... def __delitem__(self, obj) -> None: ...
def __len__(self): ... def __len__(self): ...
def pop(self, key: Any): ... def pop(self, key): ...
def clear(self) -> None: ... def clear(self) -> None: ...

View File

@@ -1,5 +1,5 @@
from lxml.html import clean from lxml.html import clean
from typing import Any, Optional from typing import Any
_logger: Any _logger: Any
tags_to_kill: Any tags_to_kill: Any
@@ -8,40 +8,43 @@ allowed_tags: Any
safe_attrs: Any safe_attrs: Any
class _Cleaner(clean.Cleaner): class _Cleaner(clean.Cleaner):
_style_re: Any = ... _style_re: Any
_style_whitelist: Any = ... _style_whitelist: Any
strip_classes: bool = ... strip_classes: bool
sanitize_style: bool = ... sanitize_style: bool
def __call__(self, doc: Any) -> None: ... def __call__(self, doc) -> None: ...
def tag_quote(self, el: Any): ... def tag_quote(self, el): ...
def strip_class(self, el: Any) -> None: ... def strip_class(self, el) -> None: ...
def parse_style(self, el: Any) -> None: ... def parse_style(self, el) -> None: ...
def html_sanitize(src: Any, silent: bool = ..., sanitize_tags: bool = ..., sanitize_attributes: bool = ..., sanitize_style: bool = ..., sanitize_form: bool = ..., strip_style: bool = ..., strip_classes: bool = ...): ... def html_sanitize(src, silent: bool = ..., sanitize_tags: bool = ..., sanitize_attributes: bool = ..., sanitize_style: bool = ..., sanitize_form: bool = ..., strip_style: bool = ..., strip_classes: bool = ...): ...
URL_REGEX: str URL_REGEX: str
TEXT_URL_REGEX: str TEXT_URL_REGEX: str
HTML_TAG_URL_REGEX: Any HTML_TAG_URL_REGEX: Any
def validate_url(url: Any): ... def validate_url(url): ...
def is_html_empty(html_content: Any): ... def is_html_empty(html_content): ...
def html_keep_url(text: Any): ... def html_keep_url(text): ...
def html2plaintext(html: Any, body_id: Optional[Any] = ..., encoding: str = ...): ... def html2plaintext(html, body_id: Any | None = ..., encoding: str = ...): ...
def plaintext2html(text: Any, container_tag: bool = ...): ... def plaintext2html(text, container_tag: bool = ...): ...
def append_content_to_html(html: Any, content: Any, plaintext: bool = ..., preserve: bool = ..., container_tag: bool = ...): ... def append_content_to_html(html, content, plaintext: bool = ..., preserve: bool = ..., container_tag: bool = ...): ...
def prepend_html_content(html_body: Any, html_content: Any): ... def prepend_html_content(html_body, html_content): ...
email_re: Any email_re: Any
single_email_re: Any single_email_re: Any
mail_header_msgid_re: Any mail_header_msgid_re: Any
email_addr_escapes_re: Any email_addr_escapes_re: Any
def generate_tracking_message_id(res_id: Any): ... def generate_tracking_message_id(res_id): ...
def email_send(email_from: Any, email_to: Any, subject: Any, body: Any, email_cc: Optional[Any] = ..., email_bcc: Optional[Any] = ..., reply_to: bool = ..., attachments: Optional[Any] = ..., message_id: Optional[Any] = ..., references: Optional[Any] = ..., openobject_id: bool = ..., debug: bool = ..., subtype: str = ..., headers: Optional[Any] = ..., smtp_server: Optional[Any] = ..., smtp_port: Optional[Any] = ..., ssl: bool = ..., smtp_user: Optional[Any] = ..., smtp_password: Optional[Any] = ..., cr: Optional[Any] = ..., uid: Optional[Any] = ...): ... def email_split_tuples(text): ...
def email_split_tuples(text: Any): ... def email_split(text): ...
def email_split(text: Any): ... def email_split_and_format(text): ...
def email_split_and_format(text: Any): ... def email_normalize(text): ...
def email_normalize(text: Any): ... def email_domain_extract(email): ...
def email_escape_char(email_address: Any): ... def email_domain_normalize(domain): ...
def decode_message_header(message: Any, header: Any, separator: str = ...): ... def url_domain_extract(url): ...
def formataddr(pair: Any, charset: str = ...): ... def email_escape_char(email_address): ...
def decode_message_header(message, header, separator: str = ...): ...
def formataddr(pair, charset: str = ...): ...
def encapsulate_email(old_email, new_email): ...

View File

@@ -1,28 +1,33 @@
from collections import namedtuple from typing import Any, NamedTuple
from typing import Any
__all__: Any __all__: Any
_logger: Any _logger: Any
_ooxml_dirs: Any _ooxml_dirs: Any
def _check_ooxml(data: Any): ... def _check_ooxml(data): ...
_mime_validator: Any _mime_validator: Any
def _check_open_container_format(data: Any): ... def _check_open_container_format(data): ...
_xls_pattern: Any _xls_pattern: Any
_ppt_pattern: Any _ppt_pattern: Any
def _check_olecf(data: Any): ... def _check_olecf(data): ...
def _check_svg(data: Any): ... def _check_svg(data): ...
_Entry = namedtuple('_Entry', ['mimetype', 'signatures', 'discriminants']) class _Entry(NamedTuple):
mimetype: Any
signatures: Any
discriminants: Any
_mime_mappings: Any _mime_mappings: Any
def guess_mimetype(bin_data: Any, default: str = ...): ... def _odoo_guess_mimetype(bin_data, default: str = ...): ...
guess_mimetype: Any _guesser: Any
ms: Any ms: Any
def neuter_mimetype(mimetype: Any, user: Any): ... def guess_mimetype(bin_data, default: Any | None = ...): ...
guess_mimetype = _odoo_guess_mimetype
def neuter_mimetype(mimetype, user): ...

View File

@@ -2,46 +2,47 @@ from .cache import *
import pickle as pickle_ import pickle as pickle_
import xlsxwriter import xlsxwriter
import xlwt import xlwt
from .parse_version import parse_version as parse_version
from collections.abc import Mapping, MutableMapping, MutableSet from collections.abc import Mapping, MutableMapping, MutableSet
from odoo.loglevels import exception_to_unicode as exception_to_unicode, get_encodings as get_encodings from odoo.loglevels import exception_to_unicode as exception_to_unicode, get_encodings as get_encodings
from typing import Any, Optional from typing import Any
_logger: Any _logger: Any
SKIPPED_ELEMENT_TYPES: Any SKIPPED_ELEMENT_TYPES: Any
def find_in_path(name: Any): ... def find_in_path(name): ...
def _exec_pipe(prog: Any, args: Any, env: Optional[Any] = ...): ... def _exec_pipe(prog, args, env: Any | None = ...): ...
def exec_command_pipe(name: Any, *args: Any): ... def exec_command_pipe(name, *args): ...
def find_pg_tool(name: Any): ... def find_pg_tool(name): ...
def exec_pg_environ(): ... def exec_pg_environ(): ...
def exec_pg_command(name: Any, *args: Any) -> None: ... def exec_pg_command(name, *args) -> None: ...
def exec_pg_command_pipe(name: Any, *args: Any): ... def exec_pg_command_pipe(name, *args): ...
def file_open(name: Any, mode: str = ..., subdir: str = ..., pathinfo: bool = ...): ... def file_path(file_path, filter_ext=...): ...
def _fileopen(path: Any, mode: Any, basedir: Any, pathinfo: Any, basename: Optional[Any] = ...): ... def file_open(name, mode: str = ..., filter_ext: Any | None = ...): ...
def flatten(list: Any): ... def flatten(list): ...
def reverse_enumerate(l: Any): ... def reverse_enumerate(l): ...
def partition(pred: Any, elems: Any): ... def partition(pred, elems): ...
def topological_sort(elems: Any): ... def topological_sort(elems): ...
def merge_sequences(*iterables: Any): ... def merge_sequences(*iterables): ...
class PatchedWorkbook(xlwt.Workbook): class PatchedWorkbook(xlwt.Workbook):
def add_sheet(self, name: Any, cell_overwrite_ok: bool = ...): ... def add_sheet(self, name, cell_overwrite_ok: bool = ...): ...
class PatchedXlsxWorkbook(xlsxwriter.Workbook): class PatchedXlsxWorkbook(xlsxwriter.Workbook):
def add_worksheet(self, name: Optional[Any] = ..., **kw: Any): ... def add_worksheet(self, name: Any | None = ..., **kw): ...
def to_xml(s: Any): ... def to_xml(s): ...
def get_iso_codes(lang: Any): ... def get_iso_codes(lang): ...
def scan_languages(): ... def scan_languages(): ...
def mod10r(number: Any): ... def mod10r(number): ...
def str2bool(s: Any, default: Optional[Any] = ...): ... def str2bool(s, default: Any | None = ...): ...
def human_size(sz: Any): ... def human_size(sz): ...
def logged(f: Any): ... def logged(f): ...
class profile: class profile:
fname: Any = ... fname: Any
def __init__(self, fname: Optional[Any] = ...) -> None: ... def __init__(self, fname: Any | None = ...) -> None: ...
def __call__(self, f: Any): ... def __call__(self, f): ...
def detect_ip_addr(): ... def detect_ip_addr(): ...
@@ -52,157 +53,162 @@ DATE_LENGTH: Any
DATETIME_FORMATS_MAP: Any DATETIME_FORMATS_MAP: Any
POSIX_TO_LDML: Any POSIX_TO_LDML: Any
def posix_to_ldml(fmt: Any, locale: Any): ... def posix_to_ldml(fmt, locale): ...
def split_every(n: Any, iterable: Any, piece_maker: Any = ...) -> None: ... def split_every(n, iterable, piece_maker=...) -> None: ...
def get_and_group_by_field(cr: Any, uid: Any, obj: Any, ids: Any, field: Any, context: Optional[Any] = ...): ... def get_and_group_by_field(cr, uid, obj, ids, field, context: Any | None = ...): ...
def get_and_group_by_company(cr: Any, uid: Any, obj: Any, ids: Any, context: Optional[Any] = ...): ... def get_and_group_by_company(cr, uid, obj, ids, context: Any | None = ...): ...
def resolve_attr(obj: Any, attr: Any): ... def resolve_attr(obj, attr): ...
def attrgetter(*items: Any): ... def attrgetter(*items): ...
def remove_accents(input_str: Any): ... def discardattr(obj, key) -> None: ...
def remove_accents(input_str): ...
class unquote(str): class unquote(str):
def __repr__(self): ... def __repr__(self): ...
class UnquoteEvalContext(defaultdict): class UnquoteEvalContext(defaultdict):
def __init__(self, *args: Any, **kwargs: Any) -> None: ... def __init__(self, *args, **kwargs) -> None: ...
def __missing__(self, key: Any): ... def __missing__(self, key): ...
class mute_logger: class mute_logger:
loggers: Any = ... loggers: Any
def __init__(self, *loggers: Any) -> None: ... def __init__(self, *loggers) -> None: ...
def filter(self, record: Any): ... def filter(self, record): ...
def __enter__(self) -> None: ... def __enter__(self) -> None: ...
def __exit__(self, exc_type: Optional[Any] = ..., exc_val: Optional[Any] = ..., exc_tb: Optional[Any] = ...) -> None: ... def __exit__(self, exc_type: Any | None = ..., exc_val: Any | None = ..., exc_tb: Any | None = ...) -> None: ...
def __call__(self, func: Any): ... def __call__(self, func): ...
_ph: Any _ph: Any
class CountingStream: class CountingStream:
stream: Any = ... stream: Any
index: Any = ... index: Any
stopped: bool = ... stopped: bool
def __init__(self, stream: Any, start: int = ...) -> None: ... def __init__(self, stream, start: int = ...) -> None: ...
def __iter__(self) -> Any: ... def __iter__(self): ...
def next(self): ... def next(self): ...
__next__: Any = ... __next__: Any
def stripped_sys_argv(*strip_args: Any): ... def stripped_sys_argv(*strip_args): ...
class ConstantMapping(Mapping): class ConstantMapping(Mapping):
__slots__: Any = ... __slots__: Any
_value: Any = ... _value: Any
def __init__(self, val: Any) -> None: ... def __init__(self, val) -> None: ...
def __len__(self): ... def __len__(self): ...
def __iter__(self) -> Any: ... def __iter__(self): ...
def __getitem__(self, item: Any): ... def __getitem__(self, item): ...
def dumpstacks(sig: Optional[Any] = ..., frame: Optional[Any] = ..., thread_idents: Optional[Any] = ...) -> None: ... def dumpstacks(sig: Any | None = ..., frame: Any | None = ..., thread_idents: Any | None = ...) -> None: ...
def freehash(arg: Any): ... def freehash(arg): ...
def clean_context(context: Any): ... def clean_context(context): ...
class frozendict(dict): class frozendict(dict):
def __delitem__(self, key: Any) -> None: ... __slots__: Any
def __setitem__(self, key: Any, val: Any) -> None: ... def __delitem__(self, key) -> None: ...
def __setitem__(self, key, val) -> None: ...
def clear(self) -> None: ... def clear(self) -> None: ...
def pop(self, key: Any, default: Optional[Any] = ...) -> None: ... def pop(self, key, default: Any | None = ...) -> None: ...
def popitem(self) -> None: ... def popitem(self) -> None: ...
def setdefault(self, key: Any, default: Optional[Any] = ...) -> None: ... def setdefault(self, key, default: Any | None = ...) -> None: ...
def update(self, *args: Any, **kwargs: Any) -> None: ... def update(self, *args, **kwargs) -> None: ...
def __hash__(self) -> Any: ... def __hash__(self): ...
class Collector(Mapping): class Collector(dict):
__slots__: Any = ... __slots__: Any
_map: Any = ... def __getitem__(self, key): ...
def __init__(self) -> None: ... def __setitem__(self, key, val) -> None: ...
def add(self, key: Any, val: Any) -> None: ... def add(self, key, val) -> None: ...
def __getitem__(self, key: Any): ...
def __iter__(self) -> Any: ...
def __len__(self): ...
class StackMap(MutableMapping): class StackMap(MutableMapping):
__slots__: Any = ... __slots__: Any
_maps: Any = ... _maps: Any
def __init__(self, m: Optional[Any] = ...) -> None: ... def __init__(self, m: Any | None = ...) -> None: ...
def __getitem__(self, key: Any): ... def __getitem__(self, key): ...
def __setitem__(self, key: Any, val: Any) -> None: ... def __setitem__(self, key, val) -> None: ...
def __delitem__(self, key: Any) -> None: ... def __delitem__(self, key) -> None: ...
def __iter__(self) -> Any: ... def __iter__(self): ...
def __len__(self): ... def __len__(self): ...
def __str__(self): ... def __str__(self): ...
def pushmap(self, m: Optional[Any] = ...) -> None: ... def pushmap(self, m: Any | None = ...) -> None: ...
def popmap(self): ... def popmap(self): ...
class OrderedSet(MutableSet): class OrderedSet(MutableSet):
__slots__: Any = ... __slots__: Any
_map: Any = ... _map: Any
def __init__(self, elems: Any = ...) -> None: ... def __init__(self, elems=...) -> None: ...
def __contains__(self, elem: Any): ... def __contains__(self, elem): ...
def __iter__(self) -> Any: ... def __iter__(self): ...
def __len__(self): ... def __len__(self): ...
def add(self, elem: Any) -> None: ... def add(self, elem) -> None: ...
def discard(self, elem: Any) -> None: ... def discard(self, elem) -> None: ...
def update(self, elems) -> None: ...
def difference_update(self, elems) -> None: ...
def __repr__(self): ...
class LastOrderedSet(OrderedSet): class LastOrderedSet(OrderedSet):
def add(self, elem: Any) -> None: ... def add(self, elem) -> None: ...
class Callbacks: class Callbacks:
__slots__: Any = ... __slots__: Any
_funcs: Any = ... _funcs: Any
data: Any = ... data: Any
def __init__(self) -> None: ... def __init__(self) -> None: ...
def add(self, func: Any) -> None: ... def add(self, func) -> None: ...
def run(self) -> None: ... def run(self) -> None: ...
def clear(self) -> None: ... def clear(self) -> None: ...
class IterableGenerator: class IterableGenerator:
__slots__: Any = ... __slots__: Any
func: Any = ... func: Any
args: Any = ... args: Any
def __init__(self, func: Any, *args: Any) -> None: ... def __init__(self, func, *args) -> None: ...
def __iter__(self) -> Any: ... def __iter__(self): ...
def groupby(iterable: Any, key: Optional[Any] = ...): ... def groupby(iterable, key: Any | None = ...): ...
def unique(it: Any) -> None: ... def unique(it) -> None: ...
class Reverse: class Reverse:
__slots__: Any = ... __slots__: Any
val: Any = ... val: Any
def __init__(self, val: Any) -> None: ... def __init__(self, val) -> None: ...
def __eq__(self, other: Any) -> Any: ... def __eq__(self, other): ...
def __ne__(self, other: Any) -> Any: ... def __ne__(self, other): ...
def __ge__(self, other: Any) -> Any: ... def __ge__(self, other): ...
def __gt__(self, other: Any) -> Any: ... def __gt__(self, other): ...
def __le__(self, other: Any) -> Any: ... def __le__(self, other): ...
def __lt__(self, other: Any) -> Any: ... def __lt__(self, other): ...
def ignore(*exc: Any) -> None: ... def ignore(*exc) -> None: ...
def html_escape(text: Any): ...
def get_lang(env: Any, lang_code: bool = ...): ... html_escape: Any
def formatLang(env: Any, value: Any, digits: Optional[Any] = ..., grouping: bool = ..., monetary: bool = ..., dp: bool = ..., currency_obj: bool = ...): ...
def format_date(env: Any, value: Any, lang_code: bool = ..., date_format: bool = ...): ... def get_lang(env, lang_code: bool = ...): ...
def parse_date(env: Any, value: Any, lang_code: bool = ...): ... def babel_locale_parse(lang_code): ...
def format_datetime(env: Any, value: Any, tz: bool = ..., dt_format: str = ..., lang_code: bool = ...): ... def formatLang(env, value, digits: Any | None = ..., grouping: bool = ..., monetary: bool = ..., dp: bool = ..., currency_obj: bool = ...): ...
def format_time(env: Any, value: Any, tz: bool = ..., time_format: str = ..., lang_code: bool = ...): ... def format_date(env, value, lang_code: bool = ..., date_format: bool = ...): ...
def _format_time_ago(env: Any, time_delta: Any, lang_code: bool = ..., add_direction: bool = ...): ... def parse_date(env, value, lang_code: bool = ...): ...
def format_decimalized_number(number: Any, decimal: int = ...): ... def format_datetime(env, value, tz: bool = ..., dt_format: str = ..., lang_code: bool = ...): ...
def format_decimalized_amount(amount: Any, currency: Optional[Any] = ...): ... def format_time(env, value, tz: bool = ..., time_format: str = ..., lang_code: bool = ...): ...
def format_amount(env: Any, amount: Any, currency: Any, lang_code: bool = ...): ... def _format_time_ago(env, time_delta, lang_code: bool = ..., add_direction: bool = ...): ...
def format_duration(value: Any): ... def format_decimalized_number(number, decimal: int = ...): ...
def _consteq(str1: Any, str2: Any): ... def format_decimalized_amount(amount, currency: Any | None = ...): ...
def format_amount(env, amount, currency, lang_code: bool = ...): ...
def format_duration(value): ...
def _consteq(str1, str2): ...
consteq: Any consteq: Any
class Unpickler(pickle_.Unpickler): class Unpickler(pickle_.Unpickler):
find_global: Any = ... find_global: Any
find_class: Any = ... find_class: Any
def _pickle_load(stream: Any, encoding: str = ..., errors: bool = ...): ... def _pickle_load(stream, encoding: str = ..., errors: bool = ...): ...
pickle: Any pickle: Any
class DotDict(dict): class DotDict(dict):
def __getattr__(self, attrib: Any): ... def __getattr__(self, attrib): ...
def get_diff(data_from: Any, data_to: Any, custom_style: bool = ...): ... def get_diff(data_from, data_to, custom_style: bool = ...): ...
def traverse_containers(val: Any, type_: Any) -> None: ... def traverse_containers(val, type_) -> None: ...
def hmac(env: Any, scope: Any, message: Any, hash_function: Any = ...): ... def hmac(env, scope, message, hash_function=...): ...

View File

@@ -1,16 +1,18 @@
import ctypes import ctypes
from typing import Any, Optional from typing import Any
_logger: Any _logger: Any
WINDOWS_RESERVED: Any
def listdir(dir: Any, recursive: bool = ...): ... def clean_filename(name, replacement: str = ...): ...
def walksymlinks(top: Any, topdown: bool = ..., onerror: Optional[Any] = ...): ... def listdir(dir, recursive: bool = ...): ...
def walksymlinks(top, topdown: bool = ..., onerror: Any | None = ...): ...
def tempdir() -> None: ... def tempdir() -> None: ...
def zip_dir(path: Any, stream: Any, include_dir: bool = ..., fnct_sort: Optional[Any] = ...) -> None: ... def zip_dir(path, stream, include_dir: bool = ..., fnct_sort: Any | None = ...) -> None: ...
getppid: Any getppid: Any
is_running_as_nt_service: Any is_running_as_nt_service: Any
_TH32CS_SNAPPROCESS: int _TH32CS_SNAPPROCESS: int
class _PROCESSENTRY32(ctypes.Structure): class _PROCESSENTRY32(ctypes.Structure):
_fields_: Any = ... _fields_: Any

View File

@@ -3,5 +3,5 @@ from typing import Any
component_re: Any component_re: Any
replace: Any replace: Any
def _parse_version_parts(s: Any) -> None: ... def _parse_version_parts(s) -> None: ...
def parse_version(s: Any): ... def parse_version(s): ...

View File

@@ -1,18 +1,18 @@
from PyPDF2 import PdfFileReader, PdfFileWriter from PyPDF2 import PdfFileReader, PdfFileWriter
from PyPDF2.generic import ArrayObject as ArrayObject from PyPDF2.generic import ArrayObject as ArrayObject
from PyPDF2.utils import b_ as b_ from PyPDF2.utils import b_ as b_
from typing import Any, Optional from typing import Any
DEFAULT_PDF_DATETIME_FORMAT: str DEFAULT_PDF_DATETIME_FORMAT: str
def _unwrapping_get(self, key: Any, default: Optional[Any] = ...): ... def _unwrapping_get(self, key, default: Any | None = ...): ...
class BrandedFileWriter(PdfFileWriter): class BrandedFileWriter(PdfFileWriter):
def __init__(self) -> None: ... def __init__(self) -> None: ...
PdfFileWriter = BrandedFileWriter PdfFileWriter = BrandedFileWriter
def merge_pdf(pdf_data: Any): ... def merge_pdf(pdf_data): ...
def rotate_pdf(pdf: Any): ... def rotate_pdf(pdf): ...
old_init: Any old_init: Any
@@ -20,5 +20,5 @@ class OdooPdfFileReader(PdfFileReader):
def getAttachments(self): ... def getAttachments(self): ...
class OdooPdfFileWriter(PdfFileWriter): class OdooPdfFileWriter(PdfFileWriter):
def _create_attachment_object(self, attachment: Any): ... def _create_attachment_object(self, attachment): ...
def addAttachment(self, fname: Any, fdata: Any) -> None: ... def addAttachment(self, fname, fdata) -> None: ...

View File

@@ -1,14 +1,15 @@
from datetime import datetime as datetime, timedelta as timedelta
from odoo.tools import pycompat as pycompat from odoo.tools import pycompat as pycompat
from typing import Any, Optional from typing import Any
def Random(seed: Any): ... def Random(seed): ...
def format_str(val: Any, counter: Any, values: Any): ... def format_str(val, counter, values): ...
def chain_factories(field_factories: Any, model_name: Any): ... def chain_factories(field_factories, model_name): ...
def root_factory() -> None: ... def root_factory() -> None: ...
def randomize(vals: Any, weights: Optional[Any] = ..., seed: bool = ..., formatter: Any = ..., counter_offset: int = ...): ... def randomize(vals, weights: Any | None = ..., seed: bool = ..., formatter=..., counter_offset: int = ...): ...
def cartesian(vals: Any, weights: Optional[Any] = ..., seed: bool = ..., formatter: Any = ..., then: Optional[Any] = ...): ... def cartesian(vals, weights: Any | None = ..., seed: bool = ..., formatter=..., then: Any | None = ...): ...
def iterate(vals: Any, weights: Optional[Any] = ..., seed: bool = ..., formatter: Any = ..., then: Optional[Any] = ...): ... def iterate(vals, weights: Any | None = ..., seed: bool = ..., formatter=..., then: Any | None = ...): ...
def constant(val: Any, formatter: Any = ...): ... def constant(val, formatter=...): ...
def compute(function: Any, seed: Optional[Any] = ...): ... def compute(function, seed: Any | None = ...): ...
def randint(a: Any, b: Any, seed: Optional[Any] = ...): ... def randint(a, b, seed: Any | None = ...): ...
def randfloat(a, b, seed: Any | None = ...): ...
def randdatetime(*, base_date: Any | None = ..., relative_before: Any | None = ..., relative_after: Any | None = ..., seed: Any | None = ...): ...

View File

@@ -1,15 +1,117 @@
from typing import Any, Optional from typing import Any
_logger: Any _logger: Any
class _LogTracer: def _format_frame(frame): ...
profiles: Any = ... def _format_stack(stack): ...
whitelist: Any = ... def get_current_frame(thread: Any | None = ...): ...
blacklist: Any = ... def _get_stack_trace(frame, limit_frame: Any | None = ...): ...
files: Any = ... def stack_size(): ...
deep: Any = ... def make_session(name: str = ...): ...
first_frame: Any = ... def force_hook() -> None: ...
def __init__(self, whitelist: Optional[Any] = ..., blacklist: Optional[Any] = ..., files: Optional[Any] = ..., deep: bool = ...) -> None: ...
def tracer(self, frame: Any, event: Any, arg: Any): ...
def profile(method: Optional[Any] = ..., whitelist: Optional[Any] = ..., blacklist: Any = ..., files: Optional[Any] = ..., minimum_time: int = ..., minimum_queries: int = ...): ... class Collector:
name: Any
_registry: Any
@classmethod
def __init_subclass__(cls) -> None: ...
@classmethod
def make(cls, name, *args, **kwargs): ...
_processed: bool
_entries: Any
profiler: Any
def __init__(self) -> None: ...
def start(self) -> None: ...
def stop(self) -> None: ...
def add(self, entry: Any | None = ..., frame: Any | None = ...) -> None: ...
def _get_stack_trace(self, frame: Any | None = ...): ...
def post_process(self) -> None: ...
@property
def entries(self): ...
class SQLCollector(Collector):
name: str
def start(self) -> None: ...
def stop(self) -> None: ...
def hook(self, cr, query, params, query_start, query_time) -> None: ...
class PeriodicCollector(Collector):
name: str
active: bool
frame_interval: Any
thread: Any
last_frame: Any
def __init__(self, interval: float = ...) -> None: ...
def run(self) -> None: ...
def start(self) -> None: ...
def stop(self) -> None: ...
def add(self, entry: Any | None = ..., frame: Any | None = ...) -> None: ...
class SyncCollector(Collector):
name: str
def start(self) -> None: ...
def stop(self) -> None: ...
def hook(self, _frame, event, _arg: Any | None = ...): ...
def _get_stack_trace(self, frame: Any | None = ...) -> None: ...
def post_process(self) -> None: ...
class QwebTracker:
@classmethod
def wrap_render(cls, method_render): ...
@classmethod
def wrap_compile(cls, method_compile): ...
@classmethod
def wrap_compile_directive(cls, method_compile_directive): ...
execution_context_enabled: Any
qweb_hooks: Any
context_stack: Any
cr: Any
view_id: Any
def __init__(self, view_id, arch, cr) -> None: ...
def enter_directive(self, directive, attrib, xpath) -> None: ...
def leave_directive(self) -> None: ...
class QwebCollector(Collector):
name: str
events: Any
hook: Any
def __init__(self) -> None: ...
def _get_directive_profiling_name(self, directive, attrib): ...
def start(self) -> None: ...
def stop(self) -> None: ...
def post_process(self) -> None: ...
class ExecutionContext:
context: Any
previous_context: Any
def __init__(self, **context) -> None: ...
def __enter__(self) -> None: ...
def __exit__(self, *_args) -> None: ...
class Profiler:
start_time: int
duration: int
profile_session: Any
description: Any
init_frame: Any
init_stack_trace: Any
init_thread: Any
disable_gc: Any
filecache: Any
params: Any
db: Any
collectors: Any
def __init__(self, collectors: Any | None = ..., db=..., profile_session: Any | None = ..., description: Any | None = ..., disable_gc: bool = ..., params: Any | None = ...) -> None: ...
def __enter__(self): ...
def __exit__(self, *args) -> None: ...
def _add_file_lines(self, stack) -> None: ...
def entry_count(self): ...
def format_path(self, path): ...
def json(self): ...
class Nested:
profiler: Any
context_manager: Any
def __init__(self, profiler, context_manager) -> None: ...
def __enter__(self): ...
def __exit__(self, exc_type, exc_value, traceback): ...

View File

@@ -3,6 +3,6 @@ from typing import Any
_reader: Any _reader: Any
_writer: Any _writer: Any
def csv_reader(stream: Any, **params: Any): ... def csv_reader(stream, **params): ...
def csv_writer(stream: Any, **params: Any): ... def csv_writer(stream, **params): ...
def to_text(source: Any): ... def to_text(source): ...

View File

@@ -0,0 +1,11 @@
from typing import Any
INLINE_TEMPLATE_REGEX: Any
def relativedelta_proxy(*args, **kwargs): ...
template_env_globals: Any
def parse_inline_template(text): ...
def convert_inline_template_to_qweb(template): ...
def render_inline_template(template_instructions, variables): ...

View File

@@ -1,12 +1,12 @@
from opcode import HAVE_ARGUMENT as HAVE_ARGUMENT from opcode import HAVE_ARGUMENT as HAVE_ARGUMENT
from typing import Any, Optional from typing import Any
unsafe_eval = eval unsafe_eval = eval
__all__: Any __all__: Any
_ALLOWED_MODULES: Any _ALLOWED_MODULES: Any
_UNSAFE_ATTRIBUTES: Any _UNSAFE_ATTRIBUTES: Any
def to_opcodes(opnames: Any, _opmap: Any = ...) -> None: ... def to_opcodes(opnames, _opmap=...) -> None: ...
_BLACKLIST: Any _BLACKLIST: Any
_CONST_OPCODES: Any _CONST_OPCODES: Any
@@ -15,22 +15,22 @@ _EXPR_OPCODES: Any
_SAFE_OPCODES: Any _SAFE_OPCODES: Any
_logger: Any _logger: Any
def assert_no_dunder_name(code_obj: Any, expr: Any) -> None: ... def assert_no_dunder_name(code_obj, expr) -> None: ...
def assert_valid_codeobj(allowed_codes: Any, code_obj: Any, expr: Any) -> None: ... def assert_valid_codeobj(allowed_codes, code_obj, expr) -> None: ...
def test_expr(expr: Any, allowed_codes: Any, mode: str = ...): ... def test_expr(expr, allowed_codes, mode: str = ...): ...
def const_eval(expr: Any): ... def const_eval(expr): ...
def expr_eval(expr: Any): ... def expr_eval(expr): ...
def _import(name: Any, globals: Optional[Any] = ..., locals: Optional[Any] = ..., fromlist: Optional[Any] = ..., level: int = ...): ... def _import(name, globals: Any | None = ..., locals: Any | None = ..., fromlist: Any | None = ..., level: int = ...): ...
_BUILTINS: Any _BUILTINS: Any
def safe_eval(expr: Any, globals_dict: Optional[Any] = ..., locals_dict: Optional[Any] = ..., mode: str = ..., nocopy: bool = ..., locals_builtins: bool = ...): ... def safe_eval(expr, globals_dict: Any | None = ..., locals_dict: Any | None = ..., mode: str = ..., nocopy: bool = ..., locals_builtins: bool = ...): ...
def test_python_expr(expr: Any, mode: str = ...): ... def test_python_expr(expr, mode: str = ...): ...
def check_values(d: Any): ... def check_values(d): ...
class wrap_module: class wrap_module:
_repr: Any = ... _repr: Any
def __init__(self, module: Any, attributes: Any) -> None: ... def __init__(self, module, attributes) -> None: ...
def __repr__(self): ... def __repr__(self): ...
mods: Any mods: Any

View File

@@ -0,0 +1,22 @@
from typing import Any
class SourceMapGenerator:
_file: Any
_source_root: Any
_sources: Any
_mappings: Any
_sources_contents: Any
_version: int
_cache: Any
def __init__(self, source_root: Any | None = ...) -> None: ...
def _serialize_mappings(self): ...
def to_json(self): ...
def get_content(self): ...
def add_source(self, source_name, source_content, last_index, start_offset: int = ...) -> None: ...
B64CHARS: bytes
SHIFTSIZE: Any
FLAG: Any
MASK: Any
def base64vlq_encode(*values): ...

View File

@@ -0,0 +1,24 @@
from typing import Any
shortener: Any
shorten: Any
class Speedscope:
init_stack_trace: Any
init_stack_trace_level: Any
caller_frame: Any
init_caller_frame: Any
profiles_raw: Any
name: Any
frames_indexes: Any
frame_count: int
profiles: Any
def __init__(self, name: str = ..., init_stack_trace: Any | None = ...) -> None: ...
def add(self, key, profile) -> None: ...
def convert_stack(self, stack) -> None: ...
def add_output(self, names, complete: bool = ..., display_name: Any | None = ..., use_context: bool = ..., **params): ...
def add_default(self): ...
def make(self): ...
def get_frame_id(self, frame): ...
def stack_to_ids(self, stack, context, stack_offset: int = ...): ...
def process(self, entries, continuous: bool = ..., hide_gaps: bool = ..., use_context: bool = ...): ...

View File

@@ -1,30 +1,31 @@
from typing import Any, Optional from typing import Any
_schema: Any _schema: Any
_CONFDELTYPES: Any _CONFDELTYPES: Any
def existing_tables(cr: Any, tablenames: Any): ... def existing_tables(cr, tablenames): ...
def table_exists(cr: Any, tablename: Any): ... def table_exists(cr, tablename): ...
def table_kind(cr: Any, tablename: Any): ... def table_kind(cr, tablename): ...
def create_model_table(cr: Any, tablename: Any, comment: Optional[Any] = ..., columns: Any = ...) -> None: ... def create_model_table(cr, tablename, comment: Any | None = ..., columns=...) -> None: ...
def table_columns(cr: Any, tablename: Any): ... def table_columns(cr, tablename): ...
def column_exists(cr: Any, tablename: Any, columnname: Any): ... def column_exists(cr, tablename, columnname): ...
def create_column(cr: Any, tablename: Any, columnname: Any, columntype: Any, comment: Optional[Any] = ...) -> None: ... def create_column(cr, tablename, columnname, columntype, comment: Any | None = ...) -> None: ...
def rename_column(cr: Any, tablename: Any, columnname1: Any, columnname2: Any) -> None: ... def rename_column(cr, tablename, columnname1, columnname2) -> None: ...
def convert_column(cr: Any, tablename: Any, columnname: Any, columntype: Any) -> None: ... def convert_column(cr, tablename, columnname, columntype) -> None: ...
def set_not_null(cr: Any, tablename: Any, columnname: Any) -> None: ... def set_not_null(cr, tablename, columnname) -> None: ...
def drop_not_null(cr: Any, tablename: Any, columnname: Any) -> None: ... def drop_not_null(cr, tablename, columnname) -> None: ...
def constraint_definition(cr: Any, tablename: Any, constraintname: Any): ... def constraint_definition(cr, tablename, constraintname): ...
def add_constraint(cr: Any, tablename: Any, constraintname: Any, definition: Any) -> None: ... def add_constraint(cr, tablename, constraintname, definition) -> None: ...
def drop_constraint(cr: Any, tablename: Any, constraintname: Any) -> None: ... def drop_constraint(cr, tablename, constraintname) -> None: ...
def add_foreign_key(cr: Any, tablename1: Any, columnname1: Any, tablename2: Any, columnname2: Any, ondelete: Any): ... def add_foreign_key(cr, tablename1, columnname1, tablename2, columnname2, ondelete): ...
def fix_foreign_key(cr: Any, tablename1: Any, columnname1: Any, tablename2: Any, columnname2: Any, ondelete: Any): ... def get_foreign_keys(cr, tablename1, columnname1, tablename2, columnname2, ondelete): ...
def index_exists(cr: Any, indexname: Any): ... def fix_foreign_key(cr, tablename1, columnname1, tablename2, columnname2, ondelete): ...
def create_index(cr: Any, indexname: Any, tablename: Any, expressions: Any) -> None: ... def index_exists(cr, indexname): ...
def create_unique_index(cr: Any, indexname: Any, tablename: Any, expressions: Any) -> None: ... def create_index(cr, indexname, tablename, expressions) -> None: ...
def drop_index(cr: Any, indexname: Any, tablename: Any) -> None: ... def create_unique_index(cr, indexname, tablename, expressions) -> None: ...
def drop_view_if_exists(cr: Any, viewname: Any) -> None: ... def drop_index(cr, indexname, tablename) -> None: ...
def escape_psql(to_escape: Any): ... def drop_view_if_exists(cr, viewname) -> None: ...
def escape_psql(to_escape): ...
def pg_varchar(size: int = ...): ... def pg_varchar(size: int = ...): ...
def reverse_order(order: Any): ... def reverse_order(order): ...
def increment_field_skiplock(record: Any, field: Any): ... def increment_field_skiplock(record, field): ...

View File

@@ -2,8 +2,8 @@ from typing import Any
_logger: Any _logger: Any
def add_text_before(node: Any, text: Any) -> None: ... def add_text_before(node, text) -> None: ...
def add_text_inside(node: Any, text: Any) -> None: ... def add_text_inside(node, text) -> None: ...
def remove_element(node: Any) -> None: ... def remove_element(node) -> None: ...
def locate_node(arch: Any, spec: Any): ... def locate_node(arch, spec): ...
def apply_inheritance_specs(source: Any, specs_tree: Any, inherit_branding: bool = ..., pre_locate: Any = ...): ... def apply_inheritance_specs(source, specs_tree, inherit_branding: bool = ..., pre_locate=...): ...

View File

@@ -1,4 +0,0 @@
from typing import Any
config_file_00: Any
conf: Any

View File

@@ -1,8 +1,8 @@
from . import config as config from . import config as config
from typing import Any, Optional from typing import Any
_logger: Any _logger: Any
_test_logger: Any _test_logger: Any
def try_report(cr: Any, uid: Any, rname: Any, ids: Any, data: Optional[Any] = ..., context: Optional[Any] = ..., our_module: Optional[Any] = ..., report_type: Optional[Any] = ...): ... def try_report(cr, uid, rname, ids, data: Any | None = ..., context: Any | None = ..., our_module: Any | None = ..., report_type: Any | None = ...): ...
def try_report_action(cr: Any, uid: Any, action_id: Any, active_model: Optional[Any] = ..., active_ids: Optional[Any] = ..., wiz_data: Optional[Any] = ..., wiz_buttons: Optional[Any] = ..., context: Optional[Any] = ..., our_module: Optional[Any] = ...): ... def try_report_action(cr, uid, action_id, active_model: Any | None = ..., active_ids: Any | None = ..., wiz_data: Any | None = ..., wiz_buttons: Any | None = ..., context: Any | None = ..., our_module: Any | None = ...): ...

View File

@@ -1,6 +1,5 @@
import csv import csv
from collections import namedtuple from typing import Any, NamedTuple
from typing import Any, Optional
_logger: Any _logger: Any
WEB_TRANSLATION_COMMENT: str WEB_TRANSLATION_COMMENT: str
@@ -9,119 +8,126 @@ _LOCALE2WIN32: Any
ENGLISH_SMALL_WORDS: Any ENGLISH_SMALL_WORDS: Any
class UNIX_LINE_TERMINATOR(csv.excel): class UNIX_LINE_TERMINATOR(csv.excel):
lineterminator: str = ... lineterminator: str
def encode(s: Any): ... def encode(s): ...
TRANSLATED_ELEMENTS: Any TRANSLATED_ELEMENTS: Any
TRANSLATED_ATTRS: Any TRANSLATED_ATTRS: Any
def translate_attrib_value(node): ...
avoid_pattern: Any avoid_pattern: Any
node_pattern: Any node_pattern: Any
def translate_xml_node(node: Any, callback: Any, parse: Any, serialize: Any): ... def translate_xml_node(node, callback, parse, serialize): ...
def parse_xml(text: Any): ... def parse_xml(text): ...
def serialize_xml(node: Any): ... def serialize_xml(node): ...
_HTML_PARSER: Any _HTML_PARSER: Any
def parse_html(text: Any): ... def parse_html(text): ...
def serialize_html(node: Any): ... def serialize_html(node): ...
def xml_translate(callback: Any, value: Any): ... def xml_translate(callback, value): ...
def html_translate(callback: Any, value: Any): ... def html_translate(callback, value): ...
def translate(cr: Any, name: Any, source_type: Any, lang: Any, source: Optional[Any] = ...): ... def translate(cr, name, source_type, lang, source: Any | None = ...): ...
def translate_sql_constraint(cr: Any, key: Any, lang: Any): ... def translate_sql_constraint(cr, key, lang): ...
class GettextAlias: class GettextAlias:
def _get_db(self): ... def _get_db(self): ...
def _get_cr(self, frame: Any, allow_create: bool = ...): ... def _get_cr(self, frame, allow_create: bool = ...): ...
def _get_uid(self, frame: Any): ... def _get_uid(self, frame): ...
def _get_lang(self, frame: Any): ... def _get_lang(self, frame): ...
def __call__(self, source: Any, *args: Any, **kwargs: Any): ... def __call__(self, source, *args, **kwargs): ...
def _get_translation(self, source: Any): ... def _get_translation(self, source): ...
class _lt: class _lt:
__slots__: Any = ... __slots__: Any
_source: Any = ... _source: Any
_args: Any = ... _args: Any
def __init__(self, source: Any, *args: Any, **kwargs: Any) -> None: ... def __init__(self, source, *args, **kwargs) -> None: ...
def __str__(self): ... def __str__(self): ...
def __eq__(self, other: Any) -> Any: ... def __eq__(self, other): ...
def __lt__(self, other: Any) -> Any: ... def __lt__(self, other): ...
def __add__(self, other: Any): ... def __add__(self, other): ...
def __radd__(self, other: Any): ... def __radd__(self, other): ...
_: Any _: Any
def quote(s: Any): ... def quote(s): ...
re_escaped_char: Any re_escaped_char: Any
re_escaped_replacements: Any re_escaped_replacements: Any
def _sub_replacement(match_obj: Any): ... def _sub_replacement(match_obj): ...
def unquote(str: Any): ... def unquote(str): ...
def TranslationFileReader(source: Any, fileformat: str = ...): ... def TranslationFileReader(source, fileformat: str = ...): ...
class CSVFileReader: class CSVFileReader:
source: Any = ... source: Any
prev_code_src: str = ... prev_code_src: str
def __init__(self, source: Any) -> None: ... def __init__(self, source) -> None: ...
def __iter__(self) -> Any: ... def __iter__(self): ...
class PoFileReader: class PoFileReader:
pofile: Any = ... pofile: Any
def __init__(self, source: Any): ... def __init__(self, source): ...
def __iter__(self) -> Any: ... def __iter__(self): ...
def TranslationFileWriter(target: Any, fileformat: str = ..., lang: Optional[Any] = ...): ... def TranslationFileWriter(target, fileformat: str = ..., lang: Any | None = ...): ...
class CSVFileWriter: class CSVFileWriter:
writer: Any = ... writer: Any
def __init__(self, target: Any) -> None: ... def __init__(self, target) -> None: ...
def write_rows(self, rows: Any) -> None: ... def write_rows(self, rows) -> None: ...
class PoFileWriter: class PoFileWriter:
buffer: Any = ... buffer: Any
lang: Any = ... lang: Any
po: Any = ... po: Any
def __init__(self, target: Any, lang: Any) -> None: ... def __init__(self, target, lang) -> None: ...
def write_rows(self, rows: Any) -> None: ... def write_rows(self, rows) -> None: ...
def add_entry(self, modules: Any, tnrs: Any, source: Any, trad: Any, comments: Optional[Any] = ...) -> None: ... def add_entry(self, modules, tnrs, source, trad, comments: Any | None = ...) -> None: ...
class TarFileWriter: class TarFileWriter:
tar: Any = ... tar: Any
lang: Any = ... lang: Any
def __init__(self, target: Any, lang: Any) -> None: ... def __init__(self, target, lang) -> None: ...
def write_rows(self, rows: Any) -> None: ... def write_rows(self, rows) -> None: ...
def trans_export(lang: Any, modules: Any, buffer: Any, format: Any, cr: Any) -> None: ... def trans_export(lang, modules, buffer, format, cr) -> None: ...
def trans_parse_rml(de: Any): ... def trans_parse_rml(de): ...
def _push(callback: Any, term: Any, source_line: Any) -> None: ... def _push(callback, term, source_line) -> None: ...
def in_modules(object_name: Any, modules: Any): ... def in_modules(object_name, modules): ...
def _extract_translatable_qweb_terms(element: Any, callback: Any) -> None: ... def _extract_translatable_qweb_terms(element, callback) -> None: ...
def babel_extract_qweb(fileobj: Any, keywords: Any, comment_tags: Any, options: Any): ... def babel_extract_qweb(fileobj, keywords, comment_tags, options): ...
ImdInfo = namedtuple('ExternalId', ['name', 'model', 'res_id', 'module']) class ImdInfo(NamedTuple):
name: Any
model: Any
res_id: Any
module: Any
class TranslationModuleReader: class TranslationModuleReader:
_cr: Any = ... _cr: Any
_modules: Any = ... _modules: Any
_lang: Any = ... _lang: Any
env: Any = ... env: Any
_to_translate: Any = ... _to_translate: Any
_path_list: Any = ... _path_list: Any
_installed_modules: Any = ... _installed_modules: Any
def __init__(self, cr: Any, modules: Optional[Any] = ..., lang: Optional[Any] = ...) -> None: ... def __init__(self, cr, modules: Any | None = ..., lang: Any | None = ...) -> None: ...
def __iter__(self) -> Any: ... def __iter__(self): ...
def _push_translation(self, module: Any, ttype: Any, name: Any, res_id: Any, source: Any, comments: Optional[Any] = ..., record_id: Optional[Any] = ...) -> None: ... def _push_translation(self, module, ttype, name, res_id, source, comments: Any | None = ..., record_id: Any | None = ...) -> None: ...
def _get_translatable_records(self, records: Any): ... def _get_translatable_records(self, imd_records): ...
def _export_translatable_records(self) -> None: ... def _export_translatable_records(self) -> None: ...
def _get_module_from_path(self, path: Any): ... def _get_module_from_path(self, path): ...
def _verified_module_filepaths(self, fname: Any, path: Any, root: Any): ... def _verified_module_filepaths(self, fname, path, root): ...
def _babel_extract_terms(self, fname: Any, path: Any, root: Any, extract_method: str = ..., trans_type: str = ..., extra_comments: Optional[Any] = ..., extract_keywords: Any = ...) -> None: ... def _babel_extract_terms(self, fname, path, root, extract_method: str = ..., trans_type: str = ..., extra_comments: Any | None = ..., extract_keywords=...) -> None: ...
def _export_translatable_resources(self) -> None: ... def _export_translatable_resources(self) -> None: ...
def trans_load(cr: Any, filename: Any, lang: Any, verbose: bool = ..., create_empty_translation: bool = ..., overwrite: bool = ...): ... def trans_load(cr, filename, lang, verbose: bool = ..., create_empty_translation: bool = ..., overwrite: bool = ...): ...
def trans_load_data(cr: Any, fileobj: Any, fileformat: Any, lang: Any, verbose: bool = ..., create_empty_translation: bool = ..., overwrite: bool = ...) -> None: ... def trans_load_data(cr, fileobj, fileformat, lang, verbose: bool = ..., create_empty_translation: bool = ..., overwrite: bool = ...) -> None: ...
def get_locales(lang: Optional[Any] = ...) -> None: ... def get_locales(lang: Any | None = ...) -> None: ...
def resetlocale(): ... def resetlocale(): ...
def load_language(cr: Any, lang: Any) -> None: ... def load_language(cr, lang) -> None: ...

View File

@@ -6,11 +6,11 @@ _relaxng_cache: Any
READONLY: Any READONLY: Any
def _get_attrs_symbols(): ... def _get_attrs_symbols(): ...
def get_variable_names(expr: Any): ... def get_variable_names(expr): ...
def get_dict_asts(expr: Any): ... def get_dict_asts(expr): ...
def _check(condition: Any, explanation: Any) -> None: ... def _check(condition, explanation) -> None: ...
def get_domain_identifiers(expr: Any): ... def get_domain_identifiers(expr): ...
def valid_view(arch: Any, **kwargs: Any): ... def valid_view(arch, **kwargs): ...
def validate(*view_types: Any): ... def validate(*view_types): ...
def relaxng(view_type: Any): ... def relaxng(view_type): ...
def schema_valid(arch: Any, **kwargs: Any): ... def schema_valid(arch, **kwargs): ...

View File

@@ -1,6 +1,6 @@
from os import R_OK as R_OK, W_OK as W_OK from os import R_OK as R_OK, W_OK as W_OK
from os.path import dirname as dirname from os.path import dirname as dirname
from typing import Any, Optional from typing import Any
__docformat__: str __docformat__: str
__all__: Any __all__: Any
@@ -9,5 +9,5 @@ windows: Any
seen: Any seen: Any
defpathext: Any defpathext: Any
def which_files(file: Any, mode: Any = ..., path: Optional[Any] = ..., pathext: Optional[Any] = ...) -> None: ... def which_files(file, mode=..., path: Any | None = ..., pathext: Any | None = ...) -> None: ...
def which(file: Any, mode: Any = ..., path: Optional[Any] = ..., pathext: Optional[Any] = ...): ... def which(file, mode=..., path: Any | None = ..., pathext: Any | None = ...): ...

View File

@@ -1,3 +1 @@
from typing import Any def nl_langinfo(param): ...
def nl_langinfo(param: Any): ...

View File

@@ -1,11 +1,11 @@
from lxml import etree from lxml import etree
from typing import Any, Optional from typing import Any
class odoo_resolver(etree.Resolver): class odoo_resolver(etree.Resolver):
env: Any = ... env: Any
def __init__(self, env: Any) -> None: ... def __init__(self, env) -> None: ...
def resolve(self, url: Any, id: Any, context: Any): ... def resolve(self, url, id, context): ...
def _check_with_xsd(tree_or_str: Any, stream: Any, env: Optional[Any] = ...) -> None: ... def _check_with_xsd(tree_or_str, stream, env: Any | None = ...) -> None: ...
def create_xml_node_chain(first_parent_node: Any, nodes_list: Any, last_node_value: Optional[Any] = ...): ... def create_xml_node_chain(first_parent_node, nodes_list, last_node_value: Any | None = ...): ...
def create_xml_node(parent_node: Any, node_name: Any, node_value: Optional[Any] = ...): ... def create_xml_node(parent_node, node_name, node_value: Any | None = ...): ...