fix: don't pull the same post twice

This commit is contained in:
knoflook 2022-01-27 17:52:26 +01:00
parent b1c9c05b6d
commit c4142145e9
Signed by untrusted user: knoflook
GPG Key ID: D6A1D0E8FC4FEF1C

View File

@ -103,6 +103,10 @@ def main():
if not os.path.exists(output_dir): if not os.path.exists(output_dir):
os.mkdir(output_dir) os.mkdir(output_dir)
all_existing_posts = []
for i in os.listdir(output_dir):
all_existing_posts += os.listdir(os.path.join(output_dir, i))
for hashtag in hashtags: for hashtag in hashtags:
hashtag_dir = os.path.join(output_dir, hashtag) hashtag_dir = os.path.join(output_dir, hashtag)
@ -122,12 +126,13 @@ def main():
post_dir = os.path.join(hashtag_dir, str(post_metadata["id"])) post_dir = os.path.join(hashtag_dir, str(post_metadata["id"]))
# if there is a post in the feed we dont already have locally, make it # if there is a post in the feed we dont already have locally, make it
if str(post_metadata["id"]) not in existing_posts: if str(post_metadata["id"]) not in all_existing_posts:
if not post_metadata[ if not post_metadata[
"local_only" "local_only"
]: # if you get an error here then you are using vanilla Mastodon, this is a Hometown or Glitch only feature ]: # if you get an error here then you are using vanilla Mastodon, this is a Hometown or Glitch only feature
create_post(post_dir, post_metadata) create_post(post_dir, post_metadata)
all_existing_posts.append(post_metadata["id"])
else: else:
print("not pulling post %s (post is local only)" % (post_metadata["id"])) print("not pulling post %s (post is local only)" % (post_metadata["id"]))