#!/usr/bin/python3
from lib.authentication import authenticate_mastodon
def setup_mastodon_data(config):
"""
Setup the config import and client
Returns:
obj -- Mastodon client object
if(config['access_token'] and config['api_base_url']):
client = authenticate_mastodon(config)
else:
print('Mastodon API information missing/incomplete, skipping...')
return
return client
def mastodon_upload_media(config, media_files, body):
Upload the archived media and original body text as a Mastodon status
Arguments:
media_files {str} -- Filenames for the uploaded media
body {str} -- String describing the original body text of the Tweet
mastodon = setup_mastodon_data(config)
media_id_list = []
for media in media_files:
media_id_list.append(mastodon.media_post(
media_file=f'data/{media}', description='Sorry, this was a Twitter echo so there\'s no description :(', focus=(0, 0)))
try:
output = mastodon.status_post(
body, spoiler_text='Automated Twitter Repost', media_ids=media_id_list, visibility='public')
print(output)
except Exception as e:
print('There was some issue posting to Mastodon.')
print(e)