home · contact · privacy
Some variable renamings for better clarity.
authorChristian Heller <c.heller@plomlompom.de>
Wed, 27 Nov 2024 04:53:51 +0000 (05:53 +0100)
committerChristian Heller <c.heller@plomlompom.de>
Wed, 27 Nov 2024 04:53:51 +0000 (05:53 +0100)
12 files changed:
src/sync.py
src/templates/file_data.tmpl [new file with mode: 0644]
src/templates/files.tmpl [new file with mode: 0644]
src/templates/queries.tmpl [deleted file]
src/templates/results.tmpl [deleted file]
src/templates/video.tmpl [deleted file]
src/templates/videos.tmpl [deleted file]
src/templates/yt_queries.tmpl [new file with mode: 0644]
src/templates/yt_result.tmpl [new file with mode: 0644]
src/templates/yt_results.tmpl [new file with mode: 0644]
src/templates/yt_video.tmpl [deleted file]
src/ytplom/misc.py

index fdeced8693e12fe568c4106b2dabcb7710ce945f..98bdfcb397b9d55097a373a391a76f9ff416bb5f 100755 (executable)
@@ -12,7 +12,7 @@ from paramiko import SSHClient  # type: ignore
 from scp import SCPClient  # type: ignore
 from ytplom.misc import (
         PAGE_NAMES, PATH_DB, PATH_DOWNLOADS, PATH_TEMP,
-        Config, DatabaseConnection, PathStr, QuotaLog, VideoFile,
+        Config, DbConnection, PathStr, QuotaLog, VideoFile,
         YoutubeQuery, YoutubeVideo)
 
 
@@ -21,7 +21,7 @@ ATTR_NAME_LAST_UPDATE = 'last_update'
 
 
 def back_and_forth(sync_func: Callable,
-                   dbs: tuple[DatabaseConnection, DatabaseConnection],
+                   dbs: tuple[DbConnection, DbConnection],
                    shared: YoutubeVideo | tuple[Any, str]
                    ) -> None:
     """Run sync_func on arg pairs + shared, and again with pairs switched."""
@@ -31,7 +31,7 @@ def back_and_forth(sync_func: Callable,
 
 
 def sync_objects(host_names: tuple[str, str],
-                 dbs: tuple[DatabaseConnection, DatabaseConnection],
+                 dbs: tuple[DbConnection, DbConnection],
                  shared: tuple[Any, str]
                  ) -> None:
     """Equalize both DB's object collections; prefer newer states to older."""
@@ -58,7 +58,7 @@ def sync_objects(host_names: tuple[str, str],
 
 
 def sync_relations(host_names: tuple[str, str],
-                   dbs: tuple[DatabaseConnection, DatabaseConnection],
+                   dbs: tuple[DbConnection, DbConnection],
                    yt_result: YoutubeVideo
                    ) -> None:
     """To dbs[1] add YT yt_video->yt_q_colls[0] mapping not in yt_q_colls[1]"""
@@ -78,8 +78,7 @@ def main():
     ssh.connect(config.remote)
     scp = SCPClient(ssh.get_transport())
     scp.get(PATH_DB, PATH_DB_REMOTE)
-    local_db = DatabaseConnection(PATH_DB)
-    remote_db = DatabaseConnection(PATH_DB_REMOTE)
+    local_db, remote_db = DbConnection(PATH_DB), DbConnection(PATH_DB_REMOTE)
     for cls in (QuotaLog, YoutubeQuery, YoutubeVideo, VideoFile):
         back_and_forth(sync_objects, (local_db, remote_db),
                        (cls, 'rel_path' if cls is VideoFile else 'id_'))
diff --git a/src/templates/file_data.tmpl b/src/templates/file_data.tmpl
new file mode 100644 (file)
index 0000000..7ea70f9
--- /dev/null
@@ -0,0 +1,17 @@
+{% extends '_base.tmpl' %}
+
+
+{% block body %}
+{{ macros.nav_head(page_names) }}
+<table>
+<tr><th>path:</th><td>{{file.rel_path}}</td></tr>
+<tr><th>YouTube ID:</th><td><a href="/{{page_names.yt_result}}/{{file.yt_id}}">{{file.yt_id}}</a></tr>
+<tr><th>present:</th><td>{% if file.present %}<a href="/{{page_names.download}}/{{file.yt_id}}">yes</a>{% else %}no{% endif %}</td></tr>
+</table>
+<form action="/{{page_names.file}}/{{file.yt_id}}" method="POST" />
+{% for flag_name in flag_names %}
+{{ flag_name }}: <input type="checkbox" name="{{flag_name}}" {% if file.is_flag_set(flag_name) %}checked {% endif %} /><br />
+{% endfor %}
+<input type="submit" />
+</form>
+{% endblock %}
diff --git a/src/templates/files.tmpl b/src/templates/files.tmpl
new file mode 100644 (file)
index 0000000..69543c8
--- /dev/null
@@ -0,0 +1,12 @@
+{% extends '_base.tmpl' %}
+
+
+{% block body %}
+{{ macros.nav_head(page_names, "files") }}
+<p>downloaded videos:</p>
+<ul>
+{% for video_id, path in videos %}
+<li><a href="/{{page_names.file}}/{{video_id}}">{{ path }}</a>
+{% endfor %}
+</ul>
+{% endblock %}
diff --git a/src/templates/queries.tmpl b/src/templates/queries.tmpl
deleted file mode 100644 (file)
index 9ef271d..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-{% extends '_base.tmpl' %}
-
-
-{% block body %}
-{{ macros.nav_head(page_names, "yt_queries") }}
-<p>quota: {{quota_count}}/100000</p>
-<form action="/{{page_names.yt_queries}}" method="POST" />
-<input name="query" />
-</form>
-<table>
-<tr>
-<th>retrieved at</th>
-<th>query</th>
-</tr>
-{% for query in queries %}
-<tr>
-<td>{{query.retrieved_at[:19]}}</td>
-<td><a href="/{{page_names.yt_query}}/{{query.id_}}">{{query.text}}</a></td>
-</tr>
-{% endfor %}
-</table>
-{% endblock %}
diff --git a/src/templates/results.tmpl b/src/templates/results.tmpl
deleted file mode 100644 (file)
index 872d461..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{% extends '_base.tmpl' %}
-
-
-{% block body %}
-{{ macros.nav_head(page_names) }}
-<p>query: {{query}}</p>
-<table>
-{% for video in videos %}
-<tr>
-<td>
-<a href="/{{page_names.yt_result}}/{{video.id_}}"><img src="/{{page_names.thumbnails}}/{{video.id_}}.jpg" /></a>
-</td>
-<td>
-{{video.definition}}<br />
-{{video.duration}}
-</td>
-<td>
-<b><a href="/{{page_names.yt_result}}/{{video.id_}}">{{video.title}}</a></b> · {{video.description}}
-</td>
-</tr>
-{% endfor %}
-</table>
-{% endblock %}
diff --git a/src/templates/video.tmpl b/src/templates/video.tmpl
deleted file mode 100644 (file)
index 7ea70f9..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-{% extends '_base.tmpl' %}
-
-
-{% block body %}
-{{ macros.nav_head(page_names) }}
-<table>
-<tr><th>path:</th><td>{{file.rel_path}}</td></tr>
-<tr><th>YouTube ID:</th><td><a href="/{{page_names.yt_result}}/{{file.yt_id}}">{{file.yt_id}}</a></tr>
-<tr><th>present:</th><td>{% if file.present %}<a href="/{{page_names.download}}/{{file.yt_id}}">yes</a>{% else %}no{% endif %}</td></tr>
-</table>
-<form action="/{{page_names.file}}/{{file.yt_id}}" method="POST" />
-{% for flag_name in flag_names %}
-{{ flag_name }}: <input type="checkbox" name="{{flag_name}}" {% if file.is_flag_set(flag_name) %}checked {% endif %} /><br />
-{% endfor %}
-<input type="submit" />
-</form>
-{% endblock %}
diff --git a/src/templates/videos.tmpl b/src/templates/videos.tmpl
deleted file mode 100644 (file)
index 69543c8..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-{% extends '_base.tmpl' %}
-
-
-{% block body %}
-{{ macros.nav_head(page_names, "files") }}
-<p>downloaded videos:</p>
-<ul>
-{% for video_id, path in videos %}
-<li><a href="/{{page_names.file}}/{{video_id}}">{{ path }}</a>
-{% endfor %}
-</ul>
-{% endblock %}
diff --git a/src/templates/yt_queries.tmpl b/src/templates/yt_queries.tmpl
new file mode 100644 (file)
index 0000000..9ef271d
--- /dev/null
@@ -0,0 +1,22 @@
+{% extends '_base.tmpl' %}
+
+
+{% block body %}
+{{ macros.nav_head(page_names, "yt_queries") }}
+<p>quota: {{quota_count}}/100000</p>
+<form action="/{{page_names.yt_queries}}" method="POST" />
+<input name="query" />
+</form>
+<table>
+<tr>
+<th>retrieved at</th>
+<th>query</th>
+</tr>
+{% for query in queries %}
+<tr>
+<td>{{query.retrieved_at[:19]}}</td>
+<td><a href="/{{page_names.yt_query}}/{{query.id_}}">{{query.text}}</a></td>
+</tr>
+{% endfor %}
+</table>
+{% endblock %}
diff --git a/src/templates/yt_result.tmpl b/src/templates/yt_result.tmpl
new file mode 100644 (file)
index 0000000..73ffbab
--- /dev/null
@@ -0,0 +1,23 @@
+{% extends '_base.tmpl' %}
+
+
+{% block body %}
+{{ macros.nav_head(page_names) }}
+<table>
+<tr><th>title:</th><td>{{video_data.title}}</td></tr>
+<tr><th>thumbnail:</th><td><img src="/{{page_names.thumbnails}}/{{video_data.id_}}.jpg" /></td></tr>
+<tr><th>description:</th><td>{{video_data.description}}</td></tr>
+<tr><th>duration:</th><td>{{video_data.duration}}</td></tr>
+<tr><th>definition:</th><td>{{video_data.definition}}</td></tr>
+<tr><th>YouTube ID:</th><td>{{video_data.id_}} (<a href="{{youtube_prefix}}{{video_data.id_}}">watch</a>)</td></tr>
+<tr><th>download:</th><td>{% if is_temp %}working on it{% else %}<a href="/{{page_names.download}}/{{video_data.id_}}">{{ file_path if file_path else "please do" }}</a>{% endif %}</td></tr>
+<tr>
+<th>linked queries:</th>
+<td>
+<ul>
+{% for query in queries %}<li><a href="/{{page_names.yt_query}}/{{query.id_}}">{{query.text}}</a>{% endfor %}
+</ul>
+</td>
+</tr>
+</table>
+{% endblock %}
diff --git a/src/templates/yt_results.tmpl b/src/templates/yt_results.tmpl
new file mode 100644 (file)
index 0000000..872d461
--- /dev/null
@@ -0,0 +1,23 @@
+{% extends '_base.tmpl' %}
+
+
+{% block body %}
+{{ macros.nav_head(page_names) }}
+<p>query: {{query}}</p>
+<table>
+{% for video in videos %}
+<tr>
+<td>
+<a href="/{{page_names.yt_result}}/{{video.id_}}"><img src="/{{page_names.thumbnails}}/{{video.id_}}.jpg" /></a>
+</td>
+<td>
+{{video.definition}}<br />
+{{video.duration}}
+</td>
+<td>
+<b><a href="/{{page_names.yt_result}}/{{video.id_}}">{{video.title}}</a></b> · {{video.description}}
+</td>
+</tr>
+{% endfor %}
+</table>
+{% endblock %}
diff --git a/src/templates/yt_video.tmpl b/src/templates/yt_video.tmpl
deleted file mode 100644 (file)
index 73ffbab..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-{% extends '_base.tmpl' %}
-
-
-{% block body %}
-{{ macros.nav_head(page_names) }}
-<table>
-<tr><th>title:</th><td>{{video_data.title}}</td></tr>
-<tr><th>thumbnail:</th><td><img src="/{{page_names.thumbnails}}/{{video_data.id_}}.jpg" /></td></tr>
-<tr><th>description:</th><td>{{video_data.description}}</td></tr>
-<tr><th>duration:</th><td>{{video_data.duration}}</td></tr>
-<tr><th>definition:</th><td>{{video_data.definition}}</td></tr>
-<tr><th>YouTube ID:</th><td>{{video_data.id_}} (<a href="{{youtube_prefix}}{{video_data.id_}}">watch</a>)</td></tr>
-<tr><th>download:</th><td>{% if is_temp %}working on it{% else %}<a href="/{{page_names.download}}/{{video_data.id_}}">{{ file_path if file_path else "please do" }}</a>{% endif %}</td></tr>
-<tr>
-<th>linked queries:</th>
-<td>
-<ul>
-{% for query in queries %}<li><a href="/{{page_names.yt_query}}/{{query.id_}}">{{query.text}}</a>{% endfor %}
-</ul>
-</td>
-</tr>
-</table>
-{% endblock %}
index f65465781e25df5a5f78f6719d4de01e111b5da6..cd863524fbe5659836255cab7a687a6ab203b871 100644 (file)
@@ -65,11 +65,11 @@ PATH_CONFFILE = PathStr(path_join(PATH_HOME, '.config/ytplom/config.json'))
 
 # template paths
 PATH_TEMPLATES = PathStr(path_join(PATH_APP_DATA, 'templates'))
-NAME_TEMPLATE_QUERIES = PathStr('queries.tmpl')
-NAME_TEMPLATE_RESULTS = PathStr('results.tmpl')
-NAME_TEMPLATE_VIDEOS = PathStr('videos.tmpl')
-NAME_TEMPLATE_VIDEO = PathStr('video.tmpl')
-NAME_TEMPLATE_YT_VIDEO = PathStr('yt_video.tmpl')
+NAME_TEMPLATE_QUERIES = PathStr('yt_queries.tmpl')
+NAME_TEMPLATE_RESULTS = PathStr('yt_results.tmpl')
+NAME_TEMPLATE_FILES = PathStr('files.tmpl')
+NAME_TEMPLATE_FILE_DATA = PathStr('file_data.tmpl')
+NAME_TEMPLATE_YT_VIDEO = PathStr('yt_result.tmpl')
 NAME_TEMPLATE_PLAYLIST = PathStr('playlist.tmpl')
 
 # page names
@@ -81,7 +81,7 @@ PAGE_NAMES: PageNames = {
     'missing': PathStr('missing.json'),
     'playlist': PathStr('playlist'),
     'thumbnails': PathStr('thumbnails'),
-    'yt_result': PathStr('yt_video'),
+    'yt_result': PathStr('yt_result'),
     'yt_query': PathStr('yt_query'),
     'yt_queries': PathStr('yt_queries')
 }
@@ -112,7 +112,7 @@ ENVIRON_PREFIX = 'YTPLOM_'
 TIMESTAMP_FMT = '%Y-%m-%d %H:%M:%S.%f'
 LEGAL_EXTENSIONS = {'webm', 'mp4', 'mkv'}
 NAME_INSTALLER = PathStr('install.sh')
-VIDEO_FLAGS: dict[FlagName, FlagsInt] = {
+FILE_FLAGS: dict[FlagName, FlagsInt] = {
   FlagName('delete'): FlagsInt(1 << 62)
 }
 
@@ -165,7 +165,7 @@ class Config:
                              if k.isupper() and k.startswith(ENVIRON_PREFIX)})
 
 
-class DatabaseConnection:
+class DbConnection:
     """Wrapped sqlite3.Connection."""
 
     def __init__(self, path: PathStr = PATH_DB) -> None:
@@ -221,7 +221,7 @@ class DbData:
         return cls(**kwargs)
 
     @classmethod
-    def get_one(cls, conn: DatabaseConnection, id_: str) -> Self:
+    def get_one(cls, conn: DbConnection, id_: str) -> Self:
         """Return single entry of id_ from DB."""
         sql = SqlText(f'SELECT * FROM {cls._table_name} WHERE id = ?')
         row = conn.exec(sql, (id_,)).fetchone()
@@ -231,13 +231,13 @@ class DbData:
         return cls._from_table_row(row)
 
     @classmethod
-    def get_all(cls, conn: DatabaseConnection) -> list[Self]:
+    def get_all(cls, conn: DbConnection) -> list[Self]:
         """Return all entries from DB."""
         sql = SqlText(f'SELECT * FROM {cls._table_name}')
         rows = conn.exec(sql).fetchall()
         return [cls._from_table_row(row) for row in rows]
 
-    def save(self, conn: DatabaseConnection) -> Cursor:
+    def save(self, conn: DbConnection) -> Cursor:
         """Save entry to DB."""
         vals = [getattr(self, col_name) for col_name in self._cols]
         q_marks = '(' + ','.join(['?'] * len(vals)) + ')'
@@ -261,7 +261,7 @@ class YoutubeQuery(DbData):
 
     @classmethod
     def get_all_for_video(cls,
-                          conn: DatabaseConnection,
+                          conn: DbConnection,
                           video_id: YoutubeId
                           ) -> list[Self]:
         """Return YoutubeQueries containing YoutubeVideo's ID in results."""
@@ -318,7 +318,7 @@ class YoutubeVideo(DbData):
 
     @classmethod
     def get_all_for_query(cls,
-                          conn: DatabaseConnection,
+                          conn: DbConnection,
                           query_id: QueryId
                           ) -> list[Self]:
         """Return all videos for query of query_id."""
@@ -328,10 +328,7 @@ class YoutubeVideo(DbData):
         return [cls.get_one(conn, video_id_tup[0])
                 for video_id_tup in video_ids]
 
-    def save_to_query(self,
-                      conn: DatabaseConnection,
-                      query_id: QueryId
-                      ) -> None:
+    def save_to_query(self, conn: DbConnection, query_id: QueryId) -> None:
         """Save inclusion of self in results to query of query_id."""
         conn.exec(SqlText('REPLACE INTO yt_query_results VALUES (?, ?)'),
                   (query_id, self.id_))
@@ -361,7 +358,7 @@ class VideoFile(DbData):
         self.last_update = DatetimeStr(datetime.now().strftime(TIMESTAMP_FMT))
 
     @classmethod
-    def get_by_yt_id(cls, conn: DatabaseConnection, yt_id: YoutubeId) -> Self:
+    def get_by_yt_id(cls, conn: DbConnection, yt_id: YoutubeId) -> Self:
         """Return VideoFile of .yt_id."""
         sql = SqlText(f'SELECT * FROM {cls._table_name} WHERE yt_id = ?')
         row = conn.exec(sql, (yt_id,)).fetchone()
@@ -396,7 +393,7 @@ class VideoFile(DbData):
 
     def is_flag_set(self, flag_name: FlagName) -> bool:
         """Return if flag of flag_name is set in flags field."""
-        return bool(self._flags & VIDEO_FLAGS[flag_name])
+        return bool(self._flags & FILE_FLAGS[flag_name])
 
     def ensure_absence_if_deleted(self) -> None:
         """If 'delete' flag set, ensure no actual file in filesystem."""
@@ -422,7 +419,7 @@ class QuotaLog(DbData):
         self.cost = cost
 
     @classmethod
-    def update(cls, conn: DatabaseConnection, cost: QuotaCost) -> None:
+    def update(cls, conn: DbConnection, cost: QuotaCost) -> None:
         """Adds cost mapped to current datetime."""
         cls._remove_old(conn)
         new = cls(None,
@@ -431,14 +428,14 @@ class QuotaLog(DbData):
         new.save(conn)
 
     @classmethod
-    def current(cls, conn: DatabaseConnection) -> QuotaCost:
+    def current(cls, conn: DbConnection) -> QuotaCost:
         """Returns quota cost total for last 24 hours, purges old data."""
         cls._remove_old(conn)
         quota_costs = cls.get_all(conn)
         return QuotaCost(sum(c.cost for c in quota_costs))
 
     @classmethod
-    def _remove_old(cls, conn: DatabaseConnection) -> None:
+    def _remove_old(cls, conn: DbConnection) -> None:
         cutoff = datetime.now() - timedelta(days=1)
         sql = SqlText(f'DELETE FROM {cls._table_name} WHERE timestamp < ?')
         conn.exec(SqlText(sql), (cutoff.strftime(TIMESTAMP_FMT),))
@@ -582,7 +579,7 @@ class DownloadsManager:
         self._sync_db()
 
     def _sync_db(self):
-        conn = DatabaseConnection()
+        conn = DbConnection()
         files_via_db = VideoFile.get_all(conn)
         old_cwd = getcwd()
         chdir(PATH_DOWNLOADS)
@@ -696,14 +693,14 @@ class TaskHandler(BaseHTTPRequestHandler):
         body_length = int(self.headers['content-length'])
         postvars = parse_qs(self.rfile.read(body_length).decode())
         if PAGE_NAMES['playlist'] == page_name:
-            self._post_player_command(list(postvars.keys())[0])
+            self._receive_player_command(list(postvars.keys())[0])
         elif PAGE_NAMES['file'] == page_name:
-            self._post_video_flag(YoutubeId(toks_url[2]),
-                                  [FlagName(k) for k in postvars])
+            self._receive_video_flag(YoutubeId(toks_url[2]),
+                                     [FlagName(k) for k in postvars])
         elif PAGE_NAMES['yt_queries'] == page_name:
-            self._post_query(QueryText(postvars['query'][0]))
+            self._receive_yt_query(QueryText(postvars['query'][0]))
 
-    def _post_player_command(self, command: str) -> None:
+    def _receive_player_command(self, command: str) -> None:
         if 'pause' == command:
             self.server.player.toggle_pause()
         elif 'prev' == command:
@@ -717,15 +714,15 @@ class TaskHandler(BaseHTTPRequestHandler):
         sleep(0.5)  # avoid redir happening before current_file update
         self._send_http(headers=[('Location', '/')], code=302)
 
-    def _post_video_flag(self,
-                         yt_id: YoutubeId,
-                         flag_names: list[FlagName]
-                         ) -> None:
-        conn = DatabaseConnection()
+    def _receive_video_flag(self,
+                            yt_id: YoutubeId,
+                            flag_names: list[FlagName]
+                            ) -> None:
+        conn = DbConnection()
         file = VideoFile.get_by_yt_id(conn, yt_id)
         flags = FlagsInt(0)
         for flag_name in flag_names:
-            flags = FlagsInt(file.flags | VIDEO_FLAGS[flag_name])
+            flags = FlagsInt(file.flags | FILE_FLAGS[flag_name])
         file.flags = flags
         file.save(conn)
         conn.commit_close()
@@ -734,8 +731,8 @@ class TaskHandler(BaseHTTPRequestHandler):
                                   f'/{PAGE_NAMES["file"]}/{yt_id}')],
                         code=302)
 
-    def _post_query(self, query_txt: QueryText) -> None:
-        conn = DatabaseConnection()
+    def _receive_yt_query(self, query_txt: QueryText) -> None:
+        conn = DbConnection()
 
         def collect_results(query_txt: QueryText) -> list[YoutubeVideo]:
             _ensure_expected_dirs([PATH_THUMBNAILS])
@@ -800,17 +797,17 @@ class TaskHandler(BaseHTTPRequestHandler):
             elif PAGE_NAMES['download'] == page_name:
                 self._send_or_download_video(YoutubeId(toks_url[2]))
             elif PAGE_NAMES['files'] == page_name:
-                self._send_videos_index()
+                self._send_files_index()
             elif PAGE_NAMES['file'] == page_name:
-                self._send_video_data(YoutubeId(toks_url[2]))
+                self._send_file_data(YoutubeId(toks_url[2]))
             elif PAGE_NAMES['yt_result'] == page_name:
-                self._send_yt_video_data(YoutubeId(toks_url[2]))
+                self._send_yt_result(YoutubeId(toks_url[2]))
             elif PAGE_NAMES['missing'] == page_name:
                 self._send_missing_json()
             elif PAGE_NAMES['yt_query'] == page_name:
-                self._send_query_page(QueryId(toks_url[2]))
+                self._send_yt_query_page(QueryId(toks_url[2]))
             elif PAGE_NAMES['yt_queries'] == page_name:
-                self._send_queries_index_and_search()
+                self._send_yt_queries_index_and_search()
             elif PAGE_NAMES['last_update'] == page_name:
                 self._send_last_playlist_update()
             else:  # e.g. for /
@@ -855,8 +852,8 @@ class TaskHandler(BaseHTTPRequestHandler):
                                   f'/{PAGE_NAMES["yt_result"]}/{video_id}')],
                         code=302)
 
-    def _send_query_page(self, query_id: QueryId) -> None:
-        conn = DatabaseConnection()
+    def _send_yt_query_page(self, query_id: QueryId) -> None:
+        conn = DbConnection()
         query = YoutubeQuery.get_one(conn, str(query_id))
         results = YoutubeVideo.get_all_for_query(conn, query_id)
         conn.commit_close()
@@ -864,8 +861,8 @@ class TaskHandler(BaseHTTPRequestHandler):
                 NAME_TEMPLATE_RESULTS,
                 {'query': query.text, 'videos': results})
 
-    def _send_queries_index_and_search(self) -> None:
-        conn = DatabaseConnection()
+    def _send_yt_queries_index_and_search(self) -> None:
+        conn = DbConnection()
         quota_count = QuotaLog.current(conn)
         queries_data = YoutubeQuery.get_all(conn)
         conn.commit_close()
@@ -874,8 +871,8 @@ class TaskHandler(BaseHTTPRequestHandler):
                 NAME_TEMPLATE_QUERIES, {'queries': queries_data,
                                         'quota_count': quota_count})
 
-    def _send_yt_video_data(self, video_id: YoutubeId) -> None:
-        conn = DatabaseConnection()
+    def _send_yt_result(self, video_id: YoutubeId) -> None:
+        conn = DbConnection()
         linked_queries = YoutubeQuery.get_all_for_video(conn, video_id)
         try:
             video_data = YoutubeVideo.get_one(conn, video_id)
@@ -891,19 +888,19 @@ class TaskHandler(BaseHTTPRequestHandler):
                  'youtube_prefix': YOUTUBE_URL_PREFIX,
                  'queries': linked_queries})
 
-    def _send_video_data(self, yt_id: YoutubeId) -> None:
-        conn = DatabaseConnection()
+    def _send_file_data(self, yt_id: YoutubeId) -> None:
+        conn = DbConnection()
         file = VideoFile.get_by_yt_id(conn, yt_id)
         conn.commit_close()
         self._send_rendered_template(
-                NAME_TEMPLATE_VIDEO,
-                {'file': file, 'flag_names': list(VIDEO_FLAGS)})
+                NAME_TEMPLATE_FILE_DATA,
+                {'file': file, 'flag_names': list(FILE_FLAGS)})
 
-    def _send_videos_index(self) -> None:
+    def _send_files_index(self) -> None:
         videos = [(id_, PathStr(basename(path)))
                   for id_, path in self.server.downloads.ids_to_paths.items()]
         videos.sort(key=lambda t: t[1])
-        self._send_rendered_template(NAME_TEMPLATE_VIDEOS, {'videos': videos})
+        self._send_rendered_template(NAME_TEMPLATE_FILES, {'videos': videos})
 
     def _send_missing_json(self) -> None:
         self._send_http(