2efc5ed38d
Fix subscript typo.
2021-10-28 23:30:38 -07:00
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
413f9af568
Replace some flask.abort with exc.jsonify responses.
2021-10-26 12:18:55 -07:00
39f78a7fbe
Return the channel ID during endpoints that change it.
2021-10-26 12:03:40 -07:00
c435b1ada5
Add some flasktools.required_fields where missing.
2021-10-26 11:57:55 -07:00
2d2a45a2a1
Add web interface for Channel.set_name.
2021-10-26 11:53:49 -07:00
257c54d19b
Commit when adding channel after navigating to its page.
2021-10-25 14:05:02 -07:00
c22f20fcf8
Use worms, add more ycli functions.
2021-10-15 21:00:04 -07:00
0adeb55790
Match renamed flasktools.json_response.
2021-10-01 23:04:41 -07:00
ec402dcd0b
Let endpoint return new values of queuefile_ext, download_dir.
2021-09-15 18:55:14 -07:00
ad306ae771
Make better use of vlogging.
2021-09-08 19:31:56 -07:00
6068d644b9
Add autorefresh to Channel to include/exclude in refresh_all loop.
2021-09-05 01:26:34 -07:00
0418cae57a
Move truthystring to stringtools.
2021-09-05 01:22:21 -07:00
2ad85ad69a
Add Channel.set_download_directory.
2021-09-01 23:37:43 -07:00
8af64598a2
Split /channel, /videos, /watch routes. Improve handling of 404 video.
2021-08-25 17:33:19 -07:00
491992b606
Some linting.
2021-08-20 22:59:17 -07:00
b90618a93b
Fix leftover imports.
2021-06-07 14:56:54 -07:00
f2a81720bd
Move make_json_response to voussoirkit.flasktools.
2021-06-04 21:50:09 -07:00
d2af56c3f0
Reduce excessive hash spacer.
2021-06-04 21:41:46 -07:00
d76d592501
Add endpoint /all_channels.json to facilitate future autocomplete.
2021-06-04 21:41:30 -07:00
83672736d5
Remove unnecessary intermediate variable ip.
2021-06-04 21:34:05 -07:00
8a6f33851e
Pass skip_failures=True from frontend button.
2021-04-21 21:31:03 -07:00
d185a3f451
Update requirements.txt.
2021-04-04 11:17:11 -07:00
9b6af96b95
Use voussoirkit.flasktools for gzip_response.
2021-04-02 18:31:04 -07:00
e00bfa368b
Update docstring "launch ycdl_flask_dev, _prod".
2021-04-02 18:00:01 -07:00
cfad775a0a
Move published_string to a property of the Video object.
2021-03-24 20:29:15 -07:00
b134a8783b
Remove unnecessary query_string argument.
2021-03-24 20:09:23 -07:00
9c5fb4fec1
Move jsonify methods to the objects instead of separate file.
2021-02-25 19:46:00 -08:00
65fdae97da
Store request.is_localhost like Etiquette.
2021-02-25 19:45:11 -08:00
ced16d9063
Don't traceback.print_exc.
2020-11-15 21:10:01 -08:00
8cdf18b987
Wrap long line.
2020-11-09 20:20:45 -08:00
bb72c40c53
Add option --localhost_only.
2020-09-30 15:15:30 -07:00
4f6080859a
Synchronize Etiquette and YCDL.
2020-09-22 02:59:17 -07:00
741cddc2e4
Add set_queuefile_extension method, endpoint, and ui.
2020-09-16 10:23:38 -07:00
d0e803aa66
Supply the orderby argument to channel.html template.
2020-09-05 17:48:29 -07:00
e5910c55f2
Rename database column download
to state
.
2020-09-04 15:55:48 -07:00
26704c238e
Fix catch ytapi.ChannelNotFound and return json 404.
2020-09-04 10:48:08 -07:00
c37cd60d4d
Compress responses with gzip.
2020-08-28 16:43:02 -07:00
3f3eda58b1
Move logging basicconfig effort to frontmost application layer.
2020-08-12 11:17:10 -07:00
ee89582a1b
Return 404 when channel could not be added and still does not exist.
2020-08-12 10:28:06 -07:00
be45de55f5
Use generator comprehension instead of list comprehension for ?q.
2020-08-11 21:50:38 -07:00
b660d700b9
Add endpoint and gui button for deleting channels.
2020-08-10 18:30:56 -07:00
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
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
21af1576c2
Move endpoints into separate files like Etiquette.
2020-05-21 20:04:02 -07:00
57d87560a4
Add interface for setting automark state.
2020-05-21 17:28:34 -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
275db1e608
Fix typo googleapicliet -> googleapiclient.
2020-03-28 17:07:18 -07:00
4effa64694
Move endpoints to new endpoints.py.
2020-03-28 17:05:43 -07:00
1b2778ca7a
Rename ycdl_flask.py to common.py.
2020-03-28 16:56:06 -07:00