From 64ecf3849ada5bf827f0346cd8e966421ad313b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthieu=20M=C3=A9quignon?= Date: Tue, 4 Feb 2020 16:46:20 +0100 Subject: [PATCH 1/2] Add a new function that allows to create a noupdate record --- anthem/lyrics/records.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/anthem/lyrics/records.py b/anthem/lyrics/records.py index 9accc44..4dc1f32 100644 --- a/anthem/lyrics/records.py +++ b/anthem/lyrics/records.py @@ -28,6 +28,18 @@ def add_xmlid(ctx, record, xmlid, noupdate=False): }) +def create(ctx, model, xmlid, values, noupdate=False): + """ Create a record matching xmlid with values """ + if isinstance(model, basestring): + model = ctx.env[model] + + record = ctx.env.ref(xmlid, raise_if_not_found=False) + if not record: + record = model.create(values) + add_xmlid(ctx, record, xmlid, noupdate) + return record + + def create_or_update(ctx, model, xmlid, values): """ Create or update a record matching xmlid with values """ if isinstance(model, basestring): From 45af30e1a96e31dd1753319c77853f0852677c2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthieu=20M=C3=A9quignon?= Date: Wed, 12 Feb 2020 08:50:51 +0100 Subject: [PATCH 2/2] fixup! Add a new function that allows to create a noupdate record --- anthem/lyrics/records.py | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/anthem/lyrics/records.py b/anthem/lyrics/records.py index 4dc1f32..73a6043 100644 --- a/anthem/lyrics/records.py +++ b/anthem/lyrics/records.py @@ -28,19 +28,7 @@ def add_xmlid(ctx, record, xmlid, noupdate=False): }) -def create(ctx, model, xmlid, values, noupdate=False): - """ Create a record matching xmlid with values """ - if isinstance(model, basestring): - model = ctx.env[model] - - record = ctx.env.ref(xmlid, raise_if_not_found=False) - if not record: - record = model.create(values) - add_xmlid(ctx, record, xmlid, noupdate) - return record - - -def create_or_update(ctx, model, xmlid, values): +def create_or_update(ctx, model, xmlid, values, noupdate=False): """ Create or update a record matching xmlid with values """ if isinstance(model, basestring): model = ctx.env[model] @@ -50,7 +38,7 @@ def create_or_update(ctx, model, xmlid, values): record.update(values) else: record = model.create(values) - add_xmlid(ctx, record, xmlid) + add_xmlid(ctx, record, xmlid, noupdate) return record