From ecbe06b61c69d189f1d16fcc37476bbed304d1f4 Mon Sep 17 00:00:00 2001 From: Sierra Date: Wed, 14 Oct 2020 20:59:04 -0400 Subject: [PATCH] post verification and print post link --- tootgopher.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/tootgopher.py b/tootgopher.py index b2c8a27..f487aab 100755 --- a/tootgopher.py +++ b/tootgopher.py @@ -9,6 +9,7 @@ def load_config() -> dict: return config_data # create Mastodon object using stored API secrets +# TODO: load config from $XDG_CONFIG_HOME def gen_masto_obj(config_data: dict) -> Mastodon: m = Mastodon( access_token = config_data['token'], @@ -24,19 +25,38 @@ def gen_url(config_data: dict, phlog_file: str) -> dict: urls = {'gopher':gopher_url, 'proxy':proxy_url} return urls +# display post contents and verify with the user +def post_check(post: str) -> bool: + print('You are about to post') + print() + print(post) + print() + will_continue = input("Continue? [y/N] ") + print() + return will_continue.upper() in ['Y', 'YES'] + def main(): + # load config.json # TODO: handle command line switches to override defaults config_data = load_config() m = gen_masto_obj(config_data) + # generate URLs + # TODO: prompt for phlog path phlog_file = 'test.txt' urls = gen_url(config_data, phlog_file) + # get post description, generate post text # TODO: Spawn $EDITOR, content warnings text = "Test post, please ignore" post = f"{text}\n\nGopher: {urls['gopher']}\nHTML Proxy: {urls['proxy']}" - m.status_post(post, visibility=config_data['visibility']) + # verify the post with the user and post it + if post_check(post): + toot_dict = m.status_post(post, visibility=config_data['visibility']) + print(f"Posted at {toot_dict['url']}") + else: + print('Aborted.') if __name__ == '__main__': main()