summaryrefslogtreecommitdiff
path: root/common/core.py
diff options
context:
space:
mode:
authorRasmus Luha <rasmus.luha@ut.ee>2025-05-11 23:08:50 +0300
committerRasmus Luha <rasmus.luha@ut.ee>2025-05-11 23:08:50 +0300
commit0cdd22fd88b00bc939eac7824bb1063f675cba84 (patch)
tree2c9d05451a277437baabd18dc07d5902e35174c3 /common/core.py
parent6fa0609ca3a505fbbe6528d6da9928f7847d0078 (diff)
cleanup, comments for common module
Diffstat (limited to 'common/core.py')
-rw-r--r--common/core.py65
1 files changed, 9 insertions, 56 deletions
diff --git a/common/core.py b/common/core.py
index 7fd8cff..c3e3495 100644
--- a/common/core.py
+++ b/common/core.py
@@ -27,8 +27,10 @@ def ask_digit_input(max_index):
print(f" Number ei kuulu valikusse. Palun vali number vahemikus 0-{max_index}.")
-## Checks if api url is correct, if so then returns the json
def is_app_url_correct(api_url, needs_auth, username,passwd):
+ """"
+ Checks if api url is correct, if so then returns the json
+ """"
print("Teostan API kutset...\n")
try:
if needs_auth:
@@ -52,9 +54,10 @@ def is_app_url_correct(api_url, needs_auth, username,passwd):
return None, False
-## TODO - add list level support with porcessors etc
-## Asks the user json item to extract and returns it as dict item-value pair, where item is name and value json path
def inspect_json_top_level(json_data):
+ """"
+ Asks the user json item to extract and returns it as dict item-value pair, where item is name and value json path
+ """"
path = ""
while True:
@@ -90,60 +93,10 @@ def inspect_json_top_level(json_data):
-
-
-###### Other option ##########
-
-def inspect_json_top_level_test(json_data, has_list=False):
- path = ""
- last_key = "value" #Placeholder
-
- while True:
- print(json.dumps(json_data, indent=2))
- print("\nVali json võti või indeks millest soovid väärtuse andmekonveieriga ekstrakteerida\n")
-
- if isinstance(json_data, dict):
- keys = list(json_data.keys())
- for index, key in enumerate(keys):
- value = json_data[key]
- value_type = type(value).__name__
- suggestion = "SplitJson" if isinstance(value, list) else "EvaluateJsonPath"
- print(f" [{index}] {key} ({value_type}) → {suggestion}")
-
- selected_index = ask_digit_input(len(keys) - 1)
- selected_key = keys[selected_index]
- selected_value = json_data[selected_key]
- path += "." + selected_key
- last_key = selected_key
-
- elif isinstance(json_data, list):
- has_list = True
- for index, item in enumerate(json_data):
- item_type = type(item).__name__
- print(f" [{index}] [{item_type}]")
-
- selected_index = ask_digit_input(len(json_data) - 1)
- selected_value = json_data[selected_index]
- path += f"[{selected_index}]"
- last_key = str(selected_index)
-
- else:
- # Primitive value, nothing to dive into
- print(f"\nLõppväärtus: {json_data}")
- return {last_key: path}
-
-
-
- if isinstance(selected_value, (dict, list)):
- json_data = selected_value
- else:
- #print(f"\nValitud väärtus: '{selected_value}'")
- print(f"\nValitud väärtus: '{path}'")
- return {last_key: path}
-
-
def get_data_values():
-
+ """
+ Interaktiivse moodi jaoks. Võimaldab kasutajal parsida API json vastust, et saada teada soovitud filtreeritavad andmeväljad.
+ """
chosen_json_values = {}
##Getting API url and json values