Skip to content

Commit

Permalink
Add type hints to process_key
Browse files Browse the repository at this point in the history
  • Loading branch information
mvdbeek committed Apr 2, 2024
1 parent 8158772 commit 3d1ef1e
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions lib/galaxy/tools/parameters/wrapped.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
from collections import UserDict
from typing import Dict
from typing import (
Any,
Dict,
List,
)

from galaxy.tools.parameters.basic import (
DataCollectionToolParameter,
Expand Down Expand Up @@ -158,7 +162,7 @@ def make_list_copy(from_list):
return new_list


def process_key(incoming_key, incoming_value, d):
def process_key(incoming_key: str, incoming_value: Any, d: Dict[str, Any]):
key_parts = incoming_key.split("|")
if len(key_parts) == 1:
# Regular parameter
Expand All @@ -168,10 +172,10 @@ def process_key(incoming_key, incoming_value, d):
d[incoming_key] = incoming_value
elif key_parts[0].rsplit("_", 1)[-1].isdigit():
# Repeat
input_name, index = key_parts[0].rsplit("_", 1)
index = int(index)
input_name, _index = key_parts[0].rsplit("_", 1)
index = int(_index)
d.setdefault(input_name, [])
newlist = [{} for _ in range(index + 1)]
newlist: List[Dict[Any, Any]] = [{} for _ in range(index + 1)]
d[input_name].extend(newlist[len(d[input_name]) :])
subdict = d[input_name][index]
process_key("|".join(key_parts[1:]), incoming_value=incoming_value, d=subdict)
Expand All @@ -183,8 +187,8 @@ def process_key(incoming_key, incoming_value, d):
process_key("|".join(key_parts[1:]), incoming_value=incoming_value, d=subdict)


def flat_to_nested_state(incoming):
nested_state = {}
def flat_to_nested_state(incoming: Dict[str, Any]):
nested_state: Dict[str, Any] = {}
for key, value in incoming.items():
process_key(key, value, nested_state)
return nested_state
Expand Down

0 comments on commit 3d1ef1e

Please sign in to comment.