-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsimplebot_cubaweather.py
47 lines (40 loc) · 1.18 KB
/
simplebot_cubaweather.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
39
40
41
42
43
44
45
46
47
"""
Search weather info using cuba-weather from redcuba.cu
"""
import simplebot
from cuba_weather import RCApiClient
__version__ = '1.0.0'
template = '\n\n'.join((
'🌐 {}',
'📅 {}',
'⛅ Estado: {}',
'🌡 Temperatura: {}°C',
'💧 Humedad: {}%',
'Presión atmosférica: {} hpa',
'🌬 Vientos:\n{}',
))
@simplebot.command
def cuwtr(payload, replies):
"""Obtén el estado del tiempo en Cuba. Ejemplo: /cuwtr Santiago"""
if payload:
weather = RCApiClient().get(payload, suggestion=True)
replies.add(
text=template.format(
weather.city_name,
weather.timestamp,
weather.general,
weather.temperature,
weather.humidity,
weather.pressure,
weather.wind,
)
)
else:
replies.add(
text='Envíame una localidad de Cuba, ej.: /cuwtr Santiago')
class TestCuwtr:
def test_cuwtr(self, mocker):
msg = mocker.get_one_reply('/cuwtr')
assert 'Envíame una localidad' in msg.text
msg = mocker.get_one_reply('/cuwtr Santiago')
assert 'Temperatura:' in msg.text