1 | #! /usr/bin/python |
---|
2 | # coding: utf-8 |
---|
3 | import sys |
---|
4 | import requests |
---|
5 | from datetime import datetime |
---|
6 | |
---|
7 | |
---|
8 | def main(): |
---|
9 | import argparse |
---|
10 | parser = argparse.ArgumentParser(description='Get forecast for city.') |
---|
11 | parser.add_argument('-c', '--city', type=str, |
---|
12 | required=True, |
---|
13 | help='City name') |
---|
14 | parser.add_argument('-o', '--output', type=argparse.FileType('w'), |
---|
15 | required=False, default=sys.stdout, |
---|
16 | help='Output') |
---|
17 | |
---|
18 | args = parser.parse_args() |
---|
19 | |
---|
20 | url = "http://api.openweathermap.org/data/2.5/weather" |
---|
21 | |
---|
22 | params = {'q': '{}'.format(args.city), |
---|
23 | 'APPID': '9edd6639ac418ac7e04b9fb9c7d19ffb', |
---|
24 | 'units': 'metric', |
---|
25 | 'lang': 'cz'} |
---|
26 | |
---|
27 | r = requests.get(url=url, params=params) |
---|
28 | data = r.json() |
---|
29 | |
---|
30 | sunset = datetime.utcfromtimestamp(int(data['sys']['sunset'])).strftime('%H:%M:%S') |
---|
31 | |
---|
32 | output = 'Ve městě {} je {} a {} stupňů. '.format(data['name'], data['weather'][0]['description'], data['main']['temp']) |
---|
33 | output += 'Vlhkost ovzduší je {} procent. '.format(data['main']['humidity']) |
---|
34 | output += 'Rychlost větru je {} kilometrů za hodinu. '.format(data['wind']['speed']) |
---|
35 | output += 'Slunce dnes zapadá v {}.\n'.format(sunset) |
---|
36 | |
---|
37 | args.output.write(output) |
---|
38 | |
---|
39 | |
---|
40 | if __name__ == "__main__": |
---|
41 | main() |
---|