Skip to content
Snippets Groups Projects

Added the management of configuration settings in JSON RPC import of CSV files.

Closed Etienne Ferriere requested to merge topic/default/TG-407 into branch/default
Files
6
+ 85
0
 
#!/usr/bin/env python3
 
"""Post import CSV setup script.
 
"""
 
import logging
 
import sys
 
 
from .odoo import odoo_connect_parser, odoo_login
 
from .parsing import logging_from_verbose
 
 
_logger = logging.getLogger(__name__)
 
 
__version__ = "1.0.0"
 
__date__ = "2021-03-31"
 
__updated__ = "2021-03-31"
 
 
 
def do_actions(
 
login: str,
 
password: str,
 
database: str,
 
protocol: str,
 
host: str,
 
port: int,
 
timeout: int,
 
) -> int:
 
o, session_id = odoo_login(
 
database, host, login, password, port, protocol, timeout
 
)
 
 
# Update configuration settings.
 
_logger.info("Uninstall configuration settings")
 
setting_ids = o.env["res.config.settings"].search([])
 
if setting_ids:
 
o.execute("res.config.settings", "execute", setting_ids)
 
o.env["res.config.settings"].unlink(setting_ids)
 
 
return 0
 
 
 
def main(argv=None): # IGNORE:C0111
 
"""Parse arguments and launch conversion
 
"""
 
program_version = __version__
 
program_build_date = str(__updated__)
 
program_version_message = "%%(prog)s %s (%s)" % (
 
program_version,
 
program_build_date,
 
)
 
program_shortdesc = __doc__.split(".")[0]
 
program_license = """%s
 
 
Created by Vincent Hatakeyama on %s.
 
Copyright 2021 XCG Consulting. All rights reserved.
 
 
Licensed under the MIT License
 
 
Distributed on an "AS IS" basis without warranties
 
or conditions of any kind, either express or implied.
 
 
USAGE
 
""" % (
 
program_shortdesc,
 
str(__date__),
 
)
 
# Argument parsing
 
parser = odoo_connect_parser(program_license, program_version_message)
 
 
nmspc = parser.parse_args(argv)
 
logging_from_verbose(nmspc)
 
 
return do_actions(
 
login=nmspc.login,
 
password=nmspc.password,
 
port=nmspc.port,
 
host=nmspc.host,
 
protocol=nmspc.protocol,
 
timeout=nmspc.timeout,
 
database=nmspc.database,
 
)
 
 
 
if __name__ == "__main__":
 
return_code = main(sys.argv[1:])
 
if return_code:
 
exit(return_code)
Loading