Compare commits

...

3 Commits

Author SHA1 Message Date
knoflook f69c092548
feed: escape quotation marks 2022-02-17 16:15:43 +01:00
knoflook 6339724510
hashtag: escape quotation marks for display_name 2022-02-15 13:31:33 +01:00
knoflook ab1f8d9d7a
video: paginate results 2022-02-15 12:10:17 +01:00
3 changed files with 25 additions and 6 deletions

View File

@ -5,6 +5,7 @@ from hashlib import md5
from ast import literal_eval as make_tuple from ast import literal_eval as make_tuple
from pathlib import Path from pathlib import Path
from urllib.parse import urlparse from urllib.parse import urlparse
from re import sub
import arrow import arrow
import feedparser import feedparser
@ -57,12 +58,12 @@ def create_frontmatter(entry):
published = arrow.get(published) published = arrow.get(published)
if "author" in entry: if "author" in entry:
author = entry.author author = sub('"', '\\"', entry.author)
else: else:
author = "" author = ""
if "title" in entry: if "title" in entry:
title = entry.title title = sub('"', '\\"', entry.title)
else: else:
title = "" title = ""

View File

@ -1,6 +1,7 @@
import os import os
import shutil import shutil
from pathlib import Path from pathlib import Path
from re import sub
import jinja2 import jinja2
import requests import requests
@ -68,7 +69,9 @@ def create_post(post_directory, post_metadata):
template_dir = os.path.join(Path(__file__).parent.resolve(), "templates") template_dir = os.path.join(Path(__file__).parent.resolve(), "templates")
env = jinja2.Environment(loader=jinja2.FileSystemLoader(template_dir)) env = jinja2.Environment(loader=jinja2.FileSystemLoader(template_dir))
name = post_metadata['account']['display_name']
name = sub('"', '\\"', name)
post_metadata['account']['display_name'] = name
env.filters["localize_media_url"] = localize_media_url env.filters["localize_media_url"] = localize_media_url
env.filters["filter_mastodon_urls"] = filter_mastodon_urls env.filters["filter_mastodon_urls"] = filter_mastodon_urls

View File

@ -100,11 +100,26 @@ def update_post(post_directory, video_metadata, host):
def main(): def main():
v = peertube.VideoApi(client) v = peertube.VideoApi(client)
count = 100
response = v.videos_get(count=100, filter="local", tags_one_of="publish") page = 0
response = v.videos_get(count=count, filter="local", tags_one_of="publish", start=page)
videos = response.to_dict() videos = response.to_dict()
videos = videos["data"] total = videos['total']
videos = videos['data']
total -= count
if total > 0:
to_download = total // count
last_page = total % count
for i in range(to_download):
page += 1
response = v.videos_get(count=count, filter="local", tags_one_of="publish", start=page)
videos += response.to_dict()['data']
if last_page > 0:
page += 1
response = v.videos_get(count=count, filter="local", tags_one_of="publish", start=page)
videos += response.to_dict()['data'][-1*last_page:]
output_dir = os.environ.get("OUTPUT_DIR") output_dir = os.environ.get("OUTPUT_DIR")