Update for Odoo 11

This commit is contained in:
Trinh Anh Ngoc
2021-08-30 22:01:51 +07:00
parent aa33e58a54
commit 3f752e9353
35 changed files with 259 additions and 444 deletions

View File

@@ -1,18 +1,13 @@
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 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
from odoo.tools.translate import _ as _ from odoo.tools.translate import _ as _
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
_babelCoreParseLocale: Any
def _babelCoreParseLocale_unitag(identifier: Any, sep: str = ...): ...
def _decompress(data: Any): ...
SUPERUSER_ID: int SUPERUSER_ID: int
def registry(database_name: Optional[Any] = ...): ... def registry(database_name: Any | None = ...): ...

View File

@@ -31,13 +31,6 @@ def multi(method: Any): ...
def one(method: Any): ... def one(method: Any): ...
def model_cr(method: Any): ... def model_cr(method: Any): ...
def model_cr_context(method: Any): ... def model_cr_context(method: Any): ...
_create_logger: Any
def _model_create_single(create: Any, self: Any, arg: Any): ...
def model_create_single(method: Any): ...
def _model_create_multi(create: Any, self: Any, arg: Any): ...
def model_create_multi(method: Any): ...
def cr(method: Any): ... def cr(method: Any): ...
def cr_context(method: Any): ... def cr_context(method: Any): ...
def cr_uid(method: Any): ... def cr_uid(method: Any): ...
@@ -53,9 +46,6 @@ def v8(method_v8: Any): ...
def noguess(method: Any): ... def noguess(method: Any): ...
def guess(method: Any): ... def guess(method: Any): ...
def expected(decorator: Any, func: Any): ... def expected(decorator: Any, func: Any): ...
def _call_kw_model(method: Any, self: Any, args: Any, kwargs: Any): ...
def _call_kw_model_create(method: Any, self: Any, args: Any, kwargs: Any): ...
def _call_kw_multi(method: Any, self: Any, args: Any, kwargs: Any): ...
def call_kw(model: Any, name: Any, args: Any, kwargs: Any): ... def call_kw(model: Any, name: Any, args: Any, kwargs: Any): ...
class Environment(Mapping): class Environment(Mapping):
@@ -100,7 +90,7 @@ class Environment(Mapping):
def clear(self) -> None: ... def clear(self) -> None: ...
def clear_upon_failure(self) -> None: ... def clear_upon_failure(self) -> None: ...
def protected(self, field: Any): ... def protected(self, field: Any): ...
def protecting(self, what: Any, records: Optional[Any] = ...) -> None: ... def protecting(self, fields: Any, records: Any) -> None: ...
def field_todo(self, field: Any): ... def field_todo(self, field: Any): ...
def check_todo(self, field: Any, record: Any): ... def check_todo(self, field: Any, record: Any): ...
def add_todo(self, field: Any, records: Any) -> None: ... def add_todo(self, field: Any, records: Any) -> None: ...

View File

@@ -1,10 +1,11 @@
from . import Command from . import Command
from typing import Any from typing import Any, Optional
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: Any, url: Any, login: Any, password: Any, db: str = ..., force: bool = ...): ...
def login_upload_module(self, module_file: Any, url: Any, login: Any, password: Any, db: Any, force: bool = ...): ... def upload_module(self, server: Any, module_file: Any, force: bool = ..., csrf_token: Optional[Any] = ...): ...
def authenticate(self, server: Any, login: Any, password: Any, db: str = ...): ...
def zip_module(self, path: Any): ... def zip_module(self, path: Any): ...
def run(self, cmdargs: Any) -> None: ... def run(self, cmdargs: Any) -> None: ...

View File

@@ -17,16 +17,12 @@ class RedirectWarning(Exception):
def name(self): ... def name(self): ...
class AccessDenied(Exception): class AccessDenied(Exception):
__cause__: Any = ...
traceback: Any = ... traceback: Any = ...
def __init__(self, message: str = ...) -> None: ... def __init__(self) -> None: ...
class AccessError(except_orm): class AccessError(except_orm):
def __init__(self, msg: Any) -> None: ... def __init__(self, msg: Any) -> None: ...
class CacheMiss(except_orm, KeyError):
def __init__(self, record: Any, field: Any) -> None: ...
class MissingError(except_orm): class MissingError(except_orm):
def __init__(self, msg: Any) -> None: ... def __init__(self, msg: Any) -> None: ...

View File

@@ -3,8 +3,6 @@ import datetime
from dateutil.relativedelta import relativedelta as relativedelta from dateutil.relativedelta import relativedelta as relativedelta
from typing import Any, Optional from typing import Any, Optional
from odoo.tools import date_utils
DATE_LENGTH: Any DATE_LENGTH: Any
DATETIME_LENGTH: Any DATETIME_LENGTH: Any
EMPTY_DICT: Any EMPTY_DICT: Any
@@ -70,9 +68,9 @@ class Field(MetaField('DummyField', (object,), {})):
_related_comodel_name: Any = ... _related_comodel_name: Any = ...
_related_string: Any = ... _related_string: Any = ...
_related_help: Any = ... _related_help: Any = ...
_related_readonly: Any = ...
_related_groups: Any = ... _related_groups: Any = ...
_related_group_operator: Any = ... _related_group_operator: Any = ...
_related_context_dependent: Any = ...
@property @property
def base_field(self): ... def base_field(self): ...
def _default_company_dependent(self, model: Any): ... def _default_company_dependent(self, model: Any): ...
@@ -94,7 +92,6 @@ class Field(MetaField('DummyField', (object,), {})):
_description_groups: Any = ... _description_groups: Any = ...
_description_change_default: Any = ... _description_change_default: Any = ...
_description_deprecated: Any = ... _description_deprecated: Any = ...
_description_group_operator: Any = ...
@property @property
def _description_searchable(self): ... def _description_searchable(self): ...
@property @property
@@ -102,7 +99,7 @@ class Field(MetaField('DummyField', (object,), {})):
def _description_string(self, env: Any): ... def _description_string(self, env: Any): ...
def _description_help(self, env: Any): ... def _description_help(self, env: Any): ...
def null(self, record: Any): ... def null(self, record: Any): ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ...
def convert_to_record(self, value: Any, record: Any): ... def convert_to_record(self, value: Any, record: Any): ...
def convert_to_read(self, value: Any, record: Any, use_name_get: bool = ...): ... def convert_to_read(self, value: Any, record: Any, use_name_get: bool = ...): ...
@@ -115,8 +112,7 @@ class Field(MetaField('DummyField', (object,), {})):
def update_db_notnull(self, model: Any, column: Any) -> None: ... def update_db_notnull(self, model: Any, column: Any) -> None: ...
def update_db_index(self, model: Any, column: Any) -> None: ... def update_db_index(self, model: Any, column: Any) -> None: ...
def read(self, records: Any): ... def read(self, records: Any): ...
def create(self, record_values: Any) -> None: ... def write(self, records: Any, value: Any, create: bool = ...): ...
def write(self, records: Any, value: Any): ...
# def __get__(self, record: Any, owner: Any): ... # def __get__(self, record: Any, owner: Any): ...
def __set__(self, record: Any, value: Any) -> None: ... def __set__(self, record: Any, value: Any) -> None: ...
def _compute_value(self, records: Any) -> None: ... def _compute_value(self, records: Any) -> None: ...
@@ -130,7 +126,7 @@ class Field(MetaField('DummyField', (object,), {})):
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: Any, record: Any, values: Optional[Any] = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ...
def convert_to_export(self, value: Any, record: Any): ... def convert_to_export(self, value: Any, record: Any): ...
@@ -138,7 +134,8 @@ class Integer(Field):
type: str = ... type: str = ...
column_type: Any = ... column_type: Any = ...
_slots: Any = ... _slots: Any = ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... _description_group_operator: Any = ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ...
def convert_to_read(self, value: Any, record: Any, use_name_get: bool = ...): ... def convert_to_read(self, value: Any, record: Any, use_name_get: bool = ...): ...
def _update(self, records: Any, value: Any) -> None: ... def _update(self, records: Any, value: Any) -> None: ...
@@ -155,7 +152,8 @@ class Float(Field):
def digits(self): ... def digits(self): ...
_related__digits: Any = ... _related__digits: Any = ...
_description_digits: Any = ... _description_digits: Any = ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... _description_group_operator: Any = ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ...
def convert_to_export(self, value: Any, record: Any): ... def convert_to_export(self, value: Any, record: Any): ...
@@ -165,12 +163,12 @@ class Monetary(Field):
column_cast_from: Any = ... column_cast_from: Any = ...
_slots: Any = ... _slots: Any = ...
def __init__(self, string: Any = ..., currency_field: Any = ..., **kwargs: Any) -> None: ... def __init__(self, string: Any = ..., currency_field: Any = ..., **kwargs: Any) -> None: ...
_related_currency_field: Any = ...
_description_currency_field: Any = ... _description_currency_field: Any = ...
_description_group_operator: Any = ...
currency_field: str = ... currency_field: str = ...
def _setup_currency_field(self, model: Any) -> None: ...
def _setup_regular_full(self, model: Any) -> None: ... def _setup_regular_full(self, model: Any) -> None: ...
def _setup_related_full(self, model: Any) -> None: ... def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ...): ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ...
def convert_to_read(self, value: Any, record: Any, use_name_get: bool = ...): ... def convert_to_read(self, value: Any, record: Any, use_name_get: bool = ...): ...
def convert_to_write(self, value: Any, record: Any): ... def convert_to_write(self, value: Any, record: Any): ...
@@ -194,11 +192,9 @@ class Char(_String):
def column_type(self): ... def column_type(self): ...
def update_db_column(self, model: Any, column: Any) -> None: ... def update_db_column(self, model: Any, column: Any) -> None: ...
_related_size: Any = ... _related_size: Any = ...
_related_trim: Any = ...
_description_size: Any = ... _description_size: Any = ...
_description_trim: Any = ...
def _setup_regular_base(self, model: Any) -> None: ... def _setup_regular_base(self, model: Any) -> None: ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ...
class Text(_String): class Text(_String):
@@ -224,26 +220,22 @@ class Html(_String):
_description_sanitize_style: Any = ... _description_sanitize_style: Any = ...
_description_strip_style: Any = ... _description_strip_style: Any = ...
_description_strip_classes: Any = ... _description_strip_classes: Any = ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ...
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 @staticmethod
def today(*args: Any) -> datetime.date: ... def today(*args: Any) -> datetime.date: ...
@staticmethod @staticmethod
def context_today(record: Any, timestamp: Optional[Any] = ...) -> datetime.date: ... def context_today(record: Any, timestamp: Optional[Any] = ...) -> datetime.date: ...
@staticmethod @staticmethod
def to_date(value: Any) -> datetime.date: ... def from_string(value: Any) -> datetime.date: ...
from_string = to_date
@staticmethod @staticmethod
def to_string(value: Any): ... def to_string(value: Any): ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ...
def convert_to_export(self, value: Any, record: Any): ... def convert_to_export(self, value: Any, record: Any): ...
@@ -251,21 +243,15 @@ class Datetime(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 @staticmethod
def now(*args: Any) -> datetime.datetime: ... def now(*args: Any) -> datetime.datetime: ...
@staticmethod @staticmethod
def today(*args: Any) -> datetime.datetime: ...
@staticmethod
def context_timestamp(record: Any, timestamp: Any) -> datetime.datetime: ... def context_timestamp(record: Any, timestamp: Any) -> datetime.datetime: ...
@staticmethod @staticmethod
def to_datetime(value: Any) -> datetime.datetime: ... def from_string(value: Any) -> datetime.datetime: ...
from_string = to_datetime
@staticmethod @staticmethod
def to_string(value: Any) -> str: ... def to_string(value: Any) -> str: ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ...
def convert_to_export(self, value: Any, record: Any): ... def convert_to_export(self, value: Any, record: Any): ...
def convert_to_display_name(self, value: Any, record: Any): ... def convert_to_display_name(self, value: Any, record: Any): ...
@@ -276,12 +262,12 @@ class Binary(Field):
_slots: Any = ... _slots: Any = ...
@property @property
def column_type(self): ... def column_type(self): ...
def _get_attrs(self, model: Any, name: Any): ...
_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: Any, record: Any, values: Optional[Any] = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ...
def read(self, records: Any) -> None: ... def read(self, records: Any) -> None: ...
def create(self, record_values: Any) -> None: ... def write(self, records: Any, value: Any, create: bool = ...) -> None: ...
def write(self, records: Any, value: Any) -> None: ...
class Selection(Field): class Selection(Field):
type: str = ... type: str = ...
@@ -295,7 +281,6 @@ class Selection(Field):
def _setup_attrs(self, model: Any, name: Any) -> None: ... def _setup_attrs(self, model: Any, name: Any) -> None: ...
def _description_selection(self, env: Any): ... def _description_selection(self, env: Any): ...
def get_values(self, env: Any): ... def get_values(self, env: Any): ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ...
def convert_to_export(self, value: Any, record: Any): ... def convert_to_export(self, value: Any, record: Any): ...
@@ -303,7 +288,6 @@ 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_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ...
def convert_to_record(self, value: Any, record: Any): ... def convert_to_record(self, value: Any, record: Any): ...
def convert_to_read(self, value: Any, record: Any, use_name_get: bool = ...): ... def convert_to_read(self, value: Any, record: Any, use_name_get: bool = ...): ...
@@ -335,7 +319,7 @@ class Many2one(_Relational):
def update_db_column(self, model: Any, column: Any) -> None: ... def update_db_column(self, model: Any, column: Any) -> None: ...
def update_db_foreign_key(self, model: Any, column: Any) -> None: ... def update_db_foreign_key(self, model: Any, column: Any) -> None: ...
def _update(self, records: Any, value: Any) -> None: ... def _update(self, records: Any, value: Any) -> None: ...
def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ..., validate: bool = ...): ... def convert_to_column(self, value: Any, record: Any, values: Optional[Any] = ...): ...
def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ... def convert_to_cache(self, value: Any, record: Any, validate: bool = ...): ...
def convert_to_record(self, value: Any, record: Any): ... def convert_to_record(self, value: Any, record: Any): ...
def convert_to_read(self, value: Any, record: Any, use_name_get: bool = ...): ... def convert_to_read(self, value: Any, record: Any, use_name_get: bool = ...): ...
@@ -374,8 +358,7 @@ class One2many(_RelationalMulti):
def convert_to_onchange(self, value: Any, record: Any, names: Any): ... def convert_to_onchange(self, value: Any, record: Any, names: Any): ...
def update_db(self, model: Any, columns: Any) -> None: ... def update_db(self, model: Any, columns: Any) -> None: ...
def read(self, records: Any): ... def read(self, records: Any): ...
def create(self, record_values: Any) -> None: ... def write(self, records: Any, value: Any, create: bool = ...) -> None: ...
def write(self, records: Any, value: Any) -> None: ...
class Many2many(_RelationalMulti): class Many2many(_RelationalMulti):
type: str = ... type: str = ...
@@ -389,8 +372,7 @@ class Many2many(_RelationalMulti):
def update_db(self, model: Any, columns: Any): ... def update_db(self, model: Any, columns: Any): ...
def update_db_foreign_keys(self, model: Any) -> None: ... def update_db_foreign_keys(self, model: Any) -> None: ...
def read(self, records: Any) -> None: ... def read(self, records: Any) -> None: ...
def create(self, record_values: Any) -> None: ... def write(self, records: Any, value: Any, create: bool = ...) -> None: ...
def write(self, records: Any, value: Any) -> None: ...
class Id(Field): class Id(Field):
type: str = ... type: str = ...

View File

@@ -94,6 +94,7 @@ class HttpRequest(WebRequest):
def render(self, template: Any, qcontext: Optional[Any] = ..., lazy: bool = ..., **kw: Any): ... def render(self, template: Any, qcontext: Optional[Any] = ..., lazy: bool = ..., **kw: Any): ...
def not_found(self, description: Optional[Any] = ...): ... def not_found(self, description: Optional[Any] = ...): ...
addons_module: Any
addons_manifest: Any addons_manifest: Any
controllers_per_module: Any controllers_per_module: Any
@@ -181,6 +182,7 @@ def send_file(filepath_or_fp: Any, mimetype: Optional[Any] = ..., as_attachment:
def content_disposition(filename: Any): ... def content_disposition(filename: Any): ...
class CommonController(Controller): class CommonController(Controller):
def jsonrpc(self, service: Any, method: Any, args: Any): ...
def gen_session_id(self): ... def gen_session_id(self): ...
root: Any root: Any

View File

@@ -12,7 +12,7 @@ _unlink: Any
regex_order: Any regex_order: Any
regex_object_name: Any regex_object_name: Any
regex_pg_name: Any regex_pg_name: Any
regex_field_agg: Any onchange_v7: Any
AUTOINIT_RECALCULATE_STORED_FIELDS: int AUTOINIT_RECALCULATE_STORED_FIELDS: int
def check_object_name(name: Any): ... def check_object_name(name: Any): ...
@@ -43,7 +43,6 @@ IdType: Any
PREFETCH_MAX: int PREFETCH_MAX: int
LOG_ACCESS_COLUMNS: Any LOG_ACCESS_COLUMNS: Any
MAGIC_COLUMNS: Any MAGIC_COLUMNS: Any
VALID_AGGREGATE_FUNCTIONS: Any
class BaseModel(MetaModel('DummyModel', (object,), {'_register': False})): class BaseModel(MetaModel('DummyModel', (object,), {'_register': False})):
_auto: bool = ... _auto: bool = ...
@@ -63,6 +62,7 @@ class BaseModel(MetaModel('DummyModel', (object,), {'_register': False})):
_order: str _order: str
_parent_name: str = ... _parent_name: str = ...
_parent_store: bool = ... _parent_store: bool = ...
_parent_order: bool = ...
_date_name: str = ... _date_name: str = ...
_fold_name: str = ... _fold_name: str = ...
_needaction: bool = ... _needaction: bool = ...
@@ -106,7 +106,7 @@ class BaseModel(MetaModel('DummyModel', (object,), {'_register': False})):
def __init__(self, pool: Any, cr: Any) -> None: ... def __init__(self, pool: Any, cr: Any) -> 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, batch_invalidate: bool = ...): ...
__export_rows: Any = ... __export_rows: Any = ...
def export_data(self, fields_to_export: Any, raw_data: bool = ...): ... def export_data(self, fields_to_export: Any, raw_data: bool = ...): ...
def load(self, fields: Any, data: Any): ... def load(self, fields: Any, data: Any): ...
@@ -122,7 +122,6 @@ class BaseModel(MetaModel('DummyModel', (object,), {'_register': False})):
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): ...
def _get_default_activity_view(self): ...
def _get_default_pivot_view(self): ... def _get_default_pivot_view(self): ...
def _get_default_kanban_view(self): ... def _get_default_kanban_view(self): ...
def _get_default_graph_view(self): ... def _get_default_graph_view(self): ...
@@ -155,6 +154,7 @@ class BaseModel(MetaModel('DummyModel', (object,), {'_register': False})):
def _inherits_join_add(self, current_model: Any, parent_model_name: Any, query: Any): ... def _inherits_join_add(self, current_model: Any, parent_model_name: Any, query: Any): ...
def _inherits_join_calc(self, alias: Any, fname: Any, query: Any, implicit: bool = ..., outer: bool = ...): ... def _inherits_join_calc(self, alias: Any, fname: Any, query: Any, implicit: bool = ..., outer: bool = ...): ...
def _parent_store_compute(self): ... def _parent_store_compute(self): ...
def _check_selection_field_value(self, field, value) -> None: ...
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: Any) -> None: ...
def _table_has_rows(self): ... def _table_has_rows(self): ...
@@ -177,20 +177,14 @@ class BaseModel(MetaModel('DummyModel', (object,), {'_register': False})):
def _read_from_database(self, field_names: Any, inherited_field_names: Any = ...): ... def _read_from_database(self, field_names: Any, inherited_field_names: Any = ...): ...
def get_metadata(self): ... def get_metadata(self): ...
def _check_concurrency(self) -> None: ... def _check_concurrency(self) -> None: ...
def _check_record_rules_result_count(self, result_ids, operation) -> None: ...
def check_access_rights(self, operation: Any, raise_exception: bool = ...): ... def check_access_rights(self, operation: Any, raise_exception: bool = ...): ...
def check_access_rule(self, operation: Any) -> None: ... def check_access_rule(self, operation: Any) -> None: ...
def _filter_access_rules(self, operation: Any): ...
def unlink(self): ... def unlink(self): ...
def write(self, vals: Any): ... def write(self, vals: Any): ...
def _write(self, vals: Any): ... def _write(self, vals: Any): ...
def create(self, vals_list: Any) -> BaseModel: ... def create(self, vals_list: Any) -> BaseModel: ...
def _create(self, data_list: Any): ... def _create(self, data_list: Any): ...
def _parent_store_create(self) -> None: ...
def _parent_store_update_prepare(self, vals: Any): ...
def _parent_store_update(self) -> None: ...
def _load_records_write(self, values: Any) -> None: ...
def _load_records_create(self, values: Any): ...
def _load_records(self, data_list: Any, update: bool = ...): ...
def _where_calc(self, domain: Any, active_test: bool = ...): ... def _where_calc(self, domain: Any, active_test: bool = ...): ...
def _check_qorder(self, word: Any): ... def _check_qorder(self, word: Any): ...
def _apply_ir_rules(self, query: Any, mode: str = ...) -> None: ... def _apply_ir_rules(self, query: Any, mode: str = ...) -> None: ...
@@ -261,6 +255,7 @@ class BaseModel(MetaModel('DummyModel', (object,), {'_register': False})):
def __or__(self, other: Any) -> BaseModel: ... def __or__(self, other: Any) -> BaseModel: ...
def union(self, *args: Any) -> BaseModel: ... def union(self, *args: Any) -> BaseModel: ...
def __eq__(self, other: Any) -> bool: ... def __eq__(self, other: Any) -> bool: ...
def __ne__(self, other): ...
def __lt__(self, other: Any) -> bool: ... def __lt__(self, other: Any) -> bool: ...
def __le__(self, other: Any) -> bool: ... def __le__(self, other: Any) -> bool: ...
def __gt__(self, other: Any) -> bool: ... def __gt__(self, other: Any) -> bool: ...
@@ -320,4 +315,3 @@ def _get_translated_field_name(model: Any, field_name: Any): ...
PGERROR_TO_OE: Any PGERROR_TO_OE: Any
def _normalize_ids(arg: Any, atoms: Any = ...): ... def _normalize_ids(arg: Any, atoms: Any = ...): ...
def lazy_name_get(self): ...

View File

@@ -25,6 +25,3 @@ class Node:
def __iter__(self) -> Any: ... def __iter__(self) -> Any: ...
def __str__(self): ... def __str__(self): ...
def _pprint(self, depth: int = ...): ... def _pprint(self, depth: int = ...): ...
def should_have_demo(self): ...
@property
def parents(self): ...

View File

@@ -3,9 +3,6 @@ from typing import Any, Optional
_logger: Any _logger: Any
_test_logger: Any _test_logger: Any
def load_data(cr: Any, idref: Any, mode: Any, kind: Any, package: Any, report: Any): ...
def load_demo(cr: Any, package: Any, idref: Any, mode: Any, report: Optional[Any] = ...): ...
def force_demo(cr: Any) -> 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: Any, graph: Any, status: Optional[Any] = ..., perform_checks: bool = ..., skip_modules: Optional[Any] = ..., report: Optional[Any] = ..., models_to_check: Optional[Any] = ...): ...
def _check_module_names(cr: Any, module_names: Any) -> None: ... def _check_module_names(cr: Any, module_names: Any) -> 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: Any, graph: Any, states: Any, force: Any, progressdict: Any, report: Any, loaded_modules: Any, perform_checks: Any, models_to_check: Optional[Any] = ...): ...

View File

@@ -33,7 +33,6 @@ def get_modules(): ...
def get_modules_with_version(): ... def get_modules_with_version(): ...
def adapt_version(version: Any): ... def adapt_version(version: Any): ...
def get_test_modules(module: Any): ... def get_test_modules(module: Any): ...
def _get_tests_modules(path: Any, module: Any): ...
class TestStream: class TestStream:
logger: Any = ... logger: Any = ...
@@ -44,5 +43,10 @@ class TestStream:
current_test: Any current_test: Any
def run_unit_tests(module_name: Any, dbname: Any, position: str = ...): ... def runs_at(test: Any, hook: Any, default: Any): ...
runs_at_install: Any
runs_post_install: Any
def run_unit_tests(module_name: Any, dbname: Any, position: Any = ...): ...
def unwrap_suite(test: Any) -> None: ... def unwrap_suite(test: Any) -> None: ...

View File

@@ -15,16 +15,16 @@ class Registry(Mapping):
models: Any = ... models: Any = ...
_sql_error: Any = ... _sql_error: Any = ...
_init: bool = ... _init: bool = ...
_init_parent: Any = ...
_assertion_report: Any = ... _assertion_report: Any = ...
_fields_by_model: Any = ... _fields_by_model: Any = ...
_post_init_queue: Any = ... _post_init_queue: Any = ...
_notnull_errors: Any = ...
_init_modules: Any = ... _init_modules: Any = ...
updated_modules: Any = ... updated_modules: Any = ...
loaded_xmlids: Any = ...
db_name: Any = ... db_name: Any = ...
_db: Any = ... _db: Any = ...
test_cr: Any = ... test_cr: Any = ...
test_lock: Any = ...
loaded: bool = ... loaded: bool = ...
ready: bool = ... ready: bool = ...
registry_sequence: Any = ... registry_sequence: Any = ...
@@ -43,6 +43,7 @@ class Registry(Mapping):
def __call__(self, model_name: Any): ... def __call__(self, model_name: Any): ...
def __setitem__(self, model_name: Any, model: Any) -> None: ... def __setitem__(self, model_name: Any, model: Any) -> None: ...
def field_sequence(self): ... def field_sequence(self): ...
def do_parent_store(self, cr: Any) -> None: ...
def descendants(self, model_names: Any, *kinds: Any): ... def descendants(self, model_names: Any, *kinds: Any): ...
def load(self, cr: Any, module: Any): ... def load(self, cr: Any, module: Any): ...
_m2m: Any = ... _m2m: Any = ...
@@ -59,7 +60,7 @@ class Registry(Mapping):
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) -> None: ...
def leave_test_mode(self) -> None: ... def leave_test_mode(self) -> None: ...
def cursor(self): ... def cursor(self): ...

View File

@@ -24,13 +24,6 @@ BOLD_SEQ: str
COLOR_PATTERN: Any COLOR_PATTERN: Any
LEVEL_COLOR_MAPPING: Any LEVEL_COLOR_MAPPING: Any
class PerfFilter(logging.Filter):
def format_perf(self, query_count: Any, query_time: Any, remaining_time: Any): ...
def filter(self, record: Any): ...
class ColoredPerfFilter(PerfFilter):
def format_perf(self, query_count: Any, query_time: Any, remaining_time: Any): ...
class DBFormatter(logging.Formatter): class DBFormatter(logging.Formatter):
def format(self, record: Any): ... def format(self, record: Any): ...

View File

@@ -7,9 +7,9 @@ class DatabaseExists(Warning): ...
def check_db_management_enabled(method: Any): ... def check_db_management_enabled(method: Any): ...
def check_super(passwd: Any): ... def check_super(passwd: Any): ...
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: Any, db_name: Any, demo: Any, lang: Any, user_password: Any, login: str = ..., country_code: Optional[Any] = ...) -> None: ...
def _create_empty_database(name: Any) -> None: ... def _create_empty_database(name: Any) -> 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: Any, demo: Any, lang: Any, user_password: str = ..., login: str = ..., country_code: Optional[Any] = ...): ...
def exp_duplicate_database(db_original_name: Any, db_name: Any): ... def exp_duplicate_database(db_original_name: Any, db_name: Any): ...
def _drop_conn(cr: Any, db_name: Any) -> None: ... def _drop_conn(cr: Any, db_name: Any) -> None: ...
def exp_drop(db_name: Any): ... def exp_drop(db_name: Any): ...

View File

@@ -6,7 +6,6 @@ _logger: Any
SLEEP_INTERVAL: int SLEEP_INTERVAL: int
def memory_info(process: Any): ... def memory_info(process: Any): ...
def set_limit_memory_hard() -> None: ...
def empty_pipe(fd: Any) -> None: ... def empty_pipe(fd: Any) -> None: ...
class LoggingBaseWSGIServerMixIn: class LoggingBaseWSGIServerMixIn:
@@ -17,19 +16,16 @@ class BaseWSGIServerNoBind(LoggingBaseWSGIServerMixIn, werkzeug.serving.BaseWSGI
def server_activate(self) -> None: ... def server_activate(self) -> None: ...
class RequestHandler(werkzeug.serving.WSGIRequestHandler): class RequestHandler(werkzeug.serving.WSGIRequestHandler):
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 = ...
def __init__(self, host: Any, port: Any, app: Any) -> None: ... def __init__(self, host: Any, port: Any, app: Any) -> 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 _handle_request_noblock(self) -> None: ... def _handle_request_noblock(self) -> None: ...
def shutdown_request(self, request: Any) -> None: ... def shutdown_request(self, request: Any) -> None: ...
@@ -64,11 +60,8 @@ 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 = ...
limit_reached_time: Any = ...
def __init__(self, app: Any) -> None: ... def __init__(self, app: Any) -> None: ...
def signal_handler(self, sig: Any, frame: Any) -> None: ... def signal_handler(self, sig: Any, frame: Any) -> None: ...
def process_limit(self) -> None: ...
def cron_thread(self, number: Any) -> None: ... def cron_thread(self, number: Any) -> None: ...
def cron_spawn(self) -> None: ... def cron_spawn(self) -> None: ...
def http_thread(self): ... def http_thread(self): ...
@@ -148,6 +141,8 @@ class Worker:
def _runloop(self) -> None: ... def _runloop(self) -> None: ...
class WorkerHTTP(Worker): class WorkerHTTP(Worker):
sock_timeout: Any = ...
def __init__(self, multi: Any) -> None: ...
def process_request(self, client: Any, addr: Any) -> None: ... def process_request(self, client: Any, addr: Any) -> None: ...
def process_work(self) -> None: ... def process_work(self) -> None: ...
server: Any = ... server: Any = ...
@@ -166,6 +161,7 @@ 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: Optional[Any] = ...) -> None: ...
def load_test_file_yml(registry: Any, test_file: Any) -> None: ...
def load_test_file_py(registry: Any, test_file: Any) -> None: ... def load_test_file_py(registry: Any, test_file: Any) -> None: ...
def preload_registries(dbnames: Any): ... def preload_registries(dbnames: Any): ...
def start(preload: Optional[Any] = ..., stop: bool = ...): ... def start(preload: Optional[Any] = ..., stop: bool = ...): ...

View File

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

View File

@@ -2,6 +2,7 @@ import psycopg2.extensions
from typing import Any, Optional from typing import Any, Optional
_logger: Any _logger: Any
types_mapping: Any
def unbuffer(symb: Any, cr: Any): ... def unbuffer(symb: Any, cr: Any): ...
def undecimalize(symb: Any, cr: Any): ... def undecimalize(symb: Any, cr: Any): ...
@@ -52,20 +53,16 @@ class Cursor:
@property @property
def closed(self): ... def closed(self): ...
class TestCursor: class TestCursor(Cursor):
_savepoint_seq: Any = ... _lock: Any
_closed: bool = ... def __init__(self, *args, **kwargs) -> None: ...
_cursor: Any = ... def acquire(self) -> None: ...
_lock: Any = ... def release(self) -> None: ...
_savepoint: Any = ... def force_close(self) -> None: ...
def __init__(self, cursor: Any, lock: Any) -> None: ...
def close(self) -> None: ... def close(self) -> None: ...
def autocommit(self, on: Any) -> None: ... def autocommit(self, on: Any) -> None: ...
def commit(self) -> None: ... def commit(self) -> None: ...
def rollback(self) -> None: ... def rollback(self) -> None: ...
def __enter__(self): ...
def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: ...
def __getattr__(self, name: Any): ...
class LazyCursor: class LazyCursor:
_dbname: Any = ... _dbname: Any = ...
@@ -98,6 +95,7 @@ class Connection:
__pool: Any = ... __pool: Any = ...
def __init__(self, pool: Any, dbname: Any, dsn: Any) -> None: ... def __init__(self, pool: Any, dbname: Any, dsn: Any) -> None: ...
def cursor(self, serialized: bool = ...): ... def cursor(self, serialized: bool = ...): ...
def test_cursor(self, serialized: bool = ...): ...
serialized_cursor: Any = ... serialized_cursor: Any = ...
def __bool__(self) -> None: ... def __bool__(self) -> None: ...
__nonzero__: Any = ... __nonzero__: Any = ...

View File

@@ -1,4 +1,3 @@
import collections
import unittest import unittest
from typing import Any, Optional from typing import Any, Optional
@@ -18,18 +17,13 @@ DB: Any
def at_install(flag: Any): ... def at_install(flag: Any): ...
def post_install(flag: Any): ... def post_install(flag: Any): ...
def new_test_user(env: Any, login: str = ..., groups: str = ..., context: Optional[Any] = ..., **kwargs: Any): ...
class TreeCase(unittest.TestCase): class TreeCase(unittest.TestCase):
def __init__(self, methodName: str = ...) -> None: ... def __init__(self, methodName: str = ...) -> None: ...
def assertTreesEqual(self, n1: Any, n2: Any, msg: Optional[Any] = ...) -> None: ... def assertTreesEqual(self, n1: Any, n2: Any, msg: Optional[Any] = ...) -> None: ...
class MetaCase(type):
def __init__(cls, name: Any, bases: Any, attrs: Any) -> None: ...
class BaseCase(TreeCase): class BaseCase(TreeCase):
longMessage: bool = ... longMessage: bool = ...
warm: bool = ...
registry: Registry = ... registry: Registry = ...
cr: Cursor = ... cr: Cursor = ...
env: Environment = ... env: Environment = ...
@@ -42,8 +36,6 @@ class BaseCase(TreeCase):
def browse_ref(self, xid: Any): ... def browse_ref(self, xid: Any): ...
def _assertRaises(self, exception: Any) -> None: ... def _assertRaises(self, exception: Any) -> None: ...
def assertRaises(self, exception: Any, func: Optional[Any] = ..., *args: Any, **kwargs: Any): ... def assertRaises(self, exception: Any, func: Optional[Any] = ..., *args: Any, **kwargs: Any): ...
def assertQueryCount(self, default: int = ..., **counters: Any): ...
def assertRecordValues(self, records: Any, expected_values: Any): ...
def shortDescription(self): ... def shortDescription(self): ...
def assertItemsEqual(self, a: Any, b: Any, msg: Optional[Any] = ...) -> None: ... def assertItemsEqual(self, a: Any, b: Any, msg: Optional[Any] = ...) -> None: ...
@@ -65,143 +57,22 @@ class SavepointCase(SingleTransactionCase):
def setUp(self) -> None: ... def setUp(self) -> None: ...
def tearDown(self) -> None: ... def tearDown(self) -> None: ...
class ChromeBrowser:
_logger: Any = ...
devtools_port: Any = ...
ws_url: str = ...
ws: Any = ...
request_id: int = ...
user_data_dir: Any = ...
chrome_pid: Any = ...
screencast_frames: Any = ...
sigxcpu_handler: Any = ...
def __init__(self, logger: Any) -> None: ...
def signal_handler(self, sig: Any, frame: Any) -> None: ...
def stop(self) -> None: ...
@property
def executable(self): ...
def _spawn_chrome(self, cmd: Any): ...
def _chrome_start(self) -> None: ...
def _find_websocket(self) -> None: ...
def _json_command(self, command: Any, timeout: int = ...): ...
def _open_websocket(self) -> None: ...
def _websocket_send(self, method: Any, params: Optional[Any] = ...): ...
def _websocket_wait_id(self, awaited_id: Any, timeout: int = ...): ...
def _websocket_wait_event(self, method: Any, params: Optional[Any] = ..., timeout: int = ...): ...
def _get_shotname(self, prefix: Any, ext: Any): ...
def take_screenshot(self, prefix: str = ...) -> None: ...
def _save_screencast(self, prefix: str = ...) -> None: ...
def start_screencast(self) -> None: ...
def set_cookie(self, name: Any, value: Any, path: Any, domain: Any): ...
def delete_cookie(self, name: Any, **kwargs: Any): ...
def _wait_ready(self, ready_code: Any, timeout: int = ...): ...
def _wait_code_ok(self, code: Any, timeout: Any): ...
def navigate_to(self, url: Any, wait_stop: bool = ...) -> None: ...
def clear(self) -> None: ...
class HttpCase(TransactionCase): class HttpCase(TransactionCase):
registry_test_mode: bool = ... registry_test_mode: bool = ...
browser: Any = ...
xmlrpc_url: Any = ... xmlrpc_url: Any = ...
xmlrpc_common: Any = ... xmlrpc_common: Any = ...
xmlrpc_db: Any = ... xmlrpc_db: Any = ...
xmlrpc_object: Any = ... xmlrpc_object: Any = ...
_logger: Any = ...
def __init__(self, methodName: str = ...) -> None: ... def __init__(self, methodName: str = ...) -> None: ...
@classmethod
def start_browser(cls, logger: Any) -> None: ...
@classmethod
def tearDownClass(cls) -> None: ...
session: Any = ... session: Any = ...
session_id: Any = ... session_id: Any = ...
opener: Any = ... opener: Any = ...
def setUp(self) -> None: ... def setUp(self) -> None: ...
def url_open(self, url: Any, data: Optional[Any] = ..., timeout: int = ...): ... def url_open(self, url: Any, data: Optional[Any] = ..., timeout: int = ...): ...
def _wait_remaining_requests(self) -> None: ...
def authenticate(self, user: Any, password: Any) -> None: ... def authenticate(self, user: Any, password: Any) -> None: ...
def browser_js(self, url_path: Any, code: Any, ready: str = ..., login: Optional[Any] = ..., timeout: int = ..., **kw: Any) -> None: ... def phantom_poll(self, phantom: Any, timeout: Any): ...
phantom_js: Any = ... def phantom_run(self, cmd: Any, timeout: Any) -> None: ...
def _wait_remaining_requests(self) -> None: ...
def phantom_js(self, url_path: Any, code: Any, ready: str = ..., login: Optional[Any] = ..., timeout: int = ..., **kw: Any) -> None: ...
def users(*logins: Any): ...
def warmup(func: Any, *args: Any, **kwargs: Any) -> None: ...
def can_import(module: Any): ... def can_import(module: Any): ...
ref_re: Any
class Form:
def __init__(self, recordp: Any, view: Optional[Any] = ...) -> None: ...
def _o2m_set_edition_view(self, descr: Any, node: Any, level: Any) -> None: ...
def __str__(self): ...
def _process_fvg(self, model: Any, fvg: Any, level: int = ...) -> None: ...
def _init_from_defaults(self, model: Any): ...
def _init_from_values(self, values: Any) -> None: ...
def __getattr__(self, field: Any): ...
def _get_modifier(self, field: Any, modifier: Any, default: bool = ..., modmap: Optional[Any] = ..., vals: Optional[Any] = ...): ...
_OPS: Any = ...
def _get_context(self, field: Any): ...
def __setattr__(self, field: Any, value: Any) -> None: ...
def __enter__(self): ...
def __exit__(self, etype: Any, _evalue: Any, _etb: Any) -> None: ...
def save(self): ...
def _values_to_save(self, all_fields: bool = ...): ...
def _perform_onchange(self, fields: Any) -> None: ...
def _onchange_values(self): ...
def _cleanup_onchange(self, descr: Any, value: Any, current: Any): ...
class O2MForm(Form):
def __init__(self, proxy: Any, index: Optional[Any] = ...) -> None: ...
def _get_modifier(self, field: Any, modifier: Any, default: bool = ..., modmap: Optional[Any] = ..., vals: Optional[Any] = ...): ...
def _onchange_values(self): ...
def save(self) -> None: ...
def _values_to_save(self, all_fields: bool = ...): ...
class UpdateDict(dict):
_changed: Any = ...
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
def changed_items(self): ...
def update(self, *args: Any, **kw: Any) -> None: ...
class X2MProxy:
_parent: Any = ...
_field: Any = ...
def _assert_editable(self) -> None: ...
class O2MProxy(X2MProxy):
_parent: Any = ...
_field: Any = ...
_records: Any = ...
def __init__(self, parent: Any, field: Any) -> None: ...
def __len__(self): ...
@property
def _model(self): ...
@property
def _descr(self): ...
def _command_index(self, for_record: Any): ...
def new(self): ...
def edit(self, index: Any): ...
def remove(self, index: Any) -> None: ...
class M2MProxy(X2MProxy, collections.Sequence):
_parent: Any = ...
_field: Any = ...
def __init__(self, parent: Any, field: Any) -> None: ...
def __getitem__(self, it: Any): ...
def __len__(self): ...
def __iter__(self) -> Any: ...
def __contains__(self, record: Any): ...
def add(self, record: Any) -> None: ...
def _get_ids(self): ...
def remove(self, id: Optional[Any] = ..., index: Optional[Any] = ...) -> None: ...
def clear(self) -> None: ...
def record_to_values(fields: Any, record: Any): ...
def _cleanup_from_default(type_: Any, value: Any): ...
def _get_node(view: Any, f: Any, *arg: Any): ...
def tagged(*tags: Any): ...
class TagsSelector:
filter_spec_re: Any = ...
exclude: Any = ...
include: Any = ...
def __init__(self, spec: Any) -> None: ...
def check(self, test: Any): ...

View File

@@ -2,13 +2,13 @@ from .misc import *
from .convert import * from .convert import *
from .translate import * from .translate import *
from .image import * from .image import *
from .yaml_import import *
from .sql import * from .sql import *
from .float_utils import * from .float_utils import *
from .mail import * from .mail import *
from .func import * from .func import *
from .debugger import * from .debugger import *
from .xml_utils import * from .xml_utils import *
from .date_utils import *
from . import appdirs as appdirs, pdf as pdf, pycompat as pycompat, win32 as win32 from . import appdirs as appdirs, pdf as pdf, pycompat as pycompat, win32 as win32
from .config import config as config from .config import config as config
from .graph import graph as graph from .graph import graph as graph

View File

@@ -33,6 +33,3 @@ class AppDirs:
def _get_win_folder_from_registry(csidl_name: Any): ... def _get_win_folder_from_registry(csidl_name: Any): ...
def _get_win_folder_with_pywin32(csidl_name: Any): ... def _get_win_folder_with_pywin32(csidl_name: Any): ...
def _get_win_folder_with_ctypes(csidl_name: Any): ... def _get_win_folder_with_ctypes(csidl_name: Any): ...
_get_win_folder = _get_win_folder_with_pywin32
_get_win_folder = _get_win_folder_with_ctypes
_get_win_folder = _get_win_folder_from_registry

View File

@@ -26,7 +26,6 @@ class configmanager:
def _parse_config(self, args: Optional[Any] = ...) -> None: ... def _parse_config(self, args: Optional[Any] = ...) -> None: ...
def _is_addons_path(self, path: Any): ... def _is_addons_path(self, path: Any): ...
def _check_addons_path(self, option: Any, opt: Any, value: Any, parser: Any) -> None: ... def _check_addons_path(self, option: Any, opt: Any, value: Any, parser: Any) -> None: ...
def _test_enable_callback(self, option: Any, opt: Any, value: Any, parser: Any) -> 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: Any, default: Optional[Any] = ...): ...

View File

@@ -27,13 +27,12 @@ class xml_import:
def isnoupdate(self, data_node: Optional[Any] = ...): ... def isnoupdate(self, data_node: Optional[Any] = ...): ...
def get_context(self, data_node: Any, node: Any, eval_dict: Any): ... def get_context(self, data_node: Any, node: Any, eval_dict: Any): ...
def get_uid(self, data_node: Any, node: Any): ... def get_uid(self, data_node: Any, node: Any): ...
def make_xml_id(self, xml_id: Any): ...
def _test_xml_id(self, xml_id: Any) -> None: ... def _test_xml_id(self, xml_id: Any) -> None: ...
def _tag_delete(self, rec: Any, data_node: Optional[Any] = ..., mode: Optional[Any] = ...) -> None: ... def _tag_delete(self, rec: Any, data_node: Optional[Any] = ..., mode: Optional[Any] = ...) -> None: ...
def _tag_report(self, rec: Any, data_node: Optional[Any] = ..., mode: Optional[Any] = ...): ... def _tag_report(self, rec: Any, data_node: Optional[Any] = ..., mode: Optional[Any] = ...): ...
def _tag_function(self, rec: Any, data_node: Optional[Any] = ..., mode: Optional[Any] = ...) -> None: ... def _tag_function(self, rec: Any, data_node: Optional[Any] = ..., mode: Optional[Any] = ...) -> None: ...
def _tag_act_window(self, rec: Any, data_node: Optional[Any] = ..., mode: Optional[Any] = ...) -> None: ... def _tag_act_window(self, rec: Any, data_node: Optional[Any] = ..., mode: Optional[Any] = ...) -> None: ...
def _tag_menuitem(self, rec: Any, data_node: Optional[Any] = ..., mode: Optional[Any] = ...) -> None: ... def _tag_menuitem(self, rec: Any, data_node: Optional[Any] = ..., mode: Optional[Any] = ...): ...
def _assert_equals(self, f1: Any, f2: Any, prec: int = ...): ... def _assert_equals(self, f1: Any, f2: Any, prec: int = ...): ...
def _tag_assert(self, rec: Any, data_node: Optional[Any] = ..., mode: Optional[Any] = ...) -> None: ... def _tag_assert(self, rec: Any, data_node: Optional[Any] = ..., mode: Optional[Any] = ...) -> None: ...
def _tag_record(self, rec: Any, data_node: Optional[Any] = ..., mode: Optional[Any] = ...): ... def _tag_record(self, rec: Any, data_node: Optional[Any] = ..., mode: Optional[Any] = ...): ...

View File

@@ -1,8 +1,6 @@
from typing import Any, Optional from typing import Any, Optional
def round(f: Any): ... def round(f: Any): ...
round = round
def _float_check_precision(precision_digits: Optional[Any] = ..., precision_rounding: Optional[Any] = ...): ... def _float_check_precision(precision_digits: Optional[Any] = ..., precision_rounding: Optional[Any] = ...): ...
def float_round(value: Any, precision_digits: Optional[Any] = ..., precision_rounding: Optional[Any] = ..., rounding_method: str = ...): ... def float_round(value: Any, precision_digits: Optional[Any] = ..., precision_rounding: Optional[Any] = ..., rounding_method: str = ...): ...
def float_is_zero(value: Any, precision_digits: Optional[Any] = ..., precision_rounding: Optional[Any] = ...): ... def float_is_zero(value: Any, precision_digits: Optional[Any] = ..., precision_rounding: Optional[Any] = ...): ...

View File

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

View File

@@ -1,15 +1,12 @@
from typing import Any, Optional from typing import Any, Optional
FILETYPE_BASE64_MAGICWORD: Any def image_resize_image(base64_source: Any, size: Any = ..., encoding: str = ..., filetype: Optional[Any] = ..., avoid_if_small: bool = ...): ...
def image_resize_and_sharpen(image: Any, size: Any, preserve_aspect_ratio: bool = ..., factor: float = ...): ...
def image_resize_image(base64_source: Any, size: Any = ..., encoding: str = ..., filetype: Optional[Any] = ..., avoid_if_small: bool = ..., upper_limit: bool = ...): ...
def image_resize_and_sharpen(image: Any, size: Any, preserve_aspect_ratio: bool = ..., factor: float = ..., upper_limit: bool = ...): ...
def image_save_for_web(image: Any, fp: Optional[Any] = ..., format: Optional[Any] = ...): ... def image_save_for_web(image: Any, fp: Optional[Any] = ..., format: Optional[Any] = ...): ...
def image_resize_image_big(base64_source: Any, size: Any = ..., encoding: str = ..., filetype: Optional[Any] = ..., avoid_if_small: bool = ...): ... def image_resize_image_big(base64_source: Any, size: Any = ..., encoding: str = ..., filetype: Optional[Any] = ..., avoid_if_small: bool = ...): ...
def image_resize_image_medium(base64_source: Any, size: Any = ..., encoding: str = ..., filetype: Optional[Any] = ..., avoid_if_small: bool = ...): ... def image_resize_image_medium(base64_source: Any, size: Any = ..., encoding: str = ..., filetype: Optional[Any] = ..., avoid_if_small: bool = ...): ...
def image_resize_image_small(base64_source: Any, size: Any = ..., encoding: str = ..., filetype: Optional[Any] = ..., avoid_if_small: bool = ...): ... def image_resize_image_small(base64_source: Any, size: Any = ..., encoding: str = ..., filetype: Optional[Any] = ..., avoid_if_small: bool = ...): ...
def crop_image(data: Any, type: str = ..., ratio: bool = ..., size: Optional[Any] = ..., image_format: Optional[Any] = ...): ... def crop_image(data: Any, type: str = ..., ratio: bool = ..., size: Optional[Any] = ..., image_format: Optional[Any] = ...): ...
def image_colorize(original: Any, randomize: bool = ..., color: Any = ...): ... def image_colorize(original: Any, randomize: bool = ..., color: Any = ...): ...
def image_get_resized_images(base64_source: Any, return_big: bool = ..., return_medium: bool = ..., return_small: bool = ..., big_name: str = ..., medium_name: str = ..., small_name: str = ..., avoid_resize_big: bool = ..., avoid_resize_medium: bool = ..., avoid_resize_small: bool = ..., sizes: Any = ...): ... def image_get_resized_images(base64_source: Any, return_big: bool = ..., return_medium: bool = ..., return_small: bool = ..., big_name: str = ..., medium_name: str = ..., small_name: str = ..., avoid_resize_big: bool = ..., avoid_resize_medium: bool = ..., avoid_resize_small: bool = ...): ...
def image_resize_images(vals: Any, big_name: str = ..., medium_name: str = ..., small_name: str = ..., sizes: Any = ...) -> None: ... def image_resize_images(vals: Any, big_name: str = ..., medium_name: str = ..., small_name: str = ...) -> None: ...
def image_data_uri(base64_source: Any): ...

View File

@@ -1,7 +1,5 @@
from typing import Any, Optional from typing import Any, Optional
__all__: Any
class LRUNode: class LRUNode:
__slots__: Any = ... __slots__: Any = ...
prev: Any = ... prev: Any = ...

View File

@@ -16,7 +16,6 @@ class _Cleaner(clean.Cleaner):
def tag_quote(self, el: Any): ... def tag_quote(self, el: Any): ...
def strip_class(self, el: Any) -> None: ... def strip_class(self, el: Any) -> None: ...
def parse_style(self, el: Any) -> None: ... def parse_style(self, el: Any) -> None: ...
def allow_element(self, el: Any): ...
def html_sanitize(src: Any, silent: bool = ..., sanitize_tags: bool = ..., sanitize_attributes: bool = ..., sanitize_style: bool = ..., strip_style: bool = ..., strip_classes: bool = ...): ... def html_sanitize(src: Any, silent: bool = ..., sanitize_tags: bool = ..., sanitize_attributes: bool = ..., sanitize_style: bool = ..., strip_style: bool = ..., strip_classes: bool = ...): ...
def html_keep_url(text: Any): ... def html_keep_url(text: Any): ...
@@ -26,6 +25,7 @@ def append_content_to_html(html: Any, content: Any, plaintext: bool = ..., prese
email_re: Any email_re: Any
single_email_re: Any single_email_re: Any
command_re: Any
reference_re: Any reference_re: Any
discussion_re: Any discussion_re: Any
mail_header_msgid_re: Any mail_header_msgid_re: Any
@@ -35,7 +35,7 @@ def generate_tracking_message_id(res_id: Any): ...
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_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(text: Any): ... def email_split(text: Any): ...
def email_split_and_format(text: Any): ... def email_split_and_format(text: Any): ...
def email_escape_char(email_address: Any): ...
def email_references(references: Any): ... def email_references(references: Any): ...
def decode_smtp_header(smtp_header: Any): ... def decode_smtp_header(smtp_header: Any): ...
def decode_message_header(message: Any, header: Any, separator: str = ...): ... def decode_message_header(message: Any, header: Any, separator: str = ...): ...
def formataddr(pair: Any, charset: str = ...): ...

View File

@@ -1,26 +1,8 @@
from collections import namedtuple from collections import namedtuple
from typing import Any from typing import Any
__all__: Any
_logger: Any
_ooxml_dirs: Any
def _check_ooxml(data: Any): ...
_mime_validator: Any
def _check_open_container_format(data: Any): ...
_xls_pattern: Any
_ppt_pattern: Any
def _check_olecf(data: Any): ...
def _check_svg(data: Any): ...
_Entry = namedtuple('_Entry', ['mimetype', 'signatures', 'discriminants']) _Entry = namedtuple('_Entry', ['mimetype', 'signatures', 'discriminants'])
_mime_mappings: Any
def guess_mimetype(bin_data: Any, default: str = ...): ... def guess_mimetype(bin_data: Any, default: str = ...): ...
guess_mimetype: Any guess_mimetype: Any
ms: Any

View File

@@ -59,7 +59,6 @@ def get_and_group_by_field(cr: Any, uid: Any, obj: Any, ids: Any, field: Any, co
def get_and_group_by_company(cr: Any, uid: Any, obj: Any, ids: Any, context: Optional[Any] = ...): ... def get_and_group_by_company(cr: Any, uid: Any, obj: Any, ids: Any, context: Optional[Any] = ...): ...
def resolve_attr(obj: Any, attr: Any): ... def resolve_attr(obj: Any, attr: Any): ...
def attrgetter(*items: Any): ... def attrgetter(*items: Any): ...
def remove_accents(input_str: Any): ...
class unquote(str): class unquote(str):
def __repr__(self): ... def __repr__(self): ...
@@ -97,9 +96,8 @@ class ConstantMapping(Mapping):
def __iter__(self) -> Any: ... def __iter__(self) -> Any: ...
def __getitem__(self, item: Any): ... def __getitem__(self, item: Any): ...
def dumpstacks(sig: Optional[Any] = ..., frame: Optional[Any] = ..., thread_idents: Optional[Any] = ...) -> None: ... def dumpstacks(sig: Optional[Any] = ..., frame: Optional[Any] = ...) -> None: ...
def freehash(arg: Any): ... def freehash(arg: Any): ...
def clean_context(context: Any): ...
class frozendict(dict): class frozendict(dict):
def __delitem__(self, key: Any) -> None: ... def __delitem__(self, key: Any) -> None: ...
@@ -120,19 +118,6 @@ class Collector(Mapping):
def __iter__(self) -> Any: ... def __iter__(self) -> Any: ...
def __len__(self): ... def __len__(self): ...
class StackMap(MutableMapping):
__slots__: Any = ...
_maps: Any = ...
def __init__(self, m: Optional[Any] = ...) -> None: ...
def __getitem__(self, key: Any): ...
def __setitem__(self, key: Any, val: Any) -> None: ...
def __delitem__(self, key: Any) -> None: ...
def __iter__(self) -> Any: ...
def __len__(self): ...
def __str__(self): ...
def pushmap(self, m: Optional[Any] = ...) -> None: ...
def popmap(self): ...
class OrderedSet(MutableSet): class OrderedSet(MutableSet):
__slots__: Any = ... __slots__: Any = ...
_map: Any = ... _map: Any = ...
@@ -146,7 +131,6 @@ class OrderedSet(MutableSet):
class LastOrderedSet(OrderedSet): class LastOrderedSet(OrderedSet):
def add(self, elem: Any) -> None: ... def add(self, elem: Any) -> None: ...
def groupby(iterable: Any, key: Optional[Any] = ...): ...
def unique(it: Any) -> None: ... def unique(it: Any) -> None: ...
class Reverse: class Reverse:
@@ -176,9 +160,12 @@ def _pickle_load(stream: Any, encoding: str = ..., errors: bool = ...): ...
pickle: Any pickle: Any
def wrap_values(d: Any): ...
_missing: Any
_cache: Any
def wrap_module(module: Any, attr_list: Any): ... def wrap_module(module: Any, attr_list: Any): ...
class DotDict(dict): mods: Any
def __getattr__(self, attrib: Any): ... attribs: Any
def traverse_containers(val: Any, type_: Any) -> None: ...

View File

@@ -1,12 +1,13 @@
import ctypes import ctypes
import os
from odoo.release import nt_service_name as nt_service_name
from typing import Any, Optional from typing import Any, Optional
def listdir(dir: Any, recursive: bool = ...): ... def listdir(dir: Any, recursive: bool = ...): ...
def walksymlinks(top: Any, topdown: bool = ..., onerror: Optional[Any] = ...) -> None: ... def walksymlinks(top: Any, topdown: bool = ..., onerror: Optional[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: Any, stream: Any, include_dir: bool = ..., fnct_sort: Optional[Any] = ...) -> None: ...
getppid = os.getppid
getppid: Any
is_running_as_nt_service: Any is_running_as_nt_service: Any
_TH32CS_SNAPPROCESS: int _TH32CS_SNAPPROCESS: int

View File

@@ -4,27 +4,24 @@ from typing import Any, Optional
PY2: Any PY2: Any
_Writer = namedtuple('_Writer', 'writerow writerows') _Writer = namedtuple('_Writer', 'writerow writerows')
unichr = unichr unichr = chr
text_type = unicode text_type = str
string_types: Any string_types: Any
def to_native(source: Any, encoding: str = ..., falsy_empty: bool = ...): ... def to_native(source: Any, encoding: str = ..., falsy_empty: bool = ...): ...
integer_types: Any integer_types: Any
def implements_to_string(cls): ...
def implements_iterator(cls): ...
def csv_reader(stream: Any, **params: Any) -> None: ...
def csv_writer(stream: Any, **params: Any): ...
unichr = chr
text_type = str
imap = map imap = map
izip = zip izip = zip
ifilter = filter ifilter = filter
def implements_to_string(cls): ...
def implements_iterator(cls): ...
def reraise(tp: Any, value: Any, tb: Optional[Any] = ...) -> None: ... def reraise(tp: Any, value: Any, tb: Optional[Any] = ...) -> None: ...
_reader: Any _reader: Any
_writer: Any _writer: Any
def csv_reader(stream: Any, **params: Any): ...
def csv_writer(stream: Any, **params: Any): ...
def to_text(source: Any): ... def to_text(source: Any): ...

View File

@@ -1,24 +1,7 @@
from typing import Any, Optional from typing import Any, Optional
unsafe_eval = eval unsafe_eval = eval
__all__: Any
_ALLOWED_MODULES: Any
_UNSAFE_ATTRIBUTES: Any
_POSSIBLE_OPCODES_P3: Any
_CONST_OPCODES: Any
_EXPR_OPCODES: Any
_SAFE_OPCODES: Any
_logger: Any
def _get_opcodes(codeobj: Any): ...
def assert_no_dunder_name(code_obj: Any, expr: Any) -> None: ...
def assert_valid_codeobj(allowed_codes: Any, code_obj: Any, expr: Any) -> None: ...
def test_expr(expr: Any, allowed_codes: Any, mode: str = ...): ... def test_expr(expr: Any, allowed_codes: Any, mode: str = ...): ...
def const_eval(expr: Any): ... def const_eval(expr: Any): ...
def expr_eval(expr: Any): ...
def _import(name: Any, globals: Optional[Any] = ..., locals: Optional[Any] = ..., fromlist: Optional[Any] = ..., level: int = ...): ...
_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: Any, globals_dict: Optional[Any] = ..., locals_dict: Optional[Any] = ..., mode: str = ..., nocopy: bool = ..., locals_builtins: bool = ...): ...
def test_python_expr(expr: Any, mode: str = ...): ...

View File

@@ -12,9 +12,9 @@ def column_exists(cr: Any, tablename: Any, columnname: Any): ...
def create_column(cr: Any, tablename: Any, columnname: Any, columntype: Any, comment: Optional[Any] = ...) -> None: ... def create_column(cr: Any, tablename: Any, columnname: Any, columntype: Any, comment: Optional[Any] = ...) -> None: ...
def rename_column(cr: Any, tablename: Any, columnname1: Any, columnname2: Any) -> None: ... def rename_column(cr: Any, tablename: Any, columnname1: Any, columnname2: Any) -> None: ...
def convert_column(cr: Any, tablename: Any, columnname: Any, columntype: Any) -> None: ... def convert_column(cr: Any, tablename: Any, columnname: Any, columntype: Any) -> None: ...
def set_not_null(cr: Any, tablename: Any, columnname: Any) -> None: ... def set_not_null(cr: Any, tablename: Any, columnname: Any): ...
def drop_not_null(cr: Any, tablename: Any, columnname: Any) -> None: ... def drop_not_null(cr: Any, tablename: Any, columnname: Any) -> None: ...
def constraint_definition(cr: Any, tablename: Any, constraintname: Any): ... def constraint_definition(cr: Any, constraintname: Any): ...
def add_constraint(cr: Any, tablename: Any, constraintname: Any, definition: Any) -> None: ... def add_constraint(cr: Any, tablename: Any, constraintname: Any, definition: Any) -> None: ...
def drop_constraint(cr: Any, tablename: Any, constraintname: Any) -> None: ... def drop_constraint(cr: Any, tablename: Any, constraintname: Any) -> None: ...
def add_foreign_key(cr: Any, tablename1: Any, columnname1: Any, tablename2: Any, columnname2: Any, ondelete: Any): ... def add_foreign_key(cr: Any, tablename1: Any, columnname1: Any, tablename2: Any, columnname2: Any, ondelete: Any): ...

View File

@@ -16,14 +16,3 @@ def valid_att_in_label(arch: Any): ...
def valid_att_in_form(arch: Any): ... def valid_att_in_form(arch: Any): ...
def valid_type_in_colspan(arch: Any): ... def valid_type_in_colspan(arch: Any): ...
def valid_type_in_col(arch: Any): ... def valid_type_in_col(arch: Any): ...
def valid_alternative_image_text(arch: Any): ...
def valid_simili_button(arch: Any): ...
def valid_simili_dropdown(arch: Any): ...
def valid_simili_progressbar(arch: Any): ...
def valid_dialog(arch: Any): ...
def valid_simili_tabpanel(arch: Any): ...
def valid_simili_tab(arch: Any): ...
def valid_simili_tablist(arch: Any): ...
def valid_focusable_button(arch: Any): ...
def valid_prohibited_none_role(arch: Any): ...
def valid_alerts(arch: Any): ...

View File

@@ -0,0 +1,85 @@
from . import assertion_report as assertion_report, pycompat as pycompat, yaml_tag as yaml_tag
from .config import config as config
from .misc import DEFAULT_SERVER_DATETIME_FORMAT as DEFAULT_SERVER_DATETIME_FORMAT, DEFAULT_SERVER_DATE_FORMAT as DEFAULT_SERVER_DATE_FORMAT, file_open as file_open
from .safe_eval import safe_eval as safe_eval
from odoo import SUPERUSER_ID as SUPERUSER_ID
from typing import Any, Optional
unsafe_eval = eval
_logger: Any
class YamlImportException(Exception): ...
class YamlImportAbortion(Exception): ...
def _is_yaml_mapping(node: Any, tag_constructor: Any): ...
def is_comment(node: Any): ...
def is_assert(node: Any): ...
def is_record(node: Any): ...
def is_python(node: Any): ...
def is_menuitem(node: Any): ...
def is_function(node: Any): ...
def is_report(node: Any): ...
def is_act_window(node: Any): ...
def is_delete(node: Any): ...
def is_context(node: Any): ...
def is_url(node: Any): ...
def is_eval(node: Any): ...
def is_ref(node: Any): ...
def is_string(node: Any): ...
class RecordDictWrapper(dict):
record: Any = ...
def __init__(self, record: Any) -> None: ...
def __getitem__(self, key: Any): ...
class YamlInterpreter:
cr: Any = ...
module: Any = ...
id_map: Any = ...
mode: Any = ...
filename: Any = ...
assertion_report: Any = ...
noupdate: Any = ...
loglevel: Any = ...
uid: Any = ...
context: Any = ...
eval_context: Any = ...
env: Any = ...
sudo_env: Any = ...
def __init__(self, cr: Any, module: Any, id_map: Any, mode: Any, filename: Any, report: Optional[Any] = ..., noupdate: bool = ..., loglevel: Any = ...) -> None: ...
def _log(self, *args: Any, **kwargs: Any) -> None: ...
def validate_xml_id(self, xml_id: Any) -> None: ...
def get_id(self, xml_id: Any): ...
def get_record(self, xml_id: Any): ...
def get_context(self, node: Any, eval_dict: Any): ...
def isnoupdate(self, node: Any): ...
def _get_first_result(self, results: Any, default: bool = ...): ...
def process_comment(self, node: Any): ...
def _log_assert_failure(self, msg: Any, *args: Any) -> None: ...
def _get_assertion_id(self, assertion: Any): ...
def process_assert(self, node: Any) -> None: ...
def _coerce_bool(self, value: Any, default: bool = ...): ...
def create_osv_memory_record(self, record: Any, fields: Any): ...
def process_record(self, node: Any) -> None: ...
_dict: Any = ...
def _create_record(self, model: Any, fields: Any, view_info: Optional[Any] = ..., parent: Any = ..., default: bool = ..., context: Optional[Any] = ...): ...
def process_ref(self, node: Any, field: Optional[Any] = ...): ...
def process_eval(self, node: Any): ...
def _eval_field(self, model: Any, field_name: Any, expression: Any, view_info: bool = ..., parent: Any = ..., default: bool = ..., context: Optional[Any] = ...): ...
def process_context(self, node: Any) -> None: ...
def process_python(self, node: Any) -> None: ...
def _eval_params(self, model: Any, params: Any): ...
def process_function(self, node: Any): ...
def _set_group_values(self, node: Any, values: Any) -> None: ...
def process_menuitem(self, node: Any) -> None: ...
def process_act_window(self, node: Any) -> None: ...
def process_delete(self, node: Any) -> None: ...
def process_url(self, node: Any) -> None: ...
def process_report(self, node: Any) -> None: ...
def process_none(self) -> None: ...
def process(self, yaml_string: Any) -> None: ...
def _process_node(self, node: Any) -> None: ...
def _log_node(self, node: Any, is_preceded_by_comment: Any): ...
def yaml_import(cr: Any, module: Any, yamlfile: Any, kind: Any, idref: Optional[Any] = ..., mode: str = ..., noupdate: bool = ..., report: Optional[Any] = ...) -> None: ...
convert_yaml_import = yaml_import

View File

@@ -0,0 +1,80 @@
from typing import Any, Optional
class YamlTag:
def __init__(self, **kwargs: Any) -> None: ...
def __getitem__(self, key: Any): ...
def __getattr__(self, attr: Any) -> None: ...
def __repr__(self): ...
class Assert(YamlTag):
model: Any = ...
id: Any = ...
severity: Any = ...
string: Any = ...
def __init__(self, model: Any, id: Optional[Any] = ..., severity: Any = ..., string: str = ..., **kwargs: Any) -> None: ...
class Record(YamlTag):
model: Any = ...
id: Any = ...
view: Any = ...
def __init__(self, model: Any, id: Any, use: str = ..., view: bool = ..., **kwargs: Any) -> None: ...
def __str__(self): ...
class Python(YamlTag):
model: Any = ...
severity: Any = ...
name: Any = ...
def __init__(self, model: Any, severity: Any = ..., name: str = ..., **kwargs: Any) -> None: ...
def __str__(self): ...
class Menuitem(YamlTag):
id: Any = ...
name: Any = ...
def __init__(self, id: Any, name: Any, **kwargs: Any) -> None: ...
class ActWindow(YamlTag):
def __init__(self, **kwargs: Any) -> None: ...
class Function(YamlTag):
model: Any = ...
name: Any = ...
def __init__(self, model: Any, name: Any, **kwargs: Any) -> None: ...
class Report(YamlTag):
model: Any = ...
name: Any = ...
string: Any = ...
def __init__(self, model: Any, name: Any, string: Any, **kwargs: Any) -> None: ...
class Delete(YamlTag):
def __init__(self, **kwargs: Any) -> None: ...
class Context(YamlTag):
def __init__(self, **kwargs: Any) -> None: ...
class Url(YamlTag):
def __init__(self, **kwargs: Any) -> None: ...
class Eval(YamlTag):
expression: Any = ...
def __init__(self, expression: Any) -> None: ...
def __str__(self): ...
class Ref(YamlTag):
expr: Any = ...
def __init__(self, expr: str = ..., *args: Any, **kwargs: Any) -> None: ...
def __str__(self): ...
def assert_constructor(loader: Any, node: Any): ...
def record_constructor(loader: Any, node: Any): ...
def python_constructor(loader: Any, node: Any): ...
def menuitem_constructor(loader: Any, node: Any): ...
def act_window_constructor(loader: Any, node: Any): ...
def function_constructor(loader: Any, node: Any): ...
def report_constructor(loader: Any, node: Any): ...
def delete_constructor(loader: Any, node: Any): ...
def context_constructor(loader: Any, node: Any): ...
def url_constructor(loader: Any, node: Any): ...
def eval_constructor(loader: Any, node: Any): ...
def ref_constructor(loader: Any, tag_suffix: Any, node: Any): ...
def add_constructors() -> None: ...