From dac65d6753d08aa32086a376774ceca8240c3723 Mon Sep 17 00:00:00 2001 From: Lorenz Herzberger <64837895+LaurentDeMontBlanc@users.noreply.github.com> Date: Tue, 28 Jun 2022 10:42:13 +0200 Subject: [PATCH] fix get_assets issue (#160) * adjusted get_assets and from_db for tarantool Signed-off-by: Lorenz Herzberger * added comment Signed-off-by: Lorenz Herzberger --- planetmint/backend/tarantool/query.py | 9 ++++++--- planetmint/transactions/common/transaction.py | 3 ++- tests/backend/tarantool/test_queries.py | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/planetmint/backend/tarantool/query.py b/planetmint/backend/tarantool/query.py index 8c28643..25105e7 100644 --- a/planetmint/backend/tarantool/query.py +++ b/planetmint/backend/tarantool/query.py @@ -168,10 +168,13 @@ def get_asset(connection, asset_id: str): def get_assets(connection, assets_ids: list) -> list: _returned_data = [] for _id in list(set(assets_ids)): - asset = get_asset(connection, _id) - _returned_data.append(asset) + res = connection.run( + connection.space("assets").select(_id, index="txid_search") + ) + _returned_data.append(res[0]) - return sorted(_returned_data, key=lambda k: k["id"], reverse=False) + sorted_assets = sorted(_returned_data, key=lambda k: k[1], reverse=False) + return [(json.loads(asset[0]), asset[1]) for asset in sorted_assets] @register_query(TarantoolDBConnection) diff --git a/planetmint/transactions/common/transaction.py b/planetmint/transactions/common/transaction.py index 9189373..6c744f7 100644 --- a/planetmint/transactions/common/transaction.py +++ b/planetmint/transactions/common/transaction.py @@ -693,8 +693,9 @@ class Transaction(object): assets = list(planet.get_assets(tx_ids)) for asset in assets: if asset is not None: + # This is tarantool specific behaviour needs to be addressed tx = tx_map[asset[1]] - tx['asset'] = asset + tx['asset'] = asset[0] tx_ids = list(tx_map.keys()) metadata_list = list(planet.get_metadata(tx_ids)) diff --git a/tests/backend/tarantool/test_queries.py b/tests/backend/tarantool/test_queries.py index 8788d47..7c1a40f 100644 --- a/tests/backend/tarantool/test_queries.py +++ b/tests/backend/tarantool/test_queries.py @@ -58,7 +58,7 @@ def test_write_assets(db_conn): documents = query.get_assets(assets_ids=[asset["id"] for asset in assets], connection=db_conn) assert len(documents) == 3 - assert list(documents)[0] == assets[:-1][0] + assert list(documents)[0][0] == assets[:-1][0] def test_get_assets(db_conn):