-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
i_can_haz_dad_joke.py
38 lines (29 loc) · 1.04 KB
/
i_can_haz_dad_joke.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import argparse
import requests
def _parse_args():
parser = argparse.ArgumentParser()
parser.add_argument('jokes_amount', type=int)
return parser.parse_args()
def print_jokes(jokes_amount):
api_url = 'https://icanhazdadjoke.com/'
headers = {
'Accept': 'application/json'
}
for i in range(0, jokes_amount):
response = requests.get(api_url, headers=headers)
response_json = response.json()
joke_id = response_json['id']
joke_text = response_json['joke']
print('{idx} [{joke_id}]: {joke_text}'.format(
idx=i + 1,
joke_id=joke_id,
joke_text=joke_text
))
joke_image_url = 'https://icanhazdadjoke.com/j/{joke_id}.png'.format(joke_id=joke_id)
joke_image_path = 'img/{joke_id}.png'.format(joke_id=joke_id)
response = requests.get(joke_image_url)
with open(joke_image_path, 'wb') as f:
f.write(response.content)
if __name__ == '__main__':
args = _parse_args()
print_jokes(args.jokes_amount)