salvitobot package

Submodules

salvitobot.api module

class salvitobot.api.Bot[source]

Bases: builtins.object

Main class for Salvitobot.

This is the only contact point with users.

Attrs:

quake: list of quake objects fetched from web service. quakes_to_write: list of quakes that are new to our database and

and need to be tweeted or written about.

urls: sources to fetch data on quakes.

get_quake(my_dict=None, country=None)[source]

Gets quake info from given dict, or the web.

Args:
my_dict: optional, dictionary based on json object from the web
service.

country: required, country to get earthquakes for.

Raises:
NoCountryError: if no country is specified for this method.
is_new_quake(test=None)[source]
Returns:True or False
post_to_wp()[source]
send_email_to(email_receivers)[source]
tweet()[source]
write_stories()[source]

Write story for new quakes.

Returns:text of post

salvitobot.config module

salvitobot.config.get_secret(setting, secrets={'DB_NAME': '', 'DB_PORT': '', 'twitter_secret': '', 'DB_HOST': '', 'wordpress_client': '', 'twitter_key': '', 'DB_PASS': '', 'wordpress_password': '', 'DB_USER': '', 'twitter_token': '', 'wordpress_username': '', 'twitter_token_secret': ''})[source]

salvitobot.exceptions module

exception salvitobot.exceptions.NoCountryError[source]

Bases: builtins.Exception

exception salvitobot.exceptions.NoTwitterToken[source]

Bases: builtins.Exception

exception salvitobot.exceptions.ProcedureError[source]

Bases: builtins.Exception

exception salvitobot.exceptions.ToPublishPostError[source]

Bases: builtins.Exception

exception salvitobot.exceptions.WordPressNotConfigured[source]

Bases: builtins.Exception

salvitobot.salvito_email module

salvitobot.salvito_email.send(email_receivers, stories)[source]

salvitobot.salvito_twitter module

salvitobot.salvito_twitter.get_oauth()[source]
salvitobot.salvito_twitter.post_to_twitter(quakes_to_write)[source]

salvitobot.salvito_wordpress module

salvitobot.salvito_wordpress.make_url(post_title, datetime_local)[source]
salvitobot.salvito_wordpress.post_to_wp(title, content, datetime_local, magnitude)[source]
Parameters:
  • title – Title for post, used to guess post URL
  • content – Body for post
  • datetime_local – local time of earthquake, assumed to be the sames of WordPress instalation. Used to guess post URL
  • magnitude – to use for picking up the corresponding image for WordPress
Returns:

post_url

salvitobot.utils module

salvitobot.utils.create_database(test=None)[source]

Creates a sqlite3 database if not exists. If user gave database credentials, it can use a postgreSQL database.

Test:optional, creates database for testing only
Returns:database handle using dataset
salvitobot.utils.extract_nearby_cities(item, country)[source]
salvitobot.utils.parse_quake_data(data, country)[source]

Extract info about earthquake.

Args:
data: dict object as downloaded from web service. country: string, country to look for earthquake for
Returns:
list of earthquakes.
salvitobot.utils.save_to_db(item, test=None)[source]

Saves quake item to local sqlite3 database.

Parameters:item
salvitobot.utils.translate_string(this_string)[source]

Do silly translation.

Parameters:this_string
Returns:esta_cuerda

salvitobot.writer module

class salvitobot.writer.Writer[source]

Bases: builtins.object

Writes blog posts and uploads to Wordpress.

write_stories(items, country)[source]
Parameters:items – list of earthquake data (as dictionaries)

Module contents