Commit Graph

53 Commits (c0235901c640e9705e79cfe39289c950d56f3d7e)

Author SHA1 Message Date
voussoir c0235901c6
Separate try-except for the get_video loop and mark loop.
This will help prevent inconsistent state where some videos get marked,
then one raises, and the db rolls back but the other objects still have
their state attribute set.
2021-10-26 12:23:45 -07:00
voussoir 413f9af568
Replace some flask.abort with exc.jsonify responses. 2021-10-26 12:18:55 -07:00
voussoir 39f78a7fbe
Return the channel ID during endpoints that change it. 2021-10-26 12:03:40 -07:00
voussoir c435b1ada5
Add some flasktools.required_fields where missing. 2021-10-26 11:57:55 -07:00
voussoir 2d2a45a2a1
Add web interface for Channel.set_name. 2021-10-26 11:53:49 -07:00
voussoir 257c54d19b
Commit when adding channel after navigating to its page. 2021-10-25 14:05:02 -07:00
voussoir c22f20fcf8
Use worms, add more ycli functions. 2021-10-15 21:00:04 -07:00
voussoir 0adeb55790
Match renamed flasktools.json_response. 2021-10-01 23:04:41 -07:00
voussoir ec402dcd0b
Let endpoint return new values of queuefile_ext, download_dir. 2021-09-15 18:55:14 -07:00
voussoir ad306ae771
Make better use of vlogging. 2021-09-08 19:31:56 -07:00
voussoir 6068d644b9
Add autorefresh to Channel to include/exclude in refresh_all loop. 2021-09-05 01:26:34 -07:00
voussoir 0418cae57a
Move truthystring to stringtools. 2021-09-05 01:22:21 -07:00
voussoir 2ad85ad69a
Add Channel.set_download_directory. 2021-09-01 23:37:43 -07:00
voussoir 8af64598a2
Split /channel, /videos, /watch routes. Improve handling of 404 video. 2021-08-25 17:33:19 -07:00
voussoir 491992b606
Some linting. 2021-08-20 22:59:17 -07:00
voussoir b90618a93b
Fix leftover imports. 2021-06-07 14:56:54 -07:00
voussoir f2a81720bd
Move make_json_response to voussoirkit.flasktools. 2021-06-04 21:50:09 -07:00
voussoir d2af56c3f0
Reduce excessive hash spacer. 2021-06-04 21:41:46 -07:00
voussoir d76d592501
Add endpoint /all_channels.json to facilitate future autocomplete. 2021-06-04 21:41:30 -07:00
voussoir 83672736d5
Remove unnecessary intermediate variable ip. 2021-06-04 21:34:05 -07:00
voussoir 8a6f33851e
Pass skip_failures=True from frontend button. 2021-04-21 21:31:03 -07:00
voussoir d185a3f451
Update requirements.txt. 2021-04-04 11:17:11 -07:00
voussoir 9b6af96b95
Use voussoirkit.flasktools for gzip_response. 2021-04-02 18:31:04 -07:00
voussoir e00bfa368b
Update docstring "launch ycdl_flask_dev, _prod". 2021-04-02 18:00:01 -07:00
voussoir cfad775a0a
Move published_string to a property of the Video object. 2021-03-24 20:29:15 -07:00
voussoir b134a8783b
Remove unnecessary query_string argument. 2021-03-24 20:09:23 -07:00
voussoir 9c5fb4fec1
Move jsonify methods to the objects instead of separate file. 2021-02-25 19:46:00 -08:00
voussoir 65fdae97da
Store request.is_localhost like Etiquette. 2021-02-25 19:45:11 -08:00
voussoir ced16d9063 Don't traceback.print_exc. 2020-11-15 21:10:01 -08:00
voussoir 8cdf18b987 Wrap long line. 2020-11-09 20:20:45 -08:00
voussoir bb72c40c53 Add option --localhost_only. 2020-09-30 15:15:30 -07:00
voussoir 4f6080859a Synchronize Etiquette and YCDL. 2020-09-22 02:59:17 -07:00
voussoir 741cddc2e4 Add set_queuefile_extension method, endpoint, and ui. 2020-09-16 10:23:38 -07:00
voussoir d0e803aa66 Supply the orderby argument to channel.html template. 2020-09-05 17:48:29 -07:00
voussoir e5910c55f2 Rename database column `download` to `state`. 2020-09-04 15:55:48 -07:00
voussoir 26704c238e Fix catch ytapi.ChannelNotFound and return json 404. 2020-09-04 10:48:08 -07:00
voussoir c37cd60d4d Compress responses with gzip. 2020-08-28 16:43:02 -07:00
voussoir 3f3eda58b1 Move logging basicconfig effort to frontmost application layer. 2020-08-12 11:17:10 -07:00
voussoir ee89582a1b Return 404 when channel could not be added and still does not exist. 2020-08-12 10:28:06 -07:00
voussoir be45de55f5 Use generator comprehension instead of list comprehension for ?q. 2020-08-11 21:50:38 -07:00
voussoir b660d700b9 Add endpoint and gui button for deleting channels. 2020-08-10 18:30:56 -07:00
voussoir 4911cee910 Use generators instead of lists for loading / searching videos.
Previously, creating the list meant that all database rows would be
loaded and objected even if you had a limit in place on your page
query, which was a huge waste.
2020-07-01 17:54:36 -07:00
voussoir 3e27e6e2e8 Add separate API endpoint for add_channel, apply to web ui.
Previously, the "add channel" box was just calling refresh, which
implicitly adds the channel. This adds a separate endpoint for
add_channel, and as a bonus the web ui will navigate you to the
channel after it has been loaded.
2020-05-21 22:16:02 -07:00
voussoir 21af1576c2 Move endpoints into separate files like Etiquette. 2020-05-21 20:04:02 -07:00
voussoir 57d87560a4 Add interface for setting automark state. 2020-05-21 17:28:34 -07:00
voussoir 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
voussoir 275db1e608 Fix typo googleapicliet -> googleapiclient. 2020-03-28 17:07:18 -07:00
voussoir 4effa64694 Move endpoints to new endpoints.py. 2020-03-28 17:05:43 -07:00
voussoir 1b2778ca7a Rename ycdl_flask.py to common.py. 2020-03-28 16:56:06 -07:00
voussoir 790fbd7b9a Remove this ifmain. 2020-03-28 16:53:39 -07:00