Commit graph

122 commits

Author SHA1 Message Date
dd99ddc10f Remove youtube_dl_function argument, but add configurable extension.
In order to improve the configurability of the queuefile creation,
which I can't really do when relegating that to a possibly third-party
function with only the video id as argument, I've decided I want to
go all in on the queuefile as the output of ycdl. Actually downloading
the video is best left to another tool designed for the task.
Any third-party downloading function would always introduce the
possibility of network errors and crashes, ruining the call stack
of ycdldb.download_video for no good reason.
2020-05-24 21:07:14 -07:00
5c4b2e9d21 Add jsonify.py. 2020-05-21 20:28:52 -07:00
57d87560a4 Add interface for setting automark state. 2020-05-21 17:28:34 -07:00
34f24d9940 Let default state of automark be pending, not None. 2020-05-21 17:25:06 -07:00
e165b16edc Rstrip the "Z" off of timestamps.
This only started occuring recently.
2020-05-06 21:23:24 -07:00
cd7a59cbfa Sort channel names case-insensitive. 2020-05-06 21:23:02 -07:00
0562c51d6c Use mark_state instead of doing the sql update here. 2020-04-15 16:34:33 -07:00
2f5ec40b89 Big: Object-oriented channels & videos, match Etiquette structure.
- Channels and videos are now objects instead of just dictionaries.
- Copied Etiquette's use of cachemanager mixin to cache those objects.
- Copied Etiquette's use of sql_ methods.
- Copied Etiquette's use of namespaced javascript.
- Copied Etiquette's use of config file.
- Redid video_card css to use grid, better on mobile.
- Improved usage of URL parameters with class=merge_class.
- Wrote some actual content on readme.
2020-04-05 18:59:16 -07:00
1bc3df5efe Split DB_INIT into pragmas and full init, like Etiquette. 2020-04-03 11:23:51 -07:00
11a147fbcd Use insert_filler for add_channel. 2020-04-03 11:12:56 -07:00
718399806a Add channel_name to videos before returning them, show on listings.
Previously, when viewing a /videos listing, there was a link
called (Chan) to bring you to the channel page, but since videos
only carried author_id and not author_name it was always kind of
ugly. This will inject that attribute on the way out.
I know, this would be more properly written as an SQL join in the
first place, but my row-dict conversion isn't set up for that and
I'm planning on converting this all to object-based returns instead
of dicts soon.
2020-04-03 08:49:35 -07:00
d0bfbaadfe Add method insert_playlist. 2020-03-17 20:53:18 -07:00
1a7662b6bd Add method get_playlist_videos. 2020-03-17 20:53:10 -07:00
b5f892d595 Add ?orderby url parameter. 2020-03-11 18:02:09 -07:00
b48c2fc37c Rename ycdl.py -> ycdldb.py; add exceptions.py. 2020-03-11 14:27:27 -07:00
6691c49481 Add parameter skip_failures to refresh_all_channels. 2020-01-19 10:53:49 -08:00
78ce6a6f41 Add views column and some other database changes.
And various other changes which have been sitting here for too long.
2020-01-06 22:07:25 -08:00
420a14bb88 Add a logger to ytapi. 2020-01-06 22:03:18 -08:00
74607b7e60 Index (author, download) so that listing all channels is faster. 2019-01-31 17:43:01 -08:00
c667ebd872 Batch requests & filterbox & update metadata
- Download / Ignore on multiple videos is batched into a single
  request, like it should have been all along.
- Text box at the top of the page lets you search for terms live
  instead of loading various ?q urls.
- Doing a force refresh will actually update the metadata of old
  videos instead of skipping them.
2019-01-23 21:22:09 -08:00
f1f12423b1 Changes
- Add thumbnails to the card (dynamically loaded)
- Add button for embedding the video
- Store video duration in db (use update script)
- Separate links for filter views with and without query.
2018-12-17 19:17:53 -08:00
ba1961349c It's been a while 2017-10-08 21:39:07 -07:00