Python Salvitobot Documentation Release 0.4.1
Audrey Roy
March 08, 2015
Contents
1
En construcción!
3
2
SalvitoBot
5
3
Funcionamiento
7
4
Código fuente
9
5
Requisitos
11
6
Instalación
13
7
Configuración
15
8
Uso
17
9
Installation
19
10 Usage
21
11 HISTORY 11.1 0.4.1 (2015-03-07) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23 23
12 Indices and tables
25
i
ii
Python Salvitobot Documentation, Release 0.4.1
Contents:
Contents
1
Python Salvitobot Documentation, Release 0.4.1
2
Contents
CHAPTER 1
En construcción!
3
Python Salvitobot Documentation, Release 0.4.1
4
Chapter 1. En construcción!
CHAPTER 2
SalvitoBot
Estamos muy lejos de estar preparados para evacuar la costa peruana en caso de emergencia debido a tsunamis. Por eso aquí en el uterope hemos programado un Twitter bot para que nos alerte en caso de sismos y tsunamis.
5
Python Salvitobot Documentation, Release 0.4.1
6
Chapter 2. SalvitoBot
CHAPTER 3
Funcionamiento
Este bot, @SalvitoBot, se activa automáticamente cada 5 minutos y extrae información en real-time sobre sismos y tsunamis de estas dos fuentes: • Pacific Tsunami Warning Center (NOA) • USGS Earthquake Hazards Program Estas dos páginas webs proveen información estructurada de tal manera que es fácilmente procesable por software de computadora. @SalvitoBot consume la información en formato GeoJSON y XML desde esas dos fuentes. En el caso haya algún reporte de sismo o tsunami para Chile y Perú, este bot emitirá un tuit como estos: https://twitter.com/salvitobot/status/451570699275337728 https://twitter.com/salvitobot/status/451567670815510528 La idea es que estos tuits se emitirán tan pronto aparezcan en los reportes emitidos por el PTWC de la NOA y el USCGS. Este bot estará alerta y activo día y noche, de madrugada, todos los días (no solo en horario de oficina). Hemos configurado para que @SalvitoBot emita los tuits con mention a la cuenta de @IndeciPeru para que puedan alertar al resto de tuiteros y la información se propague más rápido.
7
Python Salvitobot Documentation, Release 0.4.1
8
Chapter 3. Funcionamiento
CHAPTER 4
Código fuente
Este bot es MADE IN UTERO y además es opensource. https://github.com/utero/salvitobot/
Aquí encontrarás el código fuente:
@SalvitoBot ha sido sometido a varias pruebas pero la prueba de fuego de su funcionamiento y utilidad será cuando ocurra el próximo sismo dentro de territorio peruano o chileno. PS. Desde luego que este método es muy rudimentario y sería mucho mejor si las autoridades se ponen las pilas e instalan un servicio parecido al que tienen en Chile. Por mientras, hacemos lo que está dentro de nuestras posibilidades para ayudar.
9
Python Salvitobot Documentation, Release 0.4.1
10
Chapter 4. Código fuente
CHAPTER 5
Requisitos
• Python3.4
11
Python Salvitobot Documentation, Release 0.4.1
12
Chapter 5. Requisitos
CHAPTER 6
Instalación
pip install salvitobot
13
Python Salvitobot Documentation, Release 0.4.1
14
Chapter 6. Instalación
CHAPTER 7
Configuración
Renombrar el archivo config.json.bak a config.json y agregar constraseñas y claves secretas: { "twitter_key": "", "twitter_secret": "", "twitter_token": "", "twitter_token_secret": "", "wordpress_client": "https://mydomain.wordpress.com/xmlrpc.php", "wordpress_username": "usuario", "wordpress_password": "contrasena" }
Las información que deber ir en twitter_key, twitter_secret, twitter_token y twitter_token_secret se obtiene al registrar una nueva “app” en Twitter. Para eso debes dirigirte a esta página https://apps.twitter.com/
15
Python Salvitobot Documentation, Release 0.4.1
16
Chapter 7. Configuración
CHAPTER 8
Uso
Encuentra sismos recientes para Perú: >>> >>> >>> >>> []
import salvitobot bot = salvitobot.Bot() bot.get_quake(country=’Peru’) bot.quake
Encuentra sismos recientes para Venezuela:
>>> bot.get_quake(country=’Venezuela’) >>> bot.quake [{’tz’: -240, ’depth’: 72.38, ’time’: 1423173055590, ’datetime_utc’: datetime.datetime(2015, 2, 5, 21, 50, 55, 589999, tzinfo=), ’longitude’: -62.0483, ’tuit’: ’SISMO. 4.7 grados mb en 58km NNE of Gueiria, Venezuela. A horas http://earthquake.usgs.gov/ ’link’: ’http://earthquake.usgs.gov/earthquakes/eventpage/usc000tmka’, ’type’: ’earthquake’, ’place’: ’58km NNE of Gueiria, Venezuela’, ’magnitude’: 4.7, ’magnitude_type’: ’mb’, ’code’: ’c000tmka’, ’latitude’: 11.0419}]]
Averigua si este sismo es nuevo y no está en la base de datos: >>> bot.is_new_quake() True
Ya que es nuevo, escribe un post y publícalo en WordPress: >>> bot.write_stories() Un temblor de mediana magnitud de 4.7 grados tuvo lugar el 05 Feb, 2015 por la tarde a 58km NNE of Gueiria, Venezuela según el Servicio Geológico de EE.UU. El temblor se produjo a las 21:50 de la tarde, del Tiempo universal coordinado (UTC), a una profundidad de 72.38 kilómetros. Según el USGS, el epicentro se ubicó a _related_place_.
17
Python Salvitobot Documentation, Release 0.4.1
En los últimos _days_ días, no se registraron temblores de magnitud 3.0 o mayores en esta zona. La información proviene del USGS Earthquake Notification Service. Este post fue elaborado por un algoritmo escrito por el autor.
Puedes postear el texto en tu blog Wordpress, envíe un tuit y por email: >>> bot.post_to_wp() >>> bot.tweet() >>> bot.send_email_to([’
[email protected]’])
Lee la documentación completa aquí: http://salvitobot.readthedocs.org/en/latest/ salvitobot was written by AniversarioPeru.
18
Chapter 8. Uso
CHAPTER 9
Installation
At the command line: $ easy_install salvitobot
Or, if you have virtualenvwrapper installed: $ mkvirtualenv salvitobot $ pip install salvitobot
19
Python Salvitobot Documentation, Release 0.4.1
20
Chapter 9. Installation
CHAPTER 10
Usage
Encuentra sismos recientes para Perú: >>> >>> >>> >>> []
from salvitobot import Bot bot = Bot() bot.get_quake(country=’Peru’) bot.quake
Encuentra sismos recientes para Venezuela:
>>> bot.get_quake(country=’Venezuela’) >>> bot.quake [{’tz’: -240, ’depth’: 72.38, ’time’: 1423173055590, ’datetime_utc’: datetime.datetime(2015, 2, 5, 21, 50, 55, 589999, tzinfo=), ’longitude’: -62.0483, ’tuit’: ’SISMO. 4.7 grados mb en 58km NNE of Gueiria, Venezuela. A horas http://earthquake.usgs.gov/ ’link’: ’http://earthquake.usgs.gov/earthquakes/eventpage/usc000tmka’, ’type’: ’earthquake’, ’place’: ’58km NNE of Gueiria, Venezuela’, ’magnitude’: 4.7, ’magnitude_type’: ’mb’, ’code’: ’c000tmka’, ’latitude’: 11.0419}]]
Averigua si este sismo es nuevo y no está en la base de datos: >>> bot.is_new_quake() True
Ya que es nuevo, escribe un post pero no lo publiques aún: >>> bot.write_stories() Un temblor de mediana magnitud de 4.7 grados tuvo lugar el 05 Feb, 2015 por la tarde a 58km NNE of Gueiria, Venezuela según el Servicio Geológico de EE.UU. El temblor se produjo a las 21:50 de la tarde, del Tiempo universal coordinado (UTC), a una profundidad de 72.38 kilómetros. Según el USGS, el epicentro se ubicó a 2 km al SW de Umuquena, y a 18 km al E de La Fria, Venezuela.
21
Python Salvitobot Documentation, Release 0.4.1
La información proviene del USGS Earthquake Notification Service. Este post fue elaborado por un algoritmo escrito por el autor.
Publica el post en tu instalación de WordPress: >>> bot.post_to_wp()
Salvitobot intentará adivinar el URL de tu post: >>> bot.post_urls [’https://example.wordpress.com/2015/02/06/blah-blah/’]
Si no quieres que Salvitobot postee automáticamente en tu blog de Wordpress, puedes pedir a Salvitobot que te envíe la nota periodística a tu email: >>> bot.send_email_to([’
[email protected]’, ’
[email protected]’])
Y por último, también puedes enviar un tuit avisando del sismo a todos tus seguidores: >>> bot.tweet()
22
Chapter 10. Usage
CHAPTER 11
HISTORY
11.1 0.4.1 (2015-03-07) • Traduce WSW -> OSO.
11.1.1 0.4.0 (2015-03-07) • Usando postgreSQL de manera opcional.
11.1.2 0.3.5 (2015-03-05) • nearby_cities no deben mostrar el país de manera redundante. • agregadas imágenes con la magnitud del sismo
11.1.3 0.3.4 (2015-02-21) • Use salvitobot image as cover in Wordpress posts.
11.1.4 0.3.3 (2015-02-20) • Added magnitude type. • Small fixes in story text.
11.1.5 0.3.2 (2015-02-19) • bot.py script should be above salvitobot module. • fix typo in usage.
11.1.6 0.3.1 (2015-02-19) • Rename modules to avoid import conflicts.
23
Python Salvitobot Documentation, Release 0.4.1
11.1.7 0.3.0 (2015-02-19) • Refactor posting to Wordpress. • Posting to Twitter. • Send stories by email.
11.1.8 0.2.0 (2015-02-07) • Raise exception when Wordpress credentials are not given. Necessary for posting to WordPress. • Save posted item to local database. • Fix bug when checking if item is already in the database. • Get related cities.
11.1.9 0.1.2 (2015-02-06) • Sent to pypi. • Added link to readthedocs.
24
Chapter 11. HISTORY
CHAPTER 12
Indices and tables
• genindex • modindex • search
25