Jump video to timestamp in description or comments

This commit is contained in:
James Taylor
2020-09-18 17:32:28 -07:00
parent e9989af03a
commit 753f6c5389
3 changed files with 25 additions and 4 deletions

View File

@@ -2,6 +2,7 @@ from youtube import util
import flask
import settings
import traceback
import re
from sys import exc_info
yt_app = flask.Flask(__name__)
yt_app.url_map.strict_slashes = False
@@ -34,6 +35,22 @@ def commatize(num):
num = int(num)
return '{:,}'.format(num)
def timestamp_replacement(match):
time_seconds = 0
for part in match.group(0).split(':'):
time_seconds = 60*time_seconds + int(part)
return (
'<a href="#" onclick="document.querySelector(\'video\').currentTime='
+ str(time_seconds)
+ '">' + match.group(0)
+ '</a>'
)
TIMESTAMP_RE = re.compile(r'\b(\d?\d:)?\d?\d:\d\d\b')
@yt_app.template_filter('timestamps')
def timestamps(text):
return TIMESTAMP_RE.sub(timestamp_replacement, text)
@yt_app.errorhandler(500)
def error_page(e):
if (exc_info()[0] == util.FetchError