From 0dc4c9da55568efedc4453fde1d7db7f92fe1fba Mon Sep 17 00:00:00 2001 From: Castro0o Date: Tue, 19 Mar 2019 16:43:14 +0100 Subject: [PATCH] matching token, toot_id, instances order to get descentans from multiple instances --- answers_mastodonapi.py | 59 ++++++++++++++++++++++++++---------------- token.txt | 2 +- 2 files changed, 37 insertions(+), 24 deletions(-) diff --git a/answers_mastodonapi.py b/answers_mastodonapi.py index 524319c..7d58e24 100644 --- a/answers_mastodonapi.py +++ b/answers_mastodonapi.py @@ -6,35 +6,48 @@ import datetime #toots id and instances position refer to same post #FOR EXAMPLE #toot_id[0] goes with instances[0] + +# IMPORTANT: Ensure the order of elements in toot_id and instances +# Are the same as the order of the tokens tokens.txt toot_id = [101767654564328802, 101767613341391125] instances = ["https://todon.nl/", "https://meow.social/"] +# ok, estou a ver o problem. Cada token correspond a uma instancia +# de forma mas ter que ter a mesma order de instances na lista e de tokens em token.txt +# para isso podemos usar enumerate() no for loop +# utilizando a variavel n (numero da iteração) para determinar qual dos items de instances, +# é a instance de aquele token +# Outro problem: token.readlines() acrescenta um line break ao token: \n +# deforma the of temos que remove em access_token=token_line.replace('\n','') + #toots token order is also the same #FOR EXAMPLE #toot_id[0] goes with instances[0] and now goes with line nr1 from txt file with open('token.txt', 'r') as token: - for token_line in token.readlines(): - print(token_line) - for base_url in instances: - print(str(base_url)) - mastodon = Mastodon(access_token=token.read(),api_base_url=(str(base_url))) - - for id in toot_id: - descendants = mastodon.status_context(id=(toot_id))["descendants"] - print(toot_id) - time.sleep(1) - - for answer in descendants: - pprint(answer["id"]) - #geral = mastodon.status(answer["id"])) - avatar = mastodon.status(answer["id"])['account']['avatar'] - name = mastodon.status(answer["id"])['account']['display_name'] - bot = mastodon.status(answer["id"])['account']['bot'] - content = mastodon.status(answer["id"])['content'] + for n, token_line in enumerate(token.readlines()): + base_url = instances[n] + print(token_line, base_url) + # token_line é uma das linhas de token.txt + # como a les em token.readlines() n precisas de ler outra ver + # e podes usar apenas a var token_line + mastodon = Mastodon(access_token=token_line.replace('\n', ''), + api_base_url=(str(base_url))) + toot_id_current = toot_id[n] + print(toot_id_current) + status = mastodon.status_context(id=(toot_id_current)) + descendants = mastodon.status_context(id=(toot_id_current))["descendants"] + print(toot_id_current) + for answer in descendants: + pprint(answer["id"]) + # geral = mastodon.status(answer["id"])) + avatar = mastodon.status(answer["id"])['account']['avatar'] + name = mastodon.status(answer["id"])['account']['display_name'] + bot = mastodon.status(answer["id"])['account']['bot'] + content = mastodon.status(answer["id"])['content'] - pprint("Avatar:" + "\n" + str(avatar) + "\n" + "\n") - pprint("Name:" + "\n" + str(name) + "\n" + "\n") - pprint("Bot:" + "\n" + str(bot) + "\n" + "\n") - pprint("Content:" + "\n" + str(content) + "\n" + "\n") + pprint("Avatar:" + "\n" + str(avatar) + "\n" + "\n") + pprint("Name:" + "\n" + str(name) + "\n" + "\n") + pprint("Bot:" + "\n" + str(bot) + "\n" + "\n") + pprint("Content:" + "\n" + str(content) + "\n" + "\n") - time.sleep(2) + time.sleep(2) \ No newline at end of file diff --git a/token.txt b/token.txt index 8a1da97..e8de7f9 100644 --- a/token.txt +++ b/token.txt @@ -1,2 +1,2 @@ 2e2c955d0ac906d8ac59863ea479ce061a88774e72e8b76bc2d764d28ba363ff -bc595df0c16d87f67ead4c2ce8e16e51c00e80565a97622ed51f7c3feb717881 +bc595df0c16d87f67ead4c2ce8e16e51c00e80565a97622ed51f7c3feb717881 \ No newline at end of file