From 753f6c5389be82f4a17dafb1698e2f65388d35b6 Mon Sep 17 00:00:00 2001 From: James Taylor Date: Fri, 18 Sep 2020 17:32:28 -0700 Subject: Jump video to timestamp in description or comments --- youtube/__init__.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'youtube/__init__.py') diff --git a/youtube/__init__.py b/youtube/__init__.py index 8675c4b..6c2ec48 100644 --- a/youtube/__init__.py +++ b/youtube/__init__.py @@ -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 ( + '' + match.group(0) + + '' + ) + +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 -- cgit v1.2.3