This commit is contained in:
Trinh Anh Ngoc
2019-12-09 16:16:42 +07:00
parent 4f5e4e9216
commit 40f7b77380
69 changed files with 2163 additions and 3 deletions

View File

@@ -0,0 +1,32 @@
# Stubs for odoo (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
__path__: Any
evented: bool
def gevent_wait_callback(conn: Any, timeout: Optional[Any] = ...) -> None: ...
multi_process: bool
SUPERUSER_ID: int
def registry(database_name: Optional[Any] = ...): ...
from . import addons
from . import conf
from . import loglevels
from . import modules
from . import netsvc
from . import osv
from . import release
from . import service
from . import sql_db
from . import tools
from . import models
from . import fields
from . import api
from . import cli
from . import http
from .tools.translate import _ as _

View File

View File

@@ -1,3 +1,7 @@
# Stubs for odoo.api (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from collections import Mapping from collections import Mapping
from typing import Any, Optional from typing import Any, Optional

View File

@@ -0,0 +1,5 @@
# Stubs for odoo.cli (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from .command import Command, main

View File

@@ -0,0 +1,17 @@
# Stubs for odoo.cli.command (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
commands: Any
class CommandType(type):
def __init__(cls, name: Any, bases: Any, attrs: Any) -> None: ...
Command: Any
class Help(Command):
def run(self, args: Any) -> None: ...
def main() -> None: ...

16
odoo-stubs/cli/deploy.pyi Normal file
View File

@@ -0,0 +1,16 @@
# Stubs for odoo.cli.deploy (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
from . import Command
class Deploy(Command):
session: Any = ...
def __init__(self) -> None: ...
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 zip_module(self, path: Any): ...
def run(self, cmdargs: Any) -> None: ...

View File

@@ -0,0 +1,30 @@
# Stubs for odoo.cli.scaffold (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
from . import Command
class Scaffold(Command):
def run(self, cmdargs: Any) -> None: ...
def epilog(self): ...
builtins: Any
def snake(s: Any): ...
def pascal(s: Any): ...
def directory(p: Any, create: bool = ...): ...
env: Any
class template:
id: Any = ...
path: Any = ...
def __init__(self, identifier: Any) -> None: ...
def files(self) -> None: ...
def render_to(self, modname: Any, directory: Any, params: Optional[Any] = ...) -> None: ...
def die(message: Any, code: int = ...) -> None: ...
def warn(message: Any) -> None: ...

20
odoo-stubs/cli/server.pyi Normal file
View File

@@ -0,0 +1,20 @@
# Stubs for odoo.cli.server (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
from . import Command
def check_root_user() -> None: ...
def check_postgres_user() -> None: ...
def report_configuration() -> None: ...
def rm_pid_file(main_pid: Any) -> None: ...
def setup_pid_file() -> None: ...
def export_translation() -> None: ...
def import_translation() -> None: ...
def main(args: Any) -> None: ...
class Server(Command):
def run(self, args: Any) -> None: ...

25
odoo-stubs/cli/shell.pyi Normal file
View File

@@ -0,0 +1,25 @@
# Stubs for odoo.cli.shell (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
import code
from typing import Any, Optional
from . import Command
def raise_keyboard_interrupt(*a: Any) -> None: ...
class Console(code.InteractiveConsole):
def __init__(self, locals: Optional[Any] = ..., filename: str = ...) -> None: ...
class Shell(Command):
supported_shells: Any = ...
def init(self, args: Any) -> None: ...
def console(self, local_vars: Any): ...
def ipython(self, local_vars: Any) -> None: ...
def ptpython(self, local_vars: Any) -> None: ...
def bpython(self, local_vars: Any) -> None: ...
def python(self, local_vars: Any) -> None: ...
def shell(self, dbname: Any) -> None: ...
def run(self, args: Any): ...

14
odoo-stubs/cli/start.pyi Normal file
View File

@@ -0,0 +1,14 @@
# Stubs for odoo.cli.start (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
from . import Command
class Start(Command):
def get_module_list(self, path: Any): ...
def run(self, cmdargs: Any): ...
def die(message: Any, code: int = ...) -> None: ...

View File

@@ -0,0 +1,8 @@
# Stubs for odoo.conf (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
addons_paths: Any
server_wide_modules: Any

43
odoo-stubs/exceptions.pyi Normal file
View File

@@ -0,0 +1,43 @@
# Stubs for odoo.exceptions (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
class except_orm(Exception):
name: Any = ...
value: Any = ...
args: Any = ...
def __init__(self, name: Any, value: Optional[Any] = ...) -> None: ...
class UserError(except_orm):
def __init__(self, msg: Any) -> None: ...
Warning = UserError
class RedirectWarning(Exception):
@property
def name(self): ...
class AccessDenied(Exception):
__cause__: Any = ...
traceback: Any = ...
def __init__(self, message: str = ...) -> None: ...
class AccessError(except_orm):
def __init__(self, msg: Any) -> None: ...
class CacheMiss(except_orm, KeyError):
def __init__(self, record: Any, field: Any) -> None: ...
class MissingError(except_orm):
def __init__(self, msg: Any) -> None: ...
class ValidationError(except_orm):
def __init__(self, msg: Any) -> None: ...
class DeferredException(Exception):
message: Any = ...
traceback: Any = ...
def __init__(self, msg: Any, tb: Any) -> None: ...
class QWebException(Exception): ...

View File

@@ -1,3 +1,9 @@
# Stubs for odoo.fields (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from .sql_db import LazyCursor
from .tools.mimetypes import guess_mimetype
from typing import Any, Optional from typing import Any, Optional
DATE_LENGTH: Any DATE_LENGTH: Any
@@ -15,7 +21,7 @@ class MetaField(type):
def __new__(meta: Any, name: Any, bases: Any, attrs: Any): ... def __new__(meta: Any, name: Any, bases: Any, attrs: Any): ...
def __init__(cls, name: Any, bases: Any, attrs: Any) -> None: ... def __init__(cls, name: Any, bases: Any, attrs: Any) -> None: ...
class Field(MetaField('DummyField', (object,), {})): class Field:
type: Any = ... type: Any = ...
relational: bool = ... relational: bool = ...
translate: bool = ... translate: bool = ...
@@ -54,7 +60,7 @@ class Field(MetaField('DummyField', (object,), {})):
def read(self, records: Any): ... def read(self, records: Any): ...
def create(self, record_values: Any) -> None: ... def create(self, record_values: Any) -> None: ...
def write(self, records: Any, value: Any): ... 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: ...
def determine_value(self, record: Any) -> None: ... def determine_value(self, record: Any) -> None: ...

163
odoo-stubs/http.pyi Normal file
View File

@@ -0,0 +1,163 @@
from typing import Any, Optional, Union
import werkzeug.wsgi
rpc_request: Any
rpc_response: Any
STATIC_CACHE: Any
request: Union['WebRequest', 'HttpRequest']
def replace_request_password(args: Any): ...
NO_POSTMORTEM: Any
def dispatch_rpc(service_name: Any, method: Any, params: Any): ...
def local_redirect(path: Any, query: Optional[Any] = ..., keep_hash: bool = ..., forward_debug: bool = ..., code: int = ...): ...
def redirect_with_hash(url: Any, code: int = ...): ...
class WebRequest:
httprequest: Any = ...
httpresponse: Any = ...
disable_db: bool = ...
endpoint: Any = ...
endpoint_arguments: Any = ...
auth_method: Any = ...
def __init__(self, httprequest: Any) -> None: ...
@property
def cr(self): ...
@property
def uid(self): ...
@uid.setter
def uid(self, val: Any) -> None: ...
@property
def context(self): ...
@context.setter
def context(self, val: Any) -> None: ...
@property
def env(self): ...
context: Any = ...
def lang(self): ...
def session(self): ...
def __enter__(self): ...
uid: Any = ...
def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: ...
def set_handler(self, endpoint: Any, arguments: Any, auth: Any) -> None: ...
@property
def debug(self): ...
def registry_cr(self) -> None: ...
@property
def registry(self): ...
@property
def db(self): ...
def csrf_token(self, time_limit: int = ...): ...
def validate_csrf(self, csrf: Any): ...
def route(route: Optional[Any] = ..., **kw: Any): ...
class JsonRequest(WebRequest):
jsonp_handler: Any = ...
params: Any = ...
jsonp: Any = ...
jsonrequest: Any = ...
context: Any = ...
def __init__(self, *args: Any) -> None: ...
def dispatch(self): ...
def serialize_exception(e: Any): ...
class HttpRequest(WebRequest):
params: Any = ...
def __init__(self, *args: Any) -> None: ...
def dispatch(self): ...
def make_response(self, data: Any, headers: Optional[Any] = ..., cookies: Optional[Any] = ...): ...
def render(self, template: Any, qcontext: Optional[Any] = ..., lazy: bool = ..., **kw: Any): ...
def not_found(self, description: Optional[Any] = ...): ...
addons_manifest: Any
controllers_per_module: Any
class ControllerType(type):
def __init__(cls, name: Any, bases: Any, attrs: Any) -> None: ...
Controller: Any
class EndPoint:
method: Any = ...
original: Any = ...
routing: Any = ...
arguments: Any = ...
def __init__(self, method: Any, routing: Any) -> None: ...
@property
def first_arg_is_req(self): ...
def __call__(self, *args: Any, **kw: Any): ...
def routing_map(modules: Any, nodb_only: Any, converters: Optional[Any] = ...): ...
class AuthenticationError(Exception): ...
class SessionExpiredException(Exception): ...
class OpenERPSession(werkzeug.contrib.sessions.Session):
inited: bool = ...
modified: bool = ...
rotate: bool = ...
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
def __getattr__(self, attr: Any): ...
def __setattr__(self, k: Any, v: Any): ...
db: Any = ...
uid: Any = ...
login: Any = ...
session_token: Any = ...
def authenticate(self, db: Any, login: Optional[Any] = ..., password: Optional[Any] = ..., uid: Optional[Any] = ...): ...
def check_security(self) -> None: ...
def logout(self, keep_db: bool = ...) -> None: ...
context: Any = ...
def get_context(self): ...
def save_action(self, action: Any): ...
def get_action(self, key: Any): ...
def save_request_data(self) -> None: ...
def load_request_data(self) -> None: ...
def session_gc(session_store: Any) -> None: ...
class Response(werkzeug.wrappers.Response):
default_mimetype: str = ...
def __init__(self, *args: Any, **kw: Any) -> None: ...
template: Any = ...
qcontext: Any = ...
uid: Any = ...
def set_default(self, template: Optional[Any] = ..., qcontext: Optional[Any] = ..., uid: Optional[Any] = ...) -> None: ...
@property
def is_qweb(self): ...
def render(self): ...
def flatten(self) -> None: ...
class DisableCacheMiddleware:
app: Any = ...
def __init__(self, app: Any) -> None: ...
def __call__(self, environ: Any, start_response: Any): ...
class Root:
def __init__(self) -> None: ...
def session_store(self): ...
def nodb_routing_map(self): ...
def __call__(self, environ: Any, start_response: Any): ...
dispatch: Any = ...
def load_addons(self) -> None: ...
def setup_session(self, httprequest: Any): ...
def setup_db(self, httprequest: Any) -> None: ...
def setup_lang(self, httprequest: Any) -> None: ...
def get_request(self, httprequest: Any): ...
def get_response(self, httprequest: Any, result: Any, explicit_session: Any): ...
def dispatch(self, environ: Any, start_response: Any): ...
def get_db_router(self, db: Any): ...
def db_list(force: bool = ..., httprequest: Optional[Any] = ...): ...
def db_filter(dbs: Any, httprequest: Optional[Any] = ...): ...
def db_monodb(httprequest: Optional[Any] = ...): ...
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 content_disposition(filename: Any): ...
class CommonController(Controller):
def gen_session_id(self): ...
root: Any

19
odoo-stubs/loglevels.pyi Normal file
View File

@@ -0,0 +1,19 @@
# Stubs for odoo.loglevels (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
LOG_NOTSET: str
LOG_DEBUG: str
LOG_INFO: str
LOG_WARNING: str
LOG_ERROR: str
LOG_CRITICAL: str
def get_encodings(hint_encoding: str = ...) -> None: ...
text_type: Any
def ustr(value: Any, hint_encoding: str = ..., errors: str = ...): ...
def exception_to_unicode(e: Any): ...

View File

@@ -1,7 +1,8 @@
from . import api, fields
from collections import MutableMapping from collections import MutableMapping
from typing import Any, Optional, List, Union, Sequence, Tuple, Dict, Generator from typing import Any, Optional, List, Union, Sequence, Tuple, Dict, Generator
from . import api, fields
SearchDomain = List[Union[str, Sequence[str]]] SearchDomain = List[Union[str, Sequence[str]]]
RecordValue = Dict[str, Any] RecordValue = Dict[str, Any]

View File

@@ -0,0 +1,4 @@
# Stubs for odoo.modules (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

10
odoo-stubs/modules/db.pyi Normal file
View File

@@ -0,0 +1,10 @@
# Stubs for odoo.modules.db (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
def is_initialized(cr: Any): ...
def initialize(cr: Any) -> None: ...
def create_categories(cr: Any, categories: Any): ...
def has_unaccent(cr: Any): ...

View File

@@ -0,0 +1,29 @@
# Stubs for odoo.modules.graph (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
class Graph(dict):
def add_node(self, name: Any, info: Any): ...
def update_from_db(self, cr: Any) -> None: ...
def add_module(self, cr: Any, module: Any, force: Optional[Any] = ...) -> None: ...
def add_modules(self, cr: Any, module_list: Any, force: Optional[Any] = ...): ...
def __iter__(self) -> None: ...
class Node:
def __new__(cls, name: Any, graph: Any, info: Any): ...
name: Any = ...
graph: Any = ...
info: Any = ...
children: Any = ...
depth: int = ...
def __init__(self, name: Any, graph: Any, info: Any) -> None: ...
@property
def data(self): ...
def add_child(self, name: Any, info: Any): ...
def __setattr__(self, name: Any, value: Any) -> None: ...
def __iter__(self): ...
def should_have_demo(self): ...
@property
def parents(self): ...

View File

@@ -0,0 +1,13 @@
# Stubs for odoo.modules.loading (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
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_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_modules(db: Any, force_demo: bool = ..., status: Optional[Any] = ..., update_module: bool = ...): ...
def reset_modules_state(db_name: Any) -> None: ...

View File

@@ -0,0 +1,14 @@
# Stubs for odoo.modules.migration (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
def load_script(path: Any, module_name: Any): ...
class MigrationManager:
cr: Any = ...
graph: Any = ...
migrations: Any = ...
def __init__(self, cr: Any, graph: Any) -> None: ...
def migrate_module(self, pkg: Any, stage: Any): ...

View File

@@ -0,0 +1,48 @@
# Stubs for odoo.modules.module (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
MANIFEST_NAMES: Any
README: Any
ad_paths: Any
hooked: bool
loaded: Any
class AddonsHook:
def find_module(self, name: Any, path: Optional[Any] = ...): ...
def load_module(self, name: Any): ...
class OdooHook:
def find_module(self, name: Any, path: Optional[Any] = ...): ...
def load_module(self, name: Any): ...
def initialize_sys_path() -> None: ...
def get_module_path(module: Any, downloaded: bool = ..., display_warning: bool = ...): ...
def get_module_filetree(module: Any, dir: str = ...): ...
def get_resource_path(module: Any, *args: Any): ...
get_module_resource = get_resource_path
def get_resource_from_path(path: Any): ...
def get_module_icon(module: Any): ...
def module_manifest(path: Any): ...
def get_module_root(path: Any): ...
def load_information_from_description_file(module: Any, mod_path: Optional[Any] = ...): ...
def load_openerp_module(module_name: Any) -> None: ...
def get_modules(): ...
def get_modules_with_version(): ...
def adapt_version(version: Any): ...
def get_test_modules(module: Any): ...
class TestStream:
logger: Any = ...
r: Any = ...
def __init__(self, logger_name: str = ...) -> None: ...
def flush(self) -> None: ...
def write(self, s: Any) -> None: ...
current_test: Any
def run_unit_tests(module_name: Any, dbname: Any, position: str = ...): ...
def unwrap_suite(test: Any) -> None: ...

46
odoo-stubs/netsvc.pyi Normal file
View File

@@ -0,0 +1,46 @@
# Stubs for odoo.netsvc (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
import logging.handlers
from typing import Any, Optional
def log(logger: Any, level: Any, prefix: Any, msg: Any, depth: Optional[Any] = ...) -> None: ...
path_prefix: Any
class PostgreSQLHandler(logging.Handler):
def emit(self, record: Any) -> None: ...
BLACK: Any
RED: Any
GREEN: Any
YELLOW: Any
BLUE: Any
MAGENTA: Any
CYAN: Any
WHITE: Any
DEFAULT: Any
RESET_SEQ: str
COLOR_SEQ: str
BOLD_SEQ: str
COLOR_PATTERN: 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):
def format(self, record: Any): ...
class ColoredFormatter(DBFormatter):
def format(self, record: Any): ...
def init_logger(): ...
DEFAULT_LOG_CONFIGURATION: Any
PSEUDOCONFIG_MAPPER: Any

View File

@@ -0,0 +1,4 @@
# Stubs for odoo.osv (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

View File

@@ -0,0 +1,62 @@
# Stubs for odoo.osv.expression (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
NOT_OPERATOR: str
OR_OPERATOR: str
AND_OPERATOR: str
DOMAIN_OPERATORS: Any
TERM_OPERATORS: Any
NEGATIVE_TERM_OPERATORS: Any
DOMAIN_OPERATORS_NEGATION: Any
TERM_OPERATORS_NEGATION: Any
TRUE_LEAF: Any
FALSE_LEAF: Any
TRUE_DOMAIN: Any
FALSE_DOMAIN: Any
def normalize_domain(domain: Any): ...
def is_false(model: Any, domain: Any): ...
def combine(operator: Any, unit: Any, zero: Any, domains: Any): ...
def AND(domains: Any): ...
def OR(domains: Any): ...
def distribute_not(domain: Any): ...
def generate_table_alias(src_table_alias: Any, joined_tables: Any = ...): ...
def get_alias_from_query(from_query: Any): ...
def normalize_leaf(element: Any): ...
def is_operator(element: Any): ...
def is_leaf(element: Any, internal: bool = ...): ...
def select_from_where(cr: Any, select_field: Any, from_table: Any, where_field: Any, where_ids: Any, where_operator: Any): ...
def select_distinct_from_where_not_null(cr: Any, select_field: Any, from_table: Any): ...
def get_unaccent_wrapper(cr: Any): ...
class ExtendedLeaf:
join_context: Any = ...
leaf: Any = ...
model: Any = ...
def __init__(self, leaf: Any, model: Any, join_context: Optional[Any] = ..., internal: bool = ...) -> None: ...
def generate_alias(self): ...
def add_join_context(self, model: Any, lhs_col: Any, table_col: Any, link: Any) -> None: ...
def get_join_conditions(self): ...
def get_tables(self): ...
def check_leaf(self, internal: bool = ...) -> None: ...
def is_operator(self): ...
def is_true_leaf(self): ...
def is_false_leaf(self): ...
def is_leaf(self, internal: bool = ...): ...
def normalize_leaf(self): ...
def create_substitution_leaf(leaf: Any, new_elements: Any, new_model: Optional[Any] = ..., internal: bool = ...): ...
class expression:
joins: Any = ...
root_model: Any = ...
expression: Any = ...
def __init__(self, domain: Any, model: Any) -> None: ...
def get_tables(self): ...
result: Any = ...
stack: Any = ...
def parse(self): ...
def to_sql(self): ...

27
odoo-stubs/osv/orm.pyi Normal file
View File

@@ -0,0 +1,27 @@
# Stubs for odoo.osv.orm (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
from ..models import BaseModel
browse_record_list = BaseModel
class BRM(type):
def __instancecheck__(self, inst: Any): ...
browse_record: Any
class NBM(type):
def __instancecheck__(self, inst: Any): ...
browse_null: Any
def transfer_field_to_modifiers(field: Any, modifiers: Any) -> None: ...
def transfer_node_to_modifiers(node: Any, modifiers: Any, context: Optional[Any] = ..., in_tree_view: bool = ...) -> None: ...
def simplify_modifiers(modifiers: Any) -> None: ...
def transfer_modifiers_to_node(modifiers: Any, node: Any) -> None: ...
def setup_modifiers(node: Any, field: Optional[Any] = ..., context: Optional[Any] = ..., in_tree_view: bool = ...) -> None: ...
def test_modifiers(what: Any, expected: Any) -> None: ...
def modifiers_tests() -> None: ...

11
odoo-stubs/osv/osv.pyi Normal file
View File

@@ -0,0 +1,11 @@
# Stubs for odoo.osv.osv (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from ..exceptions import except_orm
from .orm import AbstractModel, Model, TransientModel
except_osv = except_orm
osv = Model
osv_memory = TransientModel
osv_abstract = AbstractModel

15
odoo-stubs/osv/query.pyi Normal file
View File

@@ -0,0 +1,15 @@
# Stubs for odoo.osv.query (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
class Query:
tables: Any = ...
where_clause: Any = ...
where_clause_params: Any = ...
joins: Any = ...
extras: Any = ...
def __init__(self, tables: Optional[Any] = ..., where_clause: Optional[Any] = ..., where_clause_params: Optional[Any] = ..., joins: Optional[Any] = ..., extras: Optional[Any] = ...) -> None: ...
def add_join(self, connection: Any, implicit: bool = ..., outer: bool = ..., extra: Optional[Any] = ..., extra_params: Any = ...): ...
def get_sql(self): ...

26
odoo-stubs/release.pyi Normal file
View File

@@ -0,0 +1,26 @@
# Stubs for odoo.release (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
RELEASE_LEVELS: Any
ALPHA: Any
BETA: Any
RELEASE_CANDIDATE: Any
FINAL: Any
RELEASE_LEVELS_DISPLAY: Any
version_info: Any
version: Any
series: Any
serie: Any
major_version: Any
product_name: str
description: str
long_desc: str
classifiers: str
url: str
author: str
author_email: str
license: str
nt_service_name: Any

View File

@@ -0,0 +1,4 @@
# Stubs for odoo.service (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.

View File

@@ -0,0 +1,14 @@
# Stubs for odoo.service.common (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
RPC_VERSION_1: Any
def exp_login(db: Any, login: Any, password: Any): ...
def exp_authenticate(db: Any, login: Any, password: Any, user_agent_env: Any): ...
def exp_version(): ...
def exp_about(extended: bool = ...): ...
def exp_set_loglevel(loglevel: Any, logger: Optional[Any] = ...): ...
def dispatch(method: Any, params: Any): ...

29
odoo-stubs/service/db.pyi Normal file
View File

@@ -0,0 +1,29 @@
# Stubs for odoo.service.db (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
class DatabaseExists(Warning): ...
def check_db_management_enabled(method: Any): ...
def check_super(passwd: Any): ...
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_duplicate_database(db_original_name: Any, db_name: Any): ...
def exp_drop(db_name: Any): ...
def exp_dump(db_name: Any, format: Any): ...
def dump_db_manifest(cr: Any): ...
def dump_db(db_name: Any, stream: Any, backup_format: str = ...): ...
def exp_restore(db_name: Any, data: Any, copy: bool = ...): ...
def restore_db(db: Any, dump_file: Any, copy: bool = ...) -> None: ...
def exp_rename(old_name: Any, new_name: Any): ...
def exp_change_admin_password(new_password: Any): ...
def exp_migrate_databases(databases: Any): ...
def exp_db_exist(db_name: Any): ...
def list_dbs(force: bool = ...): ...
def list_db_incompatible(databases: Any): ...
def exp_list(document: bool = ...): ...
def exp_list_lang(): ...
def exp_list_countries(): ...
def exp_server_version(): ...
def dispatch(method: Any, params: Any): ...

View File

@@ -0,0 +1,14 @@
# Stubs for odoo.service.model (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
PG_CONCURRENCY_ERRORS_TO_RETRY: Any
MAX_TRIES_ON_CONCURRENCY_FAILURE: int
def dispatch(method: Any, params: Any): ...
def check(f: Any): ...
def execute_cr(cr: Any, uid: Any, obj: Any, method: Any, *args: Any, **kw: Any): ...
def execute_kw(db: Any, uid: Any, obj: Any, method: Any, args: Any, kw: Optional[Any] = ...): ...
def execute(db: Any, uid: Any, obj: Any, method: Any, *args: Any, **kw: Any): ...

View File

@@ -0,0 +1,10 @@
# Stubs for odoo.service.security (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
def login(db: Any, login: Any, password: Any): ...
def check(db: Any, uid: Any, passwd: Any): ...
def compute_session_token(session: Any, env: Any): ...
def check_session(session: Any, env: Any): ...

View File

@@ -0,0 +1,169 @@
# Stubs for odoo.service.server (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
import werkzeug.serving
INOTIFY_LISTEN_EVENTS: Any
SLEEP_INTERVAL: int
def memory_info(process: Any): ...
def set_limit_memory_hard() -> None: ...
def empty_pipe(fd: Any) -> None: ...
class LoggingBaseWSGIServerMixIn:
def handle_error(self, request: Any, client_address: Any) -> None: ...
class BaseWSGIServerNoBind(LoggingBaseWSGIServerMixIn, werkzeug.serving.BaseWSGIServer):
def __init__(self, app: Any) -> None: ...
def server_activate(self) -> None: ...
class RequestHandler(werkzeug.serving.WSGIRequestHandler):
timeout: int = ...
def setup(self) -> None: ...
class ThreadedWSGIServerReloadable(LoggingBaseWSGIServerMixIn, werkzeug.serving.ThreadedWSGIServer):
daemon_threads: bool = ...
def __init__(self, host: Any, port: Any, app: Any) -> None: ...
reload_socket: bool = ...
socket: Any = ...
def server_bind(self) -> None: ...
def server_activate(self) -> None: ...
def process_request(self, request: Any, client_address: Any) -> None: ...
class FSWatcherBase:
def handle_file(self, path: Any): ...
class FSWatcherWatchdog(FSWatcherBase):
observer: Any = ...
def __init__(self) -> None: ...
def dispatch(self, event: Any) -> None: ...
def start(self) -> None: ...
def stop(self) -> None: ...
class FSWatcherInotify(FSWatcherBase):
started: bool = ...
watcher: Any = ...
def __init__(self) -> None: ...
def run(self) -> None: ...
thread: Any = ...
def start(self) -> None: ...
def stop(self) -> None: ...
class CommonServer:
app: Any = ...
interface: Any = ...
port: Any = ...
pid: Any = ...
def __init__(self, app: Any) -> None: ...
def close_socket(self, sock: Any) -> None: ...
class ThreadedServer(CommonServer):
main_thread_id: Any = ...
quit_signals_received: int = ...
httpd: Any = ...
limits_reached_threads: Any = ...
limit_reached_time: Any = ...
def __init__(self, app: 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_spawn(self) -> None: ...
def http_thread(self): ...
def http_spawn(self) -> None: ...
def start(self, stop: bool = ...): ...
def stop(self) -> None: ...
def run(self, preload: Optional[Any] = ..., stop: bool = ...): ...
def reload(self) -> None: ...
class GeventServer(CommonServer):
port: Any = ...
httpd: Any = ...
def __init__(self, app: Any) -> None: ...
def process_limits(self) -> None: ...
ppid: Any = ...
def watchdog(self, beat: int = ...) -> None: ...
def start(self) -> None: ...
def stop(self) -> None: ...
def run(self, preload: Any, stop: Any) -> None: ...
class PreforkServer(CommonServer):
address: Any = ...
population: Any = ...
timeout: Any = ...
limit_request: Any = ...
cron_timeout: Any = ...
beat: int = ...
app: Any = ...
pid: Any = ...
socket: Any = ...
workers_http: Any = ...
workers_cron: Any = ...
workers: Any = ...
generation: int = ...
queue: Any = ...
long_polling_pid: Any = ...
def __init__(self, app: Any) -> None: ...
def pipe_new(self): ...
def pipe_ping(self, pipe: Any) -> None: ...
def signal_handler(self, sig: Any, frame: Any) -> None: ...
def worker_spawn(self, klass: Any, workers_registry: Any): ...
def long_polling_spawn(self) -> None: ...
def worker_pop(self, pid: Any) -> None: ...
def worker_kill(self, pid: Any, sig: Any) -> None: ...
def process_signals(self) -> None: ...
def process_zombie(self) -> None: ...
def process_timeout(self) -> None: ...
def process_spawn(self) -> None: ...
def sleep(self) -> None: ...
pipe: Any = ...
def start(self) -> None: ...
def stop(self, graceful: bool = ...) -> None: ...
def run(self, preload: Any, stop: Any): ...
class Worker:
multi: Any = ...
watchdog_time: Any = ...
watchdog_pipe: Any = ...
eintr_pipe: Any = ...
watchdog_timeout: Any = ...
ppid: Any = ...
pid: Any = ...
alive: bool = ...
request_max: Any = ...
request_count: int = ...
def __init__(self, multi: Any) -> None: ...
def setproctitle(self, title: str = ...) -> None: ...
def close(self) -> None: ...
def signal_handler(self, sig: Any, frame: Any) -> None: ...
def sleep(self) -> None: ...
def check_limits(self) -> None: ...
def set_limits(self) -> None: ...
def process_work(self) -> None: ...
def start(self) -> None: ...
def stop(self) -> None: ...
def run(self) -> None: ...
class WorkerHTTP(Worker):
def process_request(self, client: Any, addr: Any) -> None: ...
def process_work(self) -> None: ...
server: Any = ...
def start(self) -> None: ...
class WorkerCron(Worker):
db_index: int = ...
watchdog_timeout: Any = ...
def __init__(self, multi: Any) -> None: ...
def sleep(self) -> None: ...
def process_work(self) -> None: ...
def start(self) -> None: ...
server: Any
def load_server_wide_modules() -> None: ...
def load_test_file_py(registry: Any, test_file: Any) -> None: ...
def preload_registries(dbnames: Any): ...
def start(preload: Optional[Any] = ..., stop: bool = ...): ...
def restart() -> None: ...

View File

@@ -0,0 +1,16 @@
# Stubs for odoo.service.wsgi_server (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
RPC_FAULT_CODE_CLIENT_ERROR: int
RPC_FAULT_CODE_APPLICATION_ERROR: int
RPC_FAULT_CODE_WARNING: int
RPC_FAULT_CODE_ACCESS_DENIED: int
RPC_FAULT_CODE_ACCESS_ERROR: int
def xmlrpc_handle_exception_int(e: Any): ...
def xmlrpc_handle_exception_string(e: Any): ...
def application_unproxied(environ: Any, start_response: Any): ...
def application(environ: Any, start_response: Any): ...

85
odoo-stubs/sql_db.pyi Normal file
View File

@@ -0,0 +1,85 @@
# Stubs for odoo.sql_db (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
import psycopg2.extensions
from .tools.func import frame_codeinfo
from typing import Any, Optional
def unbuffer(symb: Any, cr: Any): ...
def undecimalize(symb: Any, cr: Any): ...
def adapt_string(adapted: Any): ...
re_from: Any
re_into: Any
sql_counter: int
class Cursor:
IN_MAX: int = ...
def check(f: Any): ...
sql_from_log: Any = ...
sql_into_log: Any = ...
sql_log: Any = ...
sql_log_count: int = ...
dbname: Any = ...
cache: Any = ...
def __init__(self, pool: Any, dbname: Any, dsn: Any, serialized: bool = ...) -> None: ...
def dictfetchone(self): ...
def dictfetchmany(self, size: Any): ...
def dictfetchall(self): ...
def __del__(self) -> None: ...
def execute(self, query: Any, params: Optional[Any] = ..., log_exceptions: Optional[Any] = ...): ...
def split_for_in_conditions(self, ids: Any, size: Optional[Any] = ...): ...
def print_log(self): ...
def close(self): ...
def autocommit(self, on: Any) -> None: ...
def after(self, event: Any, func: Any) -> None: ...
def commit(self): ...
def rollback(self): ...
def __enter__(self): ...
def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: ...
def savepoint(self) -> None: ...
def __getattr__(self, name: Any): ...
@property
def closed(self): ...
class TestCursor:
def __init__(self, cursor: Any, lock: Any) -> None: ...
def close(self) -> None: ...
def autocommit(self, on: Any) -> None: ...
def commit(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:
def __init__(self, dbname: Optional[Any] = ...) -> None: ...
@property
def dbname(self): ...
def __getattr__(self, name: Any): ...
def __enter__(self): ...
def __exit__(self, exc_type: Any, exc_value: Any, traceback: Any) -> None: ...
class PsycoConnection(psycopg2.extensions.connection): ...
class ConnectionPool:
def locked(fun: Any): ...
def __init__(self, maxconn: int = ...) -> None: ...
def borrow(self, connection_info: Any): ...
def give_back(self, connection: Any, keep_in_pool: bool = ...) -> None: ...
def close_all(self, dsn: Optional[Any] = ...) -> None: ...
class Connection:
dbname: Any = ...
dsn: Any = ...
def __init__(self, pool: Any, dbname: Any, dsn: Any) -> None: ...
def cursor(self, serialized: bool = ...): ...
serialized_cursor: Any = ...
def __bool__(self) -> None: ...
__nonzero__: Any = ...
def connection_info_for(db_or_uri: Any): ...
def db_connect(to: Any, allow_uri: bool = ...): ...
def close_db(db_name: Any) -> None: ...
def close_all() -> None: ...

View File

@@ -0,0 +1,5 @@
# Stubs for odoo.tests (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from .common import *

157
odoo-stubs/tests/common.pyi Normal file
View File

@@ -0,0 +1,157 @@
# Stubs for odoo.tests.common (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
import collections
import unittest
from typing import Any, Optional
ADDONS_PATH: Any
HOST: str
PORT: Any
ADMIN_USER_ID: Any
def get_db_name(): ...
DB: Any
def at_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):
def __init__(self, methodName: str = ...) -> 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):
longMessage: bool = ...
warm: bool = ...
def cursor(self): ...
@property
def uid(self): ...
env: Any = ...
@uid.setter
def uid(self, user: Any) -> None: ...
def ref(self, xid: Any): ...
def browse_ref(self, xid: 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 assertItemsEqual(self, a: Any, b: Any, msg: Optional[Any] = ...) -> None: ...
class TransactionCase(BaseCase):
registry: Any = ...
cr: Any = ...
env: Any = ...
def setUp(self): ...
def patch(self, obj: Any, key: Any, val: Any) -> None: ...
def patch_order(self, model: Any, order: Any) -> None: ...
class SingleTransactionCase(BaseCase):
@classmethod
def setUpClass(cls) -> None: ...
@classmethod
def tearDownClass(cls) -> None: ...
savepoint_seq: Any
class SavepointCase(SingleTransactionCase):
def setUp(self) -> None: ...
def tearDown(self) -> None: ...
class ChromeBrowser:
devtools_port: Any = ...
ws_url: str = ...
ws: Any = ...
request_id: int = ...
user_data_dir: Any = ...
chrome_process: 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 take_screenshot(self, prefix: str = ...) -> None: ...
def start_screencast(self) -> None: ...
def set_cookie(self, name: Any, value: Any, path: Any, domain: Any): ...
def navigate_to(self, url: Any, wait_stop: bool = ...) -> None: ...
def clear(self) -> None: ...
class HttpCase(TransactionCase):
registry_test_mode: bool = ...
browser: Any = ...
xmlrpc_url: Any = ...
xmlrpc_common: Any = ...
xmlrpc_db: Any = ...
xmlrpc_object: Any = ...
def __init__(self, methodName: str = ...) -> None: ...
@classmethod
def start_browser(cls, logger: Any) -> None: ...
@classmethod
def tearDownClass(cls) -> None: ...
session: Any = ...
session_id: Any = ...
opener: Any = ...
def setUp(self) -> None: ...
def url_open(self, url: Any, data: Optional[Any] = ..., timeout: int = ...): ...
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: ...
phantom_js: Any = ...
def users(*logins: Any): ...
def warmup(func: Any, *args: Any, **kwargs: Any) -> None: ...
def can_import(module: Any): ...
ref_re: Any
class Form:
def __init__(self, recordp: Any, view: Optional[Any] = ...) -> None: ...
def __getattr__(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): ...
class O2MForm(Form):
def __init__(self, proxy: Any, index: Optional[Any] = ...) -> None: ...
def save(self) -> None: ...
class UpdateDict(dict):
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
def changed_items(self): ...
def update(self, *args: Any, **kw: Any) -> None: ...
class X2MProxy: ...
class O2MProxy(X2MProxy):
def __init__(self, parent: Any, field: Any) -> None: ...
def __len__(self): ...
def new(self): ...
def edit(self, index: Any): ...
def remove(self, index: Any) -> None: ...
class M2MProxy(X2MProxy, collections.Sequence):
def __init__(self, parent: Any, field: Any) -> None: ...
def __getitem__(self, it: Any): ...
def __len__(self): ...
def __iter__(self): ...
def __contains__(self, record: Any): ...
def add(self, record: Any) -> None: ...
def remove(self, id: Optional[Any] = ..., index: Optional[Any] = ...) -> None: ...
def clear(self) -> None: ...
def record_to_values(fields: Any, record: 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

@@ -0,0 +1,17 @@
# Stubs for odoo.tools (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from .misc import *
from .convert import *
from .translate import *
from .image import *
from .sql import *
from .float_utils import *
from .mail import *
from .func import *
from .debugger import *
from .xml_utils import *
from .date_utils import *
from .config import config
from .graph import graph

View File

@@ -0,0 +1,34 @@
# Stubs for odoo.tools.appdirs (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
__version_info__: Any
def user_data_dir(appname: Optional[Any] = ..., appauthor: Optional[Any] = ..., version: Optional[Any] = ..., roaming: bool = ...): ...
def site_data_dir(appname: Optional[Any] = ..., appauthor: Optional[Any] = ..., version: Optional[Any] = ..., multipath: bool = ...): ...
def user_config_dir(appname: Optional[Any] = ..., appauthor: Optional[Any] = ..., version: Optional[Any] = ..., roaming: bool = ...): ...
def site_config_dir(appname: Optional[Any] = ..., appauthor: Optional[Any] = ..., version: Optional[Any] = ..., multipath: bool = ...): ...
def user_cache_dir(appname: Optional[Any] = ..., appauthor: Optional[Any] = ..., version: Optional[Any] = ..., opinion: bool = ...): ...
def user_log_dir(appname: Optional[Any] = ..., appauthor: Optional[Any] = ..., version: Optional[Any] = ..., opinion: bool = ...): ...
class AppDirs:
appname: Any = ...
appauthor: Any = ...
version: Any = ...
roaming: Any = ...
multipath: Any = ...
def __init__(self, appname: Any, appauthor: Optional[Any] = ..., version: Optional[Any] = ..., roaming: bool = ..., multipath: bool = ...) -> None: ...
@property
def user_data_dir(self): ...
@property
def site_data_dir(self): ...
@property
def user_config_dir(self): ...
@property
def site_config_dir(self): ...
@property
def user_cache_dir(self): ...
@property
def user_log_dir(self): ...

View File

@@ -0,0 +1,13 @@
# Stubs for odoo.tools.assertion_report (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
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: ...

View File

@@ -0,0 +1,52 @@
# Stubs for odoo.tools.cache (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
unsafe_eval = eval
class ormcache_counter:
hit: int = ...
miss: int = ...
err: int = ...
def __init__(self) -> None: ...
@property
def ratio(self): ...
STAT: Any
class ormcache:
args: Any = ...
skiparg: Any = ...
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
method: Any = ...
def __call__(self, method: Any): ...
key: Any = ...
def determine_key(self): ...
def lru(self, model: Any): ...
def lookup(self, method: Any, *args: Any, **kwargs: Any): ...
def clear(self, model: Any, *args: Any) -> None: ...
class ormcache_context(ormcache):
keys: Any = ...
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
key: Any = ...
def determine_key(self) -> None: ...
class ormcache_multi(ormcache):
multi: Any = ...
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
key_multi: Any = ...
multi_pos: Any = ...
def determine_key(self) -> None: ...
def lookup(self, method: Any, *args: Any, **kwargs: Any): ...
class dummy_cache:
def __init__(self, *l: Any, **kw: Any) -> None: ...
def __call__(self, fn: Any): ...
def clear(self, *l: Any, **kw: Any) -> None: ...
def log_ormcache_stats(sig: Optional[Any] = ..., frame: Optional[Any] = ...): ...
def get_cache_key_counter(bound_method: Any, *args: Any, **kwargs: Any): ...
cache = ormcache

View File

@@ -0,0 +1,40 @@
# Stubs for odoo.tools.config (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
import optparse
from typing import Any, Optional
crypt_context: Any
class MyOption(optparse.Option):
my_default: Any = ...
def __init__(self, *opts: Any, **attrs: Any) -> None: ...
DEFAULT_LOG_HANDLER: str
class configmanager:
options: Any = ...
blacklist_for_save: Any = ...
casts: Any = ...
misc: Any = ...
config_file: Any = ...
parser: Any = ...
def __init__(self, fname: Optional[Any] = ...) -> None: ...
def parse_config(self, args: Optional[Any] = ...) -> None: ...
def load(self) -> None: ...
def save(self) -> None: ...
def get(self, key: Any, default: Optional[Any] = ...): ...
def pop(self, key: Any, default: Optional[Any] = ...): ...
def get_misc(self, sect: Any, key: Any, default: Optional[Any] = ...): ...
def __setitem__(self, key: Any, value: Any) -> None: ...
def __getitem__(self, key: Any): ...
@property
def addons_data_dir(self): ...
@property
def session_dir(self): ...
def filestore(self, dbname: Any): ...
def set_admin_password(self, new_password: Any) -> None: ...
def verify_admin_password(self, password: Any): ...
config: Any

View File

@@ -0,0 +1,48 @@
# Stubs for odoo.tools.convert (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from .translate import _
from typing import Any, Optional
safe_eval: Any
class ParseError(Exception):
msg: Any = ...
text: Any = ...
filename: Any = ...
lineno: Any = ...
def __init__(self, msg: Any, text: Any, filename: Any, lineno: Any) -> None: ...
class RecordDictWrapper(dict):
record: Any = ...
def __init__(self, record: Any) -> None: ...
def __getitem__(self, key: Any): ...
def str2bool(value: Any): ...
class xml_import:
@staticmethod
def nodeattr2bool(node: Any, attr: Any, default: bool = ...): ...
def isnoupdate(self, data_node: Optional[Any] = ...): ...
def get_context(self, data_node: Any, node: Any, eval_dict: Any): ...
def get_uid(self, data_node: Any, node: Any): ...
def make_xml_id(self, xml_id: Any): ...
def id_get(self, id_str: Any, raise_if_not_found: bool = ...): ...
def model_id_get(self, id_str: Any, raise_if_not_found: bool = ...): ...
def parse(self, de: Any, mode: Optional[Any] = ...): ...
mode: Any = ...
module: Any = ...
env: Any = ...
cr: Any = ...
uid: Any = ...
idref: Any = ...
assertion_report: Any = ...
noupdate: Any = ...
xml_filename: Any = ...
def __init__(self, cr: Any, module: Any, idref: Any, mode: Any, report: Optional[Any] = ..., noupdate: bool = ..., xml_filename: Optional[Any] = ...) -> None: ...
def convert_file(cr: Any, module: Any, filename: Any, idref: Any, mode: str = ..., noupdate: bool = ..., kind: Optional[Any] = ..., report: Optional[Any] = ..., pathname: Optional[Any] = ...) -> None: ...
def convert_sql_import(cr: Any, fp: Any) -> None: ...
def convert_csv_import(cr: Any, module: Any, fname: Any, csvcontent: Any, idref: Optional[Any] = ..., 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] = ...): ...

View File

@@ -0,0 +1,16 @@
# Stubs for odoo.tools.date_utils (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
def get_month(date: Any): ...
def get_quarter_number(date: Any): ...
def get_quarter(date: Any): ...
def get_fiscal_year(date: Any, day: int = ..., month: int = ...): ...
def start_of(value: Any, granularity: Any): ...
def end_of(value: Any, granularity: Any): ...
def add(value: Any, *args: Any, **kwargs: Any): ...
def subtract(value: Any, *args: Any, **kwargs: Any): ...
def json_default(obj: Any): ...
def date_range(start: Any, end: Any, step: Any = ...): ...

View File

@@ -0,0 +1,9 @@
# Stubs for odoo.tools.debugger (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
SUPPORTED_DEBUGGER: Any
def post_mortem(config: Any, info: Any) -> None: ...

View File

@@ -0,0 +1,15 @@
# Stubs for odoo.tools.float_utils (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
def round(f: Any): ...
round = round
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_compare(value1: Any, value2: Any, precision_digits: Optional[Any] = ..., precision_rounding: Optional[Any] = ...): ...
def float_repr(value: Any, precision_digits: Any): ...
def float_split_str(value: Any, precision_digits: Any): ...
def float_split(value: Any, precision_digits: Any): ...

110
odoo-stubs/tools/func.pyi Normal file
View File

@@ -0,0 +1,110 @@
# Stubs for odoo.tools.func (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
class lazy_property:
fget: Any = ...
def __init__(self, fget: Any) -> None: ...
def __get__(self, obj: Any, cls: Any): ...
@property
def __doc__(self): ...
@staticmethod
def reset_all(obj: Any) -> None: ...
class lazy_classproperty(lazy_property):
def __get__(self, obj: Any, cls: Any): ...
def conditional(condition: Any, decorator: Any): ...
def synchronized(lock_attr: str = ...): ...
class _ClassProperty(property):
def __get__(self, cls: Any, owner: Any): ...
def classproperty(func: Any): ...
class lazy:
def __init__(self, func: Any, *args: Any, **kwargs: Any) -> None: ...
def __getattr__(self, name: Any): ...
def __setattr__(self, name: Any, value: Any): ...
def __delattr__(self, name: Any): ...
def __bytes__(self): ...
def __format__(self, format_spec: Any): ...
def __lt__(self, other: Any): ...
def __le__(self, other: Any): ...
def __eq__(self, other: Any): ...
def __ne__(self, other: Any): ...
def __gt__(self, other: Any): ...
def __ge__(self, other: Any): ...
def __hash__(self): ...
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): ...
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

@@ -0,0 +1,57 @@
# Stubs for odoo.tools.graph (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
class graph:
nodes: Any = ...
edges: Any = ...
no_ancester: Any = ...
transitions: Any = ...
result: Any = ...
def __init__(self, nodes: Any, transitions: Any, no_ancester: Optional[Any] = ...) -> None: ...
edge_wt: Any = ...
def init_rank(self) -> None: ...
reachable_nodes: Any = ...
tree_edges: Any = ...
def tight_tree(self): ...
def reachable_node(self, node: Any) -> None: ...
cut_edges: Any = ...
head_nodes: Any = ...
def init_cutvalues(self) -> None: ...
def head_component(self, node: Any, rest_edges: Any) -> None: ...
def process_ranking(self, node: Any, level: int = ...) -> None: ...
def make_acyclic(self, parent: Any, node: Any, level: Any, tree: Any): ...
def rev_edges(self, tree: Any): ...
def exchange(self, e: Any, f: Any) -> None: ...
def enter_edge(self, edge: Any): ...
def leave_edge(self): ...
def finalize_rank(self, node: Any, level: Any) -> None: ...
def normalize(self) -> None: ...
def make_chain(self) -> None: ...
def init_order(self, node: Any, level: Any) -> None: ...
def order_heuristic(self) -> None: ...
def wmedian(self) -> None: ...
def median_value(self, node: Any, adj_rank: Any): ...
def adj_position(self, node: Any, adj_rank: Any): ...
levels: Any = ...
def preprocess_order(self) -> None: ...
def graph_order(self) -> None: ...
def tree_order(self, node: Any, last: int = ...): ...
max_order: Any = ...
def process_order(self) -> None: ...
partial_order: Any = ...
def find_starts(self) -> None: ...
critical_edges: Any = ...
links: Any = ...
Is_Cyclic: bool = ...
def rank(self) -> None: ...
order: Any = ...
def order_in_rank(self): ...
start_nodes: Any = ...
tree_list: Any = ...
start: Any = ...
def process(self, starting_node: Any) -> None: ...
def scale(self, maxx: Any, maxy: Any, nwidth: int = ..., nheight: int = ..., margin: int = ...) -> None: ...
def result_get(self): ...

View File

@@ -0,0 +1,19 @@
# Stubs for odoo.tools.image (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
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 = ..., 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_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_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 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_resize_images(vals: Any, big_name: str = ..., medium_name: str = ..., small_name: str = ..., sizes: Any = ...) -> None: ...
def image_data_uri(base64_source: Any): ...

32
odoo-stubs/tools/lru.pyi Normal file
View File

@@ -0,0 +1,32 @@
# Stubs for odoo.tools.lru (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
class LRUNode:
prev: Any = ...
me: Any = ...
next: Any = ...
def __init__(self, prev: Any, me: Any) -> None: ...
class LRU:
count: Any = ...
d: Any = ...
first: Any = ...
last: Any = ...
def __init__(self, count: Any, pairs: Any = ...) -> None: ...
def __contains__(self, obj: Any): ...
def get(self, obj: Any, val: Optional[Any] = ...): ...
def __getitem__(self, obj: Any): ...
def __setitem__(self, obj: Any, val: Any) -> None: ...
def __delitem__(self, obj: Any) -> None: ...
def __iter__(self) -> None: ...
def __len__(self): ...
def iteritems(self) -> None: ...
items: Any = ...
def iterkeys(self): ...
def itervalues(self): ...
def keys(self): ...
def pop(self, key: Any): ...
def clear(self) -> None: ...

42
odoo-stubs/tools/mail.pyi Normal file
View File

@@ -0,0 +1,42 @@
# Stubs for odoo.tools.mail (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
from lxml.html import clean
tags_to_kill: Any
tags_to_remove: Any
allowed_tags: Any
safe_attrs: Any
class _Cleaner(clean.Cleaner):
strip_classes: bool = ...
sanitize_style: bool = ...
def __call__(self, doc: Any) -> None: ...
def tag_quote(self, el: Any): ...
def strip_class(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_keep_url(text: Any): ...
def html2plaintext(html: Any, body_id: Optional[Any] = ..., encoding: str = ...): ...
def plaintext2html(text: Any, container_tag: bool = ...): ...
def append_content_to_html(html: Any, content: Any, plaintext: bool = ..., preserve: bool = ..., container_tag: bool = ...): ...
email_re: Any
single_email_re: Any
reference_re: Any
discussion_re: Any
mail_header_msgid_re: Any
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_split(text: Any): ...
def email_split_and_format(text: Any): ...
def email_escape_char(email_address: Any): ...
def email_references(references: Any): ...
def decode_smtp_header(smtp_header: Any): ...
def decode_message_header(message: Any, header: Any, separator: str = ...): ...

View File

@@ -0,0 +1,12 @@
# Stubs for odoo.tools.mimetypes (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from collections import namedtuple
from typing import Any
_Entry = namedtuple('_Entry', ['mimetype', 'signatures', 'discriminants'])
def guess_mimetype(bin_data: Any, default: str = ...): ...
guess_mimetype: Any

165
odoo-stubs/tools/misc.pyi Normal file
View File

@@ -0,0 +1,165 @@
# Stubs for odoo.tools.misc (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
import pickle as pickle_
from collections import Mapping, MutableMapping, MutableSet, defaultdict
from typing import Any, Optional
import xlsxwriter
import xlwt
SKIPPED_ELEMENT_TYPES: Any
def find_in_path(name: Any): ...
def exec_command_pipe(name: Any, *args: Any): ...
def find_pg_tool(name: Any): ...
def exec_pg_environ(): ...
def exec_pg_command(name: Any, *args: Any) -> None: ...
def exec_pg_command_pipe(name: Any, *args: Any): ...
def file_open(name: Any, mode: str = ..., subdir: str = ..., pathinfo: bool = ...): ...
def flatten(list: Any): ...
def reverse_enumerate(l: Any): ...
def partition(pred: Any, elems: Any): ...
def topological_sort(elems: Any): ...
class PatchedWorkbook(xlwt.Workbook):
def add_sheet(self, name: Any, cell_overwrite_ok: bool = ...): ...
class PatchedXlsxWorkbook(xlsxwriter.Workbook):
def add_worksheet(self, name: Optional[Any] = ..., **kw: Any): ...
def to_xml(s: Any): ...
def get_iso_codes(lang: Any): ...
def scan_languages(): ...
def get_user_companies(cr: Any, user: Any): ...
def mod10r(number: Any): ...
def str2bool(s: Any, default: Optional[Any] = ...): ...
def human_size(sz: Any): ...
def logged(f: Any): ...
class profile:
fname: Any = ...
def __init__(self, fname: Optional[Any] = ...) -> None: ...
def __call__(self, f: Any): ...
def detect_ip_addr(): ...
DEFAULT_SERVER_DATE_FORMAT: str
DEFAULT_SERVER_TIME_FORMAT: str
DEFAULT_SERVER_DATETIME_FORMAT: Any
DATE_LENGTH: Any
DATETIME_FORMATS_MAP: Any
POSIX_TO_LDML: Any
def posix_to_ldml(fmt: Any, locale: Any): ...
def split_every(n: Any, iterable: Any, piece_maker: Any = ...) -> 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_company(cr: Any, uid: Any, obj: Any, ids: Any, context: Optional[Any] = ...): ...
def resolve_attr(obj: Any, attr: Any): ...
def attrgetter(*items: Any): ...
def remove_accents(input_str: Any): ...
class unquote(str): ...
class UnquoteEvalContext(defaultdict):
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
def __missing__(self, key: Any): ...
class mute_logger:
loggers: Any = ...
def __init__(self, *loggers: Any) -> None: ...
def filter(self, record: Any): ...
def __enter__(self) -> None: ...
def __exit__(self, exc_type: Optional[Any] = ..., exc_val: Optional[Any] = ..., exc_tb: Optional[Any] = ...) -> None: ...
def __call__(self, func: Any): ...
class CountingStream:
stream: Any = ...
index: Any = ...
stopped: bool = ...
def __init__(self, stream: Any, start: int = ...) -> None: ...
def __iter__(self): ...
def next(self): ...
__next__: Any = ...
def stripped_sys_argv(*strip_args: Any): ...
class ConstantMapping(Mapping):
def __init__(self, val: Any) -> None: ...
def __len__(self): ...
def __iter__(self): ...
def __getitem__(self, item: Any): ...
def dumpstacks(sig: Optional[Any] = ..., frame: Optional[Any] = ..., thread_idents: Optional[Any] = ...) -> None: ...
def freehash(arg: Any): ...
def clean_context(context: Any): ...
class frozendict(dict):
def __delitem__(self, key: Any) -> None: ...
def __setitem__(self, key: Any, val: Any) -> None: ...
def clear(self) -> None: ...
def pop(self, key: Any, default: Optional[Any] = ...) -> None: ...
def popitem(self) -> None: ...
def setdefault(self, key: Any, default: Optional[Any] = ...) -> None: ...
def update(self, *args: Any, **kwargs: Any) -> None: ...
def __hash__(self): ...
class Collector(Mapping):
def __init__(self) -> None: ...
def add(self, key: Any, val: Any) -> None: ...
def __getitem__(self, key: Any): ...
def __iter__(self): ...
def __len__(self): ...
class StackMap(MutableMapping):
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): ...
def __len__(self): ...
def pushmap(self, m: Optional[Any] = ...) -> None: ...
def popmap(self): ...
class OrderedSet(MutableSet):
def __init__(self, elems: Any = ...) -> None: ...
def __contains__(self, elem: Any): ...
def __iter__(self): ...
def __len__(self): ...
def add(self, elem: Any) -> None: ...
def discard(self, elem: Any) -> None: ...
class LastOrderedSet(OrderedSet):
def add(self, elem: Any) -> None: ...
def groupby(iterable: Any, key: Optional[Any] = ...): ...
def unique(it: Any) -> None: ...
class Reverse:
val: Any = ...
def __init__(self, val: Any) -> None: ...
def __eq__(self, other: Any): ...
def __ne__(self, other: Any): ...
def __ge__(self, other: Any): ...
def __gt__(self, other: Any): ...
def __le__(self, other: Any): ...
def __lt__(self, other: Any): ...
def ignore(*exc: Any) -> None: ...
def html_escape(text: 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 = ...): ...
consteq: Any
class Unpickler(pickle_.Unpickler):
find_global: Any = ...
find_class: Any = ...
pickle: Any
def wrap_module(module: Any, attr_list: Any): ...
class DotDict(dict):
def __getattr__(self, attrib: Any): ...

View File

@@ -0,0 +1,16 @@
# Stubs for odoo.tools.osutil (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
import ctypes
import os
from typing import Any, Optional
def listdir(dir: Any, recursive: bool = ...): ...
def walksymlinks(top: Any, topdown: bool = ..., onerror: Optional[Any] = ...) -> None: ...
def tempdir() -> None: ...
def zip_dir(path: Any, stream: Any, include_dir: bool = ..., fnct_sort: Optional[Any] = ...) -> None: ...
getppid = os.getppid
is_running_as_nt_service: Any
class _PROCESSENTRY32(ctypes.Structure): ...

View File

@@ -0,0 +1,10 @@
# Stubs for odoo.tools.parse_version (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
component_re: Any
replace: Any
def parse_version(s: Any): ...

7
odoo-stubs/tools/pdf.pyi Normal file
View File

@@ -0,0 +1,7 @@
# Stubs for odoo.tools.pdf (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
def merge_pdf(pdf_data: Any): ...

View File

@@ -0,0 +1,17 @@
# Stubs for odoo.tools.profiler (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
class _LogTracer:
profiles: Any = ...
whitelist: Any = ...
blacklist: Any = ...
files: Any = ...
deep: Any = ...
first_frame: Any = ...
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 = ...): ...

View File

@@ -0,0 +1,30 @@
# Stubs for odoo.tools.pycompat (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from collections import namedtuple
from typing import Any, Optional
PY2: Any
_Writer = namedtuple('_Writer', 'writerow writerows')
unichr = unichr
text_type = unicode
string_types: Any
def to_native(source: Any, encoding: str = ..., falsy_empty: bool = ...): ...
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
izip = zip
ifilter = filter
def reraise(tp: Any, value: Any, tb: Optional[Any] = ...) -> None: ...
def to_text(source: Any): ...

View File

@@ -0,0 +1,11 @@
# Stubs for odoo.tools.safe_eval (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
unsafe_eval = eval
def test_expr(expr: Any, allowed_codes: Any, mode: str = ...): ...
def const_eval(expr: Any): ...
def safe_eval(expr: Any, globals_dict: Optional[Any] = ..., locals_dict: Optional[Any] = ..., mode: str = ..., nocopy: bool = ..., locals_builtins: bool = ...): ...

30
odoo-stubs/tools/sql.pyi Normal file
View File

@@ -0,0 +1,30 @@
# Stubs for odoo.tools.sql (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
def existing_tables(cr: Any, tablenames: Any): ...
def table_exists(cr: Any, tablename: Any): ...
def table_kind(cr: Any, tablename: Any): ...
def create_model_table(cr: Any, tablename: Any, comment: Optional[Any] = ...) -> None: ...
def table_columns(cr: Any, tablename: Any): ...
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 rename_column(cr: Any, tablename: Any, columnname1: Any, columnname2: 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 drop_not_null(cr: Any, tablename: Any, columnname: Any) -> None: ...
def constraint_definition(cr: Any, tablename: Any, constraintname: Any): ...
def add_constraint(cr: Any, tablename: Any, constraintname: Any, definition: 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 fix_foreign_key(cr: Any, tablename1: Any, columnname1: Any, tablename2: Any, columnname2: Any, ondelete: Any): ...
def index_exists(cr: Any, indexname: Any): ...
def create_index(cr: Any, indexname: Any, tablename: Any, expressions: Any) -> None: ...
def create_unique_index(cr: Any, indexname: Any, tablename: Any, expressions: Any) -> None: ...
def drop_index(cr: Any, indexname: Any, tablename: Any) -> None: ...
def drop_view_if_exists(cr: Any, viewname: Any) -> None: ...
def escape_psql(to_escape: Any): ...
def pg_varchar(size: int = ...): ...
def reverse_order(order: Any): ...

View File

@@ -0,0 +1,8 @@
# Stubs for odoo.tools.test_config (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
config_file_00: Any
conf: Any

View File

@@ -0,0 +1,8 @@
# Stubs for odoo.tools.test_reports (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
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_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] = ...): ...

View File

@@ -0,0 +1,66 @@
# Stubs for odoo.tools.translate (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
import csv
from typing import Any, Optional
WEB_TRANSLATION_COMMENT: str
SKIPPED_ELEMENTS: Any
ENGLISH_SMALL_WORDS: Any
class UNIX_LINE_TERMINATOR(csv.excel):
lineterminator: str = ...
def encode(s: Any): ...
TRANSLATED_ELEMENTS: Any
TRANSLATED_ATTRS: Any
avoid_pattern: Any
node_pattern: Any
def translate_xml_node(node: Any, callback: Any, parse: Any, serialize: Any): ...
def parse_xml(text: Any): ...
def serialize_xml(node: Any): ...
def parse_html(text: Any): ...
def serialize_html(node: Any): ...
def xml_translate(callback: Any, value: Any): ...
def html_translate(callback: Any, value: Any): ...
def translate(cr: Any, name: Any, source_type: Any, lang: Any, source: Optional[Any] = ...): ...
class GettextAlias:
def __call__(self, source: Any): ...
_ = GettextAlias()
def quote(s: Any): ...
re_escaped_char: Any
re_escaped_replacements: Any
def unquote(str: Any): ...
class PoFile:
buffer: Any = ...
def __init__(self, buffer: Any) -> None: ...
lines: Any = ...
lines_count: Any = ...
first: bool = ...
extra_lines: Any = ...
def __iter__(self): ...
def cur_line(self): ...
def next(self): ...
__next__: Any = ...
def write_infos(self, modules: Any) -> None: ...
def write(self, modules: Any, tnrs: Any, source: Any, trad: Any, comments: Optional[Any] = ...) -> None: ...
def trans_export(lang: Any, modules: Any, buffer: Any, format: Any, cr: Any) -> None: ...
def trans_parse_rml(de: Any): ...
def in_modules(object_name: Any, modules: Any): ...
def babel_extract_qweb(fileobj: Any, keywords: Any, comment_tags: Any, options: Any): ...
def trans_generate(lang: Any, modules: Any, cr: Any): ...
def trans_load(cr: Any, filename: Any, lang: Any, verbose: bool = ..., module_name: Optional[Any] = ..., context: Optional[Any] = ...): ...
def trans_load_data(cr: Any, fileobj: Any, fileformat: Any, lang: Any, lang_name: Optional[Any] = ..., verbose: bool = ..., module_name: Optional[Any] = ..., context: Optional[Any] = ...) -> None: ...
def get_locales(lang: Optional[Any] = ...) -> None: ...
def resetlocale(): ...
def load_language(cr: Any, lang: Any) -> None: ...

View File

@@ -0,0 +1,31 @@
# Stubs for odoo.tools.view_validation (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
def valid_view(arch: Any): ...
def validate(*view_types: Any): ...
def relaxng(view_type: Any): ...
def schema_valid(arch: Any): ...
def valid_page_in_book(arch: Any): ...
def valid_field_in_graph(arch: Any): ...
def valid_field_in_tree(arch: Any): ...
def valid_att_in_field(arch: Any): ...
def valid_att_in_label(arch: Any): ...
def valid_att_in_form(arch: Any): ...
def valid_type_in_colspan(arch: Any): ...
def valid_type_in_col(arch: Any): ...
def valid_alternative_image_text(arch: Any): ...
def valid_alternative_icon_text(arch: Any): ...
def valid_title_icon(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,14 @@
# Stubs for odoo.tools.which (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
__docformat__: str
ENOENT: int
windows: Any
seen: Any
defpathext: Any
def which_files(file: Any, mode: Any = ..., path: Optional[Any] = ..., pathext: Optional[Any] = ...) -> None: ...
def which(file: Any, mode: Any = ..., path: Optional[Any] = ..., pathext: Optional[Any] = ...): ...

View File

@@ -0,0 +1,7 @@
# Stubs for odoo.tools.win32 (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any
def nl_langinfo(param: Any): ...

View File

@@ -0,0 +1,9 @@
# Stubs for odoo.tools.xml_utils (Python 3)
#
# NOTE: This dynamically typed stub was automatically generated by stubgen.
from typing import Any, Optional
def check_with_xsd(tree_or_str: Any, stream: Any) -> None: ...
def create_xml_node_chain(first_parent_node: Any, nodes_list: Any, last_node_value: Optional[Any] = ...): ...
def create_xml_node(parent_node: Any, node_name: Any, node_value: Optional[Any] = ...): ...