From 4352284983cff4ecb97694f5a0970c8e64c6ce06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Ml=C3=A1dek?= Date: Sun, 20 Jun 2021 17:39:30 +0200 Subject: [PATCH] also insert types in ksx script --- tools/fromksx/fromksx.py | 10 +++++++++- tools/upend/upend/upend.py | 6 ++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/tools/fromksx/fromksx.py b/tools/fromksx/fromksx.py index 780f5ee..e420c5f 100644 --- a/tools/fromksx/fromksx.py +++ b/tools/fromksx/fromksx.py @@ -1,6 +1,7 @@ import hashlib import logging from dataclasses import dataclass +from operator import add import click import colorama @@ -109,13 +110,20 @@ def main(db_name, db_user, db_password, db_host, db_port): f"Out of {len(trackfiles)} trackfiles, and out of {len(hashed_files)} files in UpEnd, {len(tf_and_ue)} are present in both." ) - # logger.info("Inserting types...") + logger.info("Inserting types...") + ksx_type_result = upend.insert((None, "TYPE", "KSX_TRACK_MOODS")) + ksx_type_addr = list(ksx_type_result.values())[0]["entity"] + upend.insert((ksx_type_addr, "TYPE_REQUIRES", "KSX_ENERGY")) + upend.insert((ksx_type_addr, "TYPE_REQUIRES", "KSX_SERIOUSNESS")) + upend.insert((ksx_type_addr, "TYPE_REQUIRES", "KSX_TINT")) + upend.insert((ksx_type_addr, "TYPE_REQUIRES", "KSX_MATERIALS")) logger.info("Inserting mood data...") for sum in tqdm(tf_and_ue): tf = sha256_trackfiles[sum] address = sha256_entities[sum] + upend.insert((address, "IS", ksx_type_addr), value_type="Address") upend.insert((address, "KSX_ENERGY", tf.energy)) upend.insert((address, "KSX_SERIOUSNESS", tf.seriousness)) upend.insert((address, "KSX_TINT", tf.tint)) diff --git a/tools/upend/upend/upend.py b/tools/upend/upend/upend.py index 51d0cec..cdb3ae2 100644 --- a/tools/upend/upend/upend.py +++ b/tools/upend/upend/upend.py @@ -88,7 +88,9 @@ class UpEnd: for chunk in request.iter_content(chunk_size=chunk_size): yield chunk - def insert(self, entry: Union[UpEndTriplet, UpEndEntry]) -> Dict[str, Any]: + def insert( + self, entry: Union[UpEndTriplet, UpEndEntry], value_type: str = "Value" + ) -> Dict[str, Any]: entry_out = None if type(entry) is tuple: entry_out = UpEndEntry(*entry) @@ -102,7 +104,7 @@ class UpEnd: json={ "entity": entry_out.entity, "attribute": entry_out.attribute, - "value": {"t": "Value", "c": entry_out.value}, + "value": {"t": value_type, "c": entry_out.value}, }, ) request.raise_for_status()