[MIG] upgrade_analysis from 14.0 to 15.0

pull/2417/head
Sylvain LE GAL 2021-10-21 00:20:36 +02:00 committed by Stefan Rijnhart
parent 767fb01fa1
commit a3336031ed
10 changed files with 18 additions and 45 deletions

View File

@ -5,7 +5,7 @@
"name": "Upgrade Analysis", "name": "Upgrade Analysis",
"summary": "Performs a difference analysis between modules" "summary": "Performs a difference analysis between modules"
" installed on two different Odoo instances", " installed on two different Odoo instances",
"version": "14.0.2.1.1", "version": "15.0.1.0.1",
"category": "Migration", "category": "Migration",
"author": "Therp BV, Opener B.V., GRAP, Odoo Community Association (OCA)", "author": "Therp BV, Opener B.V., GRAP, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/server-tools", "website": "https://github.com/OCA/server-tools",

View File

@ -1,27 +0,0 @@
# Copyright 2021 ForgeFlow S.L. (https://www.forgeflow.com)
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from openupgradelib import openupgrade
_model_renames = [
("openupgrade.analysis.wizard", "upgrade.analysis"),
("openupgrade.attribute", "upgrade.attribute"),
("openupgrade.comparison.config", "upgrade.comparison.config"),
("openupgrade.record", "upgrade.record"),
("openupgrade.generate.records.wizard", "upgrade.generate.record.wizard"),
("openupgrade.install.all.wizard", "upgrade.install.wizard"),
]
_table_renames = [
("openupgrade_analysis_wizard", "upgrade_analysis"),
("openupgrade_attribute", "upgrade_attribute"),
("openupgrade_comparison_config", "upgrade_comparison_config"),
("openupgrade_record", "upgrade_record"),
("openupgrade_generate_records_wizard", "upgrade_generate_record_wizard"),
("openupgrade_install_all_wizard", "upgrade_install_wizard"),
]
@openupgrade.migrate()
def migrate(env, version):
openupgrade.rename_models(env.cr, _model_renames)
openupgrade.rename_tables(env.cr, _table_renames)

View File

@ -429,10 +429,8 @@ class UpgradeAnalysis(models.Model):
root_node_noupdate = nodeattr2bool(root_node, "noupdate", False) root_node_noupdate = nodeattr2bool(root_node, "noupdate", False)
if root_node.tag not in ("openerp", "odoo", "data"): if root_node.tag not in ("openerp", "odoo", "data"):
raise ValidationError( raise ValidationError(
_( _("Unexpected root Element: %(root)s in file: %(file)s")
"Unexpected root Element: %s in file: %s" % {"root": root_node.getroot(), "file": xml_file}
% (root_node.getroot(), xml_file)
)
) )
for node in root_node: for node in root_node:
if node.tag == "data": if node.tag == "data":

View File

@ -43,11 +43,11 @@ class UpgradeComparisonConfig(models.Model):
self.ensure_one() self.ensure_one()
try: try:
remote = odoorpc.ODOO(self.server, port=self.port) remote = odoorpc.ODOO(self.server, port=self.port)
except URLError: except URLError as exc:
raise UserError( raise UserError(
_("Could not connect the Odoo server at %s:%s") _("Could not connect the Odoo server at %(server)s:%(port)s")
% (self.server, self.port) % {"server": self.server, "port": self.port}
) ) from exc
remote.login(self.database, self.username, self.password) remote.login(self.database, self.username, self.password)
self.version = remote.version self.version = remote.version
return remote return remote
@ -60,7 +60,7 @@ class UpgradeComparisonConfig(models.Model):
ids = user_model.search([("login", "=", "admin")]) ids = user_model.search([("login", "=", "admin")])
user_info = user_model.read([ids[0]], ["name"])[0] user_info = user_model.read([ids[0]], ["name"])[0]
except Exception as e: except Exception as e:
raise UserError(_("Connection failed.\n\nDETAIL: %s") % e) raise UserError(_("Connection failed.\n\nDETAIL: %s") % e) from e
return { return {
"type": "ir.actions.client", "type": "ir.actions.client",
"tag": "display_notification", "tag": "display_notification",

View File

@ -152,7 +152,9 @@ class UpgradeRecord(models.Model):
with open(os.path.join(addon_dir, manifest_name), "r") as f: with open(os.path.join(addon_dir, manifest_name), "r") as f:
manifest_string = f.read() manifest_string = f.read()
return ast.literal_eval(manifest_string) return ast.literal_eval(manifest_string)
raise ValidationError(_("No manifest found in %s" % addon_dir)) raise ValidationError(
_("No manifest found in %(addon_dir)s") % {"addon_dir": addon_dir}
)
@api.model @api.model
def get_xml_records(self, module): def get_xml_records(self, module):

View File

@ -141,7 +141,7 @@ def log_model(model, local_registry):
} }
if v.type == "selection": if v.type == "selection":
if isinstance(v.selection, (tuple, list)): if isinstance(v.selection, (tuple, list)):
properties["selection_keys"] = str(sorted([x[0] for x in v.selection])) properties["selection_keys"] = str(sorted(x[0] for x in v.selection))
else: else:
properties["selection_keys"] = "function" properties["selection_keys"] = "function"
elif v.type == "binary": elif v.type == "binary":