Browse Source

[MNT] change client search return

tags/v0.3.2
Gene 2 years ago
parent
commit
a31fcd6c18
1 changed files with 22 additions and 21 deletions
  1. +22
    -21
      learnware/client/learnware_client.py

+ 22
- 21
learnware/client/learnware_client.py View File

@@ -216,7 +216,18 @@ class LearnwareClient:
else:
stat_spec = None

returns = []
returns = {
"single": {
"learnware_ids": [],
"semantic_specifications": [],
"matching": [],
},
"multiple": {
"learnware_ids": [],
"semantic_specifications": [],
"matching": None,
},
}
with tempfile.NamedTemporaryFile(prefix="learnware_stat_", suffix=".json") as ftemp:
if stat_spec is not None:
stat_spec.save(ftemp.name)
@@ -245,26 +256,16 @@ class LearnwareClient:
raise Exception("search failed: " + json.dumps(result))

for learnware in result["data"]["learnware_list_single"]:
returns.append(
{
"type": "single",
"learnware_id": learnware["learnware_id"],
"semantic_specification": learnware["semantic_specification"],
"matching": learnware["matching"],
}
)
returns["single"]["learnware_ids"].append(learnware["learnware_id"])
returns["single"]["semantic_specifications"].append(learnware["semantic_specification"])
returns["single"]["matching"].append(learnware["matching"])

if len(result["data"]["learnware_list_multi"]) > 0:
multiple_learnware = {
"type": "multiple",
"learnware_ids": [],
"semantic_specifications": [],
"matching": result["data"]["learnware_list_multi"][0]["matching"],
}
for learnware in result["data"]["learnware_list_multi"]:
multiple_learnware["learnware_ids"].append(learnware["learnware_id"])
multiple_learnware["semantic_specifications"].append(learnware["semantic_specification"])

returns.append(multiple_learnware)
multi_learnware = result["data"]["learnware_list_multi"][0]
returns["multiple"]["learnware_ids"].append(multi_learnware["learnware_id"])
returns["multiple"]["semantic_specifications"].append(multi_learnware["semantic_specification"])
returns["multiple"]["matching"] = learnware["matching"]

return returns

@require_login
@@ -416,7 +417,7 @@ class LearnwareClient:
@staticmethod
def _check_semantic_specification(semantic_spec):
from ..market import EasySemanticChecker
check_status, message = EasySemanticChecker.check_semantic_spec(semantic_spec)
return check_status != BaseChecker.INVALID_LEARNWARE, message



Loading…
Cancel
Save