cr-connect-workflow/crc/scripts/fact_service.py
Kelly McDonald a124e13c6a Replace all legacy style calls with new calls.
Still having issues where we try to eval an empty definition, not quite sure why there is a difference from what we had before. I may need to revert some of it and determine what is going on.
2020-07-24 14:33:24 -04:00

47 lines
1.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import requests
from crc.scripts.script import Script
class FactService(Script):
def get_description(self):
return """Just your basic class that can pull in data from a few api endpoints and
do a basic task."""
def get_cat(self):
response = requests.get('https://cat-fact.herokuapp.com/facts/random')
return response.json()['text']
def get_buzzword(self):
response = requests.get('https://corporatebs-generator.sameerkumar.website/')
return response.json()['phrase']
def get_norris(self):
response = requests.get('https://api.chucknorris.io/jokes/random')
return response.json()['value']
def do_task_validate_only(self, task, study_id, workflow_id, **kwargs):
self.do_task(task, study_id, workflow_id, **kwargs)
def do_task(self, task, study_id, workflow_id, **kwargs):
print(task.data)
if "type" not in task.data:
raise Exception("No Fact Provided.")
else:
fact = task.data["type"]
if fact == "cat":
details = "The cat in the hat" # self.get_cat()
elif fact == "norris":
details = "Chuck Norris doesnt read books. He stares them down until he gets the information he wants." # self.get_norris()
elif fact == "buzzword":
details = "Move the Needle." # self.get_buzzword()
else:
details = "unknown fact type."
#self.add_data_to_task(task, details)
print(details)
return details