Slackbot
08/04/2022, 8:01 PMStefan Krawczyk
08/04/2022, 8:04 PMStefan Krawczyk
08/04/2022, 8:05 PMBrian Ritz
08/04/2022, 8:06 PMBrian Ritz
08/04/2022, 8:06 PMBrian Ritz
08/04/2022, 8:07 PMStefan Krawczyk
08/04/2022, 8:07 PMStefan Krawczyk
08/04/2022, 8:10 PMBrian Ritz
08/04/2022, 8:10 PMStefan Krawczyk
08/04/2022, 8:26 PMcategory_tag
and subcateogry_tag
functions, and instead provide them as inputs + setting defaults on the category
and subcategory
functions.
E.g.
def subcategory(data: list, subcategory_tag: str = None) -> str:
if subcategory_tag is None:
return None
d = {d['subcategory_tag']: d['subcategory'] for d in data}
return d[subcategory_tag]
def category(data: list, subcategory: str, category_tag: str = None) -> str:
if category_tag is None and subcategory is None:
raise ValueError
if category_tag is not None:
d = {d['category_tag']: d['category'] for d in data}
else:
d = {d['subcategory']: d['category'] for d in data}
val = category_tag if category_tag is not None else subcategory
return d[val]
and thus the driver looks like:
dr = driver.Driver({}, my_functions, adapter=SimplePythonGraphAdapter(DictResult))
result_1 = dr.execute(['category'], inputs={"category_tag": "PB"})
print(result_1)
result_2 = dr.execute(['category'], inputs={"subcategory_tag": "NPB"})
print(result_2)
Stefan Krawczyk
08/04/2022, 8:30 PMdef subcategory(data: list, subcategory_tag: str) -> str:
d = {d['subcategory_tag']: d['subcategory'] for d in data}
return d[subcategory_tag]
@config.when_not(category_tag=None)
def category__cat_tag(data: list, category_tag: str) -> str:
d = {d['category_tag']: d['category'] for d in data}
return d[category_tag]
@config.when_not(subcategory_tag=None)
def category__subcat_tag(data: list, subcategory: str) -> str:
d = {d['subcategory']: d['category'] for d in data}
return d[subcategory]
and then driver code:
dr = driver.Driver({"category_tag": "PB"}, my_functions, adapter=SimplePythonGraphAdapter(DictResult))
result_1 = dr.execute(['category'])
print(result_1)
dr = driver.Driver({"subcategory_tag": "NPB"}, my_functions, adapter=SimplePythonGraphAdapter(DictResult))
result_2 = dr.execute(['category'])
print(result_2)
Brian Ritz
08/04/2022, 8:32 PMStefan Krawczyk
08/04/2022, 8:33 PMBrian Ritz
08/04/2022, 8:33 PMElijah Ben Izzy
08/04/2022, 9:45 PM