From f30f1e1d92485b7a1974abf9ff4287fc32b72b3f Mon Sep 17 00:00:00 2001 From: "create-issue-branch[bot]" <53036503+create-issue-branch[bot]@users.noreply.github.com> Date: Tue, 7 Sep 2021 15:44:05 +0200 Subject: [PATCH] Fig bug: broken (dev) CLI command for adding a Sensor (#176) Accept either a generic_asset or a generic_asset_id when initializing a Sensor. * Create draft PR for #175 * Allow passing a GenericAsset or an id * Changelog entry Co-authored-by: Flix6x Co-authored-by: F.N. Claessen --- documentation/changelog.rst | 1 + flexmeasures/data/models/time_series.py | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/documentation/changelog.rst b/documentation/changelog.rst index 8b1193343..ab520b22a 100644 --- a/documentation/changelog.rst +++ b/documentation/changelog.rst @@ -24,6 +24,7 @@ New features Bugfixes ----------- * Fix (dev) CLI command for adding a GenericAssetType [see `PR #173 `_] +* Fix (dev) CLI command for adding a Sensor [see `PR #176 `_] Infrastructure / Support ---------------------- diff --git a/flexmeasures/data/models/time_series.py b/flexmeasures/data/models/time_series.py index db7b8493a..c8d087741 100644 --- a/flexmeasures/data/models/time_series.py +++ b/flexmeasures/data/models/time_series.py @@ -39,10 +39,22 @@ class Sensor(db.Model, tb.SensorDBMixin): ), ) - def __init__(self, name: str, generic_asset: GenericAsset, **kwargs): + def __init__( + self, + name: str, + generic_asset: Optional[GenericAsset] = None, + generic_asset_id: Optional[int] = None, + **kwargs, + ): + assert (generic_asset is None) ^ ( + generic_asset_id is None + ), "Either generic_asset_id or generic_asset must be set." tb.SensorDBMixin.__init__(self, name, **kwargs) tb_utils.remove_class_init_kwargs(tb.SensorDBMixin, kwargs) - kwargs["generic_asset"] = generic_asset + if generic_asset is not None: + kwargs["generic_asset"] = generic_asset + else: + kwargs["generic_asset_id"] = generic_asset_id db.Model.__init__(self, **kwargs) @property