cr-connect-workflow/crc/scripts/fact_service.py

43 lines
1.2 KiB
Python

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(self, task, study_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 = self.get_cat()
elif fact == "norris":
details = self.get_norris()
elif fact == "buzzword":
details = self.get_buzzword()
else:
details = "unknown fact type."
task.data['details'] = details
print(details)
return details