490 Commits (master)

Author SHA1 Message Date
Felix Stupp eab216407d
thumbnail view: Show colorful overlay when watched/ignored 2 years ago
Felix Stupp 9fda8b376a
thumbnail view: show overlay when buttons are displayed 2 years ago
Felix Stupp 6f0241982e
Implement thumbnail view 2 years ago
Felix Stupp 0ca9fc0dca
app.py: Add missing imports & type var already used 2 years ago
Felix Stupp feecb6b3a1
tag_list: Add title to tag ids for super/sub tags
shown with mouse hover
2 years ago
Felix Stupp 0acac98226
dashboard: Rename header "Other latest video", remove "other" 2 years ago
Felix Stupp 7a4dbe5e53
dashboard: Link to all pinned collections when no episodes to watch are found 2 years ago
Felix Stupp 2a3a97a6e8
Add watch in order toggle button to collection table 2 years ago
Felix Stupp ac652762fd
Show count & to watch count in collection table
Calculated using SQL and not Stats class
2 years ago
Felix Stupp 18a2294cc8
Do not show collection statistics in collection table
Too ineffiecient for using on (nearly) all collections the same time
2 years ago
Felix Stupp 269bdc140c
Hide collection id in collection table 2 years ago
Felix Stupp d9a95dae1a
Show thumbnail of next or first episode in collection list 2 years ago
Felix Stupp 5beb0a8bdf
Do not use fragment on next episode of collection 2 years ago
Felix Stupp c33f59873b
Do not show random val on recommendations
- no recommendation algo uses random values anymore
2 years ago
Felix Stupp 001db8712b
Set single extractor uri field on autofocus 2 years ago
Felix Stupp bf5049ce25
Add mass extract support for collections & medias 2 years ago
Felix Stupp 01c1276a90
Sort collections of media element by title 2 years ago
Felix Stupp 41cd85ebbe
media_element: Show average release of all relevant collections 2 years ago
Felix Stupp cdb6cb754d
Display release date of media element in form "X months ago" 2 years ago
Felix Stupp a3a304e097
Add form to set progress on media element 2 years ago
Felix Stupp 22418120e9
Show thumbnail of media element aside description 2 years ago
Felix Stupp fa32bb2439
Show description of media element if set 2 years ago
Felix Stupp 986d322f83
Retheme media_element html template
- for further additions
2 years ago
Felix Stupp 120a42476a
templates/macros: Allow embeddings into post_form 2 years ago
Felix Stupp a03f31222c
Show sub collections of a collection 2 years ago
Felix Stupp cce84e5ac4
Show collection description if set 2 years ago
Felix Stupp 41e23f33a0
Show average release length for collections 2 years ago
Felix Stupp 4c9ce313e2
Show count of elements in a collection 2 years ago
Felix Stupp a77cf3ce8f
Translate "umschalten" to "toggle" 2 years ago
Felix Stupp 395bf74f0c
Show button to toggle Collection's ignore 2 years ago
Felix Stupp c97559ed62
Reworked ExtractedData classes, split into Offline & Online 2 years ago
Felix Stupp bba57e82d8
app.py: Rewrite & add type hints and guards for mypy 2 years ago
Felix Stupp 487b126fe1
Add aggregated extraction support 2 years ago
Felix Stupp 0d75fa72bd
Add TMDB extraction support 2 years ago
Felix Stupp 1139219e23
Add support for TVMaze extraction 2 years ago
Felix Stupp 9ffb34b972
Use ExtractedDataLight where data cannot be supplied 2 years ago
Felix Stupp d6768135f3
MediaExtractor: Fix type hints to Generic from super class 2 years ago
Felix Stupp 9c7fd0d4cd
Extract media_extract_uri_new from media_extract_uri 2 years ago
Felix Stupp 0554dcff18
Extract collection_extract_uri_new from collection_extract_uri 2 years ago
Felix Stupp af1c279eb3
YouTubeCollectionExtractor: Set creator if already extracted 2 years ago
Felix Stupp 9b31fb73cb
YouTubeCollectionExtractor: Set a release_date determined by first video 2 years ago
Felix Stupp cacc6e9a05
YouTubeCollectionExtractor: Reformat code 2 years ago
Felix Stupp 4a690688f6
YouTubeCollectionExtractor: Use sorting_method to sort channel videos by date 2 years ago
Felix Stupp 8f100ad917
YouTubeCollectionExtractor: Extract description 2 years ago
Felix Stupp 7913cd3561
YouTubeCollectionExtractor: allow partial-only updates on channels 2 years ago
Felix Stupp 2dd0b575fa
TT-RSS: Set collection author & watch in order auto val 2 years ago
Felix Stupp e4a50288d6
Enable mark_as_read for TT-RSS extractor 2 years ago
Felix Stupp 081964a336
Add many properties to MediaCollection 2 years ago
Felix Stupp fc35a62871
Extract set_watch_in_order_auto to MediaCollection 2 years ago
Felix Stupp 97796ce499
Remove unused methods from PreferenceScore
- order_by_score & get_first_by_score
- easily replaceable by sorted / min calls
2 years ago
Felix Stupp 8cedaee7ba
generate_preference_score: Add static scores
for following properties:
- id (for consistent order)
- age
- began to watch
- count of tags
- times pinned
2 years ago
Felix Stupp 3c64bc6f66
generate_preference_score: Add auto tag for extractor 2 years ago
Felix Stupp 0e266c55b6
generate_preference_list: Use set instead of recalling object_gen
- removes advanced feature of listing blocked videos ahead
  - was not practical for UI as videos were displayed which "require" others
- using a set to manage still to consider videos makes method way faster
2 years ago
Felix Stupp bd77ed7fb0
generate_preference_list: Move var res_ids to appropiate section 2 years ago
Felix Stupp 0599b03daa
generate_preference_list: Separate sections of god method 2 years ago
Felix Stupp 1145a09e3e
generate_preference_list: Add "collection tags" by iter collections
itering collections than elements for their collections is most of the
time faster as mostly all collections are involved
2 years ago
Felix Stupp 748201ec2b
generate_preference_list: Revert Tag table auto incr value
- not reverted by default when ROLLBACK on MariaDB is issued
- resetting to 1 works because DB will still ensure no duplicates occure
2 years ago
Felix Stupp 7b96a6e2c6
Add MediaCollectionLink.desc_sort_key 2 years ago
Felix Stupp 0b44e77677
Reorder attributes of MediaCollection 2 years ago
Felix Stupp 7248ef96cd
entertainment_decider/models: Add return types for mypy 2 years ago
Felix Stupp e53ffccef3
Reorder & categorize MediaElement attributes 2 years ago
Felix Stupp 9ea4a728d6
Rework Tagable implementation
Split into orm compatible & non-compatible methods

FIX Tagable on MediaElement

FIX Tagable MediaColl
2 years ago
Felix Stupp c7b63dfedb
models: Fix build of custom table defs
- missing .items() call for "for" with dict
- missing db session on setup
2 years ago
Felix Stupp bbaa79f20a
models:table_exists: use pony-given approach 2 years ago
Felix Stupp 51a13abb88
entertainment_decider/models: Remove TODO about static table names 2 years ago
Felix Stupp fd7d413fe2
Add MediaElement properties detected_{creators,playlists} 2 years ago
Felix Stupp c8d755770f
Allow PreferenceScore.adapt_score to apply only flat 2 years ago
Felix Stupp c766ca1c58
Reformat PreferenceScore.adapt_score 2 years ago
Felix Stupp ee9f89a87d
Tagable: Implement tag_hierachy & all_tags separately
Other implementation of all_tags makes it much, much faster
2 years ago
Felix Stupp d56cf1ae94
TagTreeElement.shareScore: Filter tags for score sharing by use_for_preferences 2 years ago
Felix Stupp 760010e743
Rewrite PreferenceScore.(from|to)_base64 to method chaining
Solves mypy issues while looking clean
2 years ago
Felix Stupp a039aafff2
PreferenceScore.calculate_score improved 2 years ago
Felix Stupp 4f0c8cb82d
Adapt to renaming send_file parameters of Flask 2 years ago
Felix Stupp cf80adda94
Declare MediaCollection.release_date nullable 2 years ago
Felix Stupp 51c1ee5c08
Add missing Optional on _load_object & use explcit is None checks 2 years ago
Felix Stupp 2214df4561
Add capability to inject episodes from collection updates 2 years ago
Felix Stupp 7c96aaa6a7
Avoid circular dependency by moving import into function 2 years ago
Felix Stupp 39b3ac278b
extractors: Add & Fix return types
tt_rss's _update_object_raw should have never returned a str
2 years ago
Felix Stupp 7c5d8e7748
entertainment_decider/models: Clean code for mypy
- add return types
- rename used TypeVar to avoid override
- adapt type of MediaCollection.creator to reflect Optionality
2 years ago
Felix Stupp c59000847d
Decrease external cache time for ytdl to 1 day 2 years ago
Felix Stupp 94fc20cb89
Declare entertainment_decider/extractors a module
by creating an empty __init__.py
2 years ago
Felix Stupp 6ab8781520
Add way to inject object while extracting
To save extracting work, if e.g. updating a collection also receives
data about medias in it (which then do not need any more requests)
2 years ago
Felix Stupp ae047a0c47
extractors/generic: Clean code
- Reformat
- Add return types
- Remove unrequired imports
2 years ago
Felix Stupp 5d68e03971
common: Add helper for string trimming
like defined in PEP 257
2 years ago
Felix Stupp 43e1d6902f
common: Add helper to convert date to datetime 2 years ago
Felix Stupp ddb248ca62
common: Add type hints to call helper 2 years ago
Felix Stupp 051d4a7ccd
Added logging to suitable extractor search 2 years ago
Felix Stupp f8b9825a2a
TtRssCollectionExtractor: Increase cache timeout to 15 minutes 2 years ago
Felix Stupp e486dccf8e
Add capability to mark TT-RSS feed items as read 2 years ago
Felix Stupp 321847446b
Add sorting mechanism post collection update
e.g. sort some collections strictly on release date
(if collection author is not capable of sorting them ...)
2 years ago
Felix Stupp f51cbc31c3
CollectionExtractor._add_episode: Only log on link change 2 years ago
Felix Stupp a1b64d8644
extractors/collection/base: Reformat code 2 years ago
Felix Stupp ed8fc4439e
Introduce dynamic cache calculation for YouTube collection 2 years ago
Felix Stupp 49cff6f300
uri_suitable: Explicitly check for "is not None" & use helper methods
- helper for convertion from boolean to SuitableLevel
2 years ago
Felix Stupp 54748a9540
_check_cache_expired modified to be able to access full object
for more advanced calculations about caching
2 years ago
Felix Stupp 2e97563e0e
YtdlMediaExtractor._update_object_raw: Add return type 2 years ago
Felix Stupp bdfcd43a5f
models: Extract common Uri methods to own class 2 years ago
Felix Stupp f282ad7ff1
Add property MediaElement.average_release_per_week{,_now} 2 years ago
Felix Stupp 9e4b2bab5e
Add property MediaElement.started 2 years ago
Felix Stupp 3f68d4c5fd
MediaThumbnail.data: Add reason for lazy setting 2 years ago
Felix Stupp a9cae7ab1e
MediaCollection: Add indices to keep_updated, pinned, watch_in_order
for faster DB requests
2 years ago
Felix Stupp abf01da286
MediaElement: Add indeces to watched & ignored & compositum of both 2 years ago
Felix Stupp 5267f98cad
Add MediaCollection.description attribute / column 2 years ago
Felix Stupp 214cfdffba
MediaCollection.add_episode: automatically mark new episodes or ignored colls as ignored 2 years ago
Felix Stupp fac70231e8
MediaCollection.add_episde: detect change & act accordingly
- only apply changes if episode is new or new data is given
- flush only if changes are given
- return link only on changes / creation
2 years ago
Felix Stupp 4a0a6b918a
models.py: Reformat code 2 years ago
Felix Stupp 52a5aa29d7
models: Make table names non-hardcoded 2 years ago
Felix Stupp 66c37e72aa
models: Extract table name "element_lookup_cache" to constant 2 years ago
Felix Stupp f810591c2c
Revert "Add ConsideredMediaGenerator"
This reverts commit a5844cc424,
because developed method was not fast enough & it was faster to use a
SQL native method developed afterwards
2 years ago
Felix Stupp a5844cc424
Add ConsideredMediaGenerator
Developed for faster method to find considerable media
2 years ago
Felix Stupp 7e5e58c487
models.py: Reformated code 2 years ago
Felix Stupp ef09aea0b5
MediaElement: Add index to release_date 2 years ago
Felix Stupp e5dc2db760
MediaElement.watched: Fix column name 2 years ago
Felix Stupp bbe2280255
macros: Add collection_entry macro
- similar to media_entry / link_entry
- unused for now
2 years ago
Felix Stupp 1c9c6a2502
CSS: Design navigation bar and fix onto top border 2 years ago
Felix Stupp 4df5138b82
CSS: Decrease default font size of buttons 2 years ago
Felix Stupp d4afa9028e
CSS: Increase margin&padding of buttons 2 years ago
Felix Stupp a716581337
macros:media_element_buttons: Use icons replacing text 2 years ago
Felix Stupp 2053cda5e1
macros:link_position_marker: Fix conditional comma 2 years ago
Felix Stupp 0d09b10f01
macros.htm: Make fragment usage configurable 2 years ago
Felix Stupp d0136640bd
Add CSS class to play_button 2 years ago
Felix Stupp 21365a5e24
Change play button default symbol to play icon 2 years ago
Felix Stupp 47aeeb5f34
Make play button content / symbol configurable 2 years ago
Felix Stupp 6ec7da89a9
Restrict play links to videos from ytdl / youtube
- others sadly cannot be played by mpv
2 years ago
Felix Stupp 4c9b1b0845
Link from collection to its creator if exists 2 years ago
Felix Stupp 7ff9a821c5
Add buttons to set marks on collections 2 years ago
Felix Stupp e028e0abf7
app:show_collection: extract max count 2 years ago
Felix Stupp 1b8b684b73
Add endpoint /collection/overview
- for latter added mass extract collection
2 years ago
Felix Stupp f89215e45b
Add listing for all collections 2 years ago
Felix Stupp 2aa23dec2e
app: List only root collections on collection/to_watch 2 years ago
Felix Stupp 874532572b
app: Separate _list_collections and _by_filter 2 years ago
Felix Stupp da2ca3aed4
Add support to input progress as H:MM:SS 2 years ago
Felix Stupp 8834227335
app.py: Reformat code 2 years ago
Felix Stupp 4e341f9e16
app.py: Remove unused import for jsonify 2 years ago
Felix Stupp 2ae09f1130
app.py: Reformat code 2 years ago
Felix Stupp 93eaeb7c02
app.py: Make filter timedelta handle None values 2 years ago
Felix Stupp 060662a5a1
app.py: Rename filter timedelta while keeping filter name
- to make name timedelta free
2 years ago
Felix Stupp fd109ea1e5
app.py:encode_options: Improve type hints 2 years ago
Felix Stupp 04565affb2
Add & use this_url template global helper 2 years ago
Felix Stupp 2e767fddf0
Make buttons in media tables more responsive 2 years ago
Felix Stupp 8ca61f27e9
Make media table headers shorter with blanks / icons 2 years ago
Felix Stupp 68e1394402
macros.htm: Reformat code & remove surrounding whitespace from formatting 2 years ago
Felix Stupp e5f26caff3
CSS: Enforce single-line buttons uniformly 2 years ago
Felix Stupp 92cd6e2c28
CSS: Set cursor for buttons to be uniform
- pointer for enabled buttons
- default for disabled buttons
2 years ago
Felix Stupp 057de7cd75
CSS: Remove default border from buttons 2 years ago
Felix Stupp 7a76c388ba
CSS: Retheme buttons 2 years ago
Felix Stupp b5f4f5dcf8
CSS: Set margin for commonly used h1,h2 and ul 2 years ago
Felix Stupp c0c499c30a
CSS: Set line height for body
for more compact design
2 years ago
Felix Stupp 99c32f4e81
CSS: Set margin for body 2 years ago
Felix Stupp a36d97daa3
CSS: Fix font globally 2 years ago
Felix Stupp d3c12ed79a
CSS: Collapse link styling to :any-link 2 years ago
Felix Stupp 5587bc4a74
Redesign coloring to dark theme with purple accent 2 years ago
Felix Stupp fa8cdca0db
Add reset CSS stylesheet 2 years ago
Felix Stupp f8ef40ba92
navi: Shorten Refresh button by using icon 2 years ago
Felix Stupp dfa6ee4a40
navi: Surround navigation buttons with div.navigation for CSS 2 years ago
Felix Stupp f5de2a3bbc
navi: Write out "Statistics" 2 years ago
Felix Stupp 4977c177ba
navi: shorten some names by removing words or replacing with icons 2 years ago
Felix Stupp 62e2beeab7
Add site listing long media
- longer than 10 minutes
- in opposition to short media
- added to navigation header as well
2 years ago
Felix Stupp 26dc7f7910
navi: add icon to Home link 2 years ago
Felix Stupp d31296af83
Add query stats for debugging 2 years ago
Felix Stupp 00b838fea7
stats: Add overall progress 2 years ago
Felix Stupp 3c7bb0fe68
templates: move stats.htm to stats/main.htm 2 years ago
Felix Stupp 7ea87a1e0d
Use element_lookup_cache
- caches by what elements other elements are blocked
- resolves lookups for ordered playlists
2 years ago
Felix Stupp 05fcd9fb6a
MediaElement: add direct blockings 2 years ago
Felix Stupp 53185505b1
MediaElement.left_length: return 0 if watched 2 years ago
Felix Stupp a923d99e82
MediaElement.can_considered: Only request data for ordered collections 2 years ago
Felix Stupp cc8cb6b072
models: Redefine Query to be more usable for type hinting 2 years ago
Felix Stupp 85363aed4b
MediaElement.can_considered: verify video already released 2 years ago
Felix Stupp 5c97fe4b77
Implemented element_lookup_cache
- not used for now
2 years ago
Felix Stupp 96774bc43e
Add support for custom tables 2 years ago
Felix Stupp 5dd2e85035
app.py: Remove calls to not yet commited function 2 years ago
Felix Stupp 4dc3cfe98b
app: Pin directory for static files to default one 2 years ago
Felix Stupp d014a06d60
server: Reformat code 2 years ago
Felix Stupp dcd8952604
server: Disable DB debug mode by default 2 years ago
Felix Stupp a3af276918
Fix adding began videos to dashboard
Missed to pass began videos from DB to template
2 years ago
Felix Stupp bf4ba5b0ac
Fix applying env config converters correctly
- replacing on `is not None` wasn't implemented correctly
2 years ago
Felix Stupp b589b4b42c
add support for configuring pony's DB port 2 years ago
Felix Stupp 2a7654bf9f
Add helper annotation for profiling functions 2 years ago
Felix Stupp 3cfe880ac0
app: remove unused import 2 years ago
Felix Stupp babdf8ff64
extr/media/youtube: Reraise exceptions from extraction as ExtractionErrors 2 years ago
Felix Stupp 33ac573a57
extr/media/youtube: Ignore live streams until they are available as VOD 2 years ago
Felix Stupp 922c9fd5a2
extr/media/youtube: Rename extractor to "youtube" 2 years ago
Felix Stupp 0debf4d875
extr/media/youtube: support embed & shorts video links 2 years ago
Felix Stupp 5479db90b8
extr/media/youtube: Also support youtube-nocookie links 2 years ago
Felix Stupp 35024597df
extr/media/youtube: Rewrite URI so extractor works deteministicly 2 years ago
Felix Stupp 6bb65981c9
extr/media/youtube: Explicit check for suitable URI 2 years ago
Felix Stupp 902dd1a6bf
models:MediaCollection: Add creator / created_collections relation 2 years ago
Felix Stupp 6f9adbfc25
models: Make Query Type hacky typeable 2 years ago
Felix Stupp 96e12f6fe8
extr/coll,media/youtube: Move setting URLs to media extractor 2 years ago
Felix Stupp 4e62a3fe70
extr/media/youtube: Extract description 2 years ago
Felix Stupp c9c60d4e2b
extr/media/ytdl: Extract description 2 years ago
Felix Stupp 2e9df67e86
models: Add optional description to MediaElement 2 years ago
Felix Stupp 683a7a2555
extr/media/ytdl: Add thumbnail of video 2 years ago
Felix Stupp cfa3012798
extr/media/ytdl: Restrict to https?:// urls 2 years ago
Felix Stupp f0af32c099
Extract media thumbnail automatically from YouTube 2 years ago
Felix Stupp dfee06106f
ent_dec/extr/med/base:MediaExtractor._get_auth_d: Fix not using TypeVar 2 years ago
Felix Stupp f236db4084
Format code
- server/entertainment_decider/common.py
- server/entertainment_decider/extractors/all/tt_rss.py
- server/entertainment_decider/extractors/all/ytdl.py
- server/entertainment_decider/extractors/collection/__init__.py
- server/entertainment_decider/extractors/collection/tt_rss.py
- server/entertainment_decider/extractors/collection/youtube.py
- server/entertainment_decider/extractors/generic.py
- server/entertainment_decider/extractors/helpers.py
- server/entertainment_decider/extractors/media/__init__.py
- server/entertainment_decider/extractors/media/base.py
- server/entertainment_decider/extractors/media/youtube.py
- server/entertainment_decider/extractors/media/ytdl.py

Applied automatically using black
2 years ago
Felix Stupp b7cbcbd540
Reformat models.py 2 years ago
Felix Stupp a76eb796ee
dashboard: Add began videos 2 years ago
Felix Stupp f0bf0a333c
dashboard(): Apply limit of links_f_pinned_colls at end 2 years ago