Skip to content

Commit 3180216

Browse files
authored
Merge pull request #1211 from Jakub-Haus/master
Update numbers_api.py
2 parents c31584d + 0dae276 commit 3180216

File tree

1 file changed

+25
-4
lines changed

1 file changed

+25
-4
lines changed

jarviscli/plugins/numbers_api.py

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,12 @@
77
@plugin("numbersapi")
88
def numbersapi(jarvis, s):
99
"""
10-
numbersapi: Displays API
11-
numbersapi <list of numbers>: Displays facts about each number in list"
10+
numbersapi: Displays API facts
11+
numbersapi <list of numbers>: Displays facts about each number in list
12+
numbersapi random trivia: Displays a random trivia fact
13+
numbersapi random date: Displays a random fact about a date
14+
numbersapi random year: Displays a random fact about a year
15+
numbersapi random number: Displays a random number fact
1216
numbersapi help: Prints this help
1317
1418
** Data provided by: http://numbersapi.com/
@@ -19,6 +23,23 @@ def numbersapi(jarvis, s):
1923
jarvis.say(numbersapi.__doc__, Fore.GREEN)
2024
return
2125

26+
if "random" in parts:
27+
if "trivia" in parts:
28+
data = get_data(jarvis, "random/trivia")
29+
elif "date" in parts:
30+
data = get_data(jarvis, "random/date")
31+
elif "year" in parts:
32+
data = get_data(jarvis, "random/year")
33+
elif "number" in parts:
34+
data = get_data(jarvis, "random")
35+
else:
36+
jarvis.say("\tInvalid random type. Use 'trivia', 'date', 'year', or 'number'.", Fore.RED)
37+
return
38+
39+
if data:
40+
jarvis.say(f"\t{data}", Fore.CYAN)
41+
return
42+
2243
if any((not part.isnumeric() for part in parts)):
2344
jarvis.say("\tPlease, pass valid integers as arguments.", Fore.RED)
2445
return
@@ -29,10 +50,10 @@ def numbersapi(jarvis, s):
2950
jarvis.say(f"\t{data}", Fore.CYAN)
3051

3152

32-
def get_data(jarvis, number):
53+
def get_data(jarvis, endpoint):
3354
base_url = "http://numbersapi.com/"
3455
try:
35-
response = requests.get(f"{base_url}{number}")
56+
response = requests.get(f"{base_url}{endpoint}")
3657
return response.text
3758
except requests.exceptions.RequestException:
3859
jarvis.say(f"\tCould not get data from {base_url}", Fore.RED)

0 commit comments

Comments
 (0)