497 Commits (master)

Author SHA1 Message Date
Felix Stupp e6fa101c1d
MediaThumbnail.download: Raise error if thumbnail has no valid mime type 3 years ago
Felix Stupp 518e0fd675
Add rss extractor 3 years ago
Felix Stupp 159e8842e4
TVMaze: Auto remove older episodes 3 years ago
Felix Stupp 4d7b3a09ab
extractors/collection/tmdb: Remove unused imports 3 years ago
Felix Stupp ee6d235a6c
TMDB: Use TagKey for predefined & genre tags 3 years ago
Felix Stupp 4d10e70fb2
TMDB: Add new type for GenreTitle 3 years ago
Felix Stupp e24b5b2458
TVMaze: use predefined series tag instead of general video tag 3 years ago
Felix Stupp 0d84f14eec
Add "type: ignore" to packages without types 3 years ago
Felix Stupp 327919d469
Reformat code 3 years ago
Felix Stupp 2af78f0a81
extractors/media/tmdb: Remove unused import 3 years ago
Felix Stupp 6cba603d9c
Define a set of predefined tags (video, movie, series) 3 years ago
Felix Stupp bc6a25b914
MediaCollection.add_episode: Do not update season/episode info if set to 0 3 years ago
Felix Stupp 30ac2b1240
Tag: On non-preference tags see super tags as assigned ones
- hence letting a non-preference tag be accounted for nothing
- but using its "super tags" as the direct replacements for it
3 years ago
Felix Stupp dd583e9aea
TagKey: Allow Tag objects for super_tags
Subsequently for get_tag as well
3 years ago
Felix Stupp e97b09f495
Add super "extractor" tag for extractor's tags 3 years ago
Felix Stupp 952fd088c9
Add tag based on extractor used 3 years ago
Felix Stupp ecd43706fd
Add long_name, key to general extractor attributes 3 years ago
Felix Stupp a3a07e6ce0
tvmaze: Assign tags based on country, language, network/webchannel, genre, type based on TagKey
- type & genre were already supported before but now use TagKey instead of correctly titled tags
3 years ago
Felix Stupp c5eb23ebff
Add TagKey
- tags generated automatically & managed by the system & extractors
- can be found by searching for their tag keys
3 years ago
Felix Stupp b5ac2ab931
Add module for localization tags (namely country & language tags) 3 years ago
Felix Stupp 203a9abaaa
Reformat code 3 years ago
Felix Stupp 1e748c4f1a
youtube: Ignore trailing slashes and fragments on URIs 3 years ago
Felix Stupp 088269f272
youtube: Add tags for keywords 3 years ago
Felix Stupp 49c5d47893
Extracted youtube datatypes to extractors/all module 3 years ago
Felix Stupp 3a19ecbfcc
youtube: Add support for working with extracted keywords 3 years ago
Felix Stupp 6a232bfab9
extractors/*/youtube: Also allow mobile URIs 3 years ago
Felix Stupp e043265b23
Add support for configuring DB charset 3 years ago
Felix Stupp 15bb848610
tag_scoring: Rework share_score to be recursive on direct tags 3 years ago
Felix Stupp 52c7934acb
Decouple tag_scoring from model entities
By using Protocol typing
3 years ago
Felix Stupp 8472fc4c0d
Add maintenance page with button to scrub temporary tags 3 years ago
Felix Stupp ed1e5b3f26
Extract temporary tag management in own methods
Also added way to uniquely identifiying them
3 years ago
Felix Stupp 059111068a
update_element_lookup_cache on forced single update 3 years ago
Felix Stupp eaa2bcbfe2
Improved change detection for updates 3 years ago
Felix Stupp 5bbef2a5a1
recommendations/adaptive: Require max_length, ask if not given
- to speed up usage of adaptive recommendations
- as users had no chance of inserting a max length (which speeds up
calculation) before a first general search was started
- now users can insert a max length before starting a first calculation
3 years ago
Felix Stupp 328f234711
Refractor models.py into 2 submodules 3 years ago
Felix Stupp 9fabb39f86
models: Reformat generate_preference_list in sub-methods 3 years ago
Felix Stupp da6c58e058
generate_preference_list: Add list prefilter 3 years ago
Felix Stupp a29da46bfe
generate_preference_list: Use SQL to retrieve tags of elements 3 years ago
Felix Stupp 5a16fc5dc6
models: generate_preference_list: Add comments 3 years ago
Felix Stupp c4f9d7aac1
models.py: Reformat code 3 years ago
Felix Stupp 8810f4cc6d
models.py: Declare TypeAlias explicitly 3 years ago
Felix Stupp d6d65574bd
Add adaptive recommendations 3 years ago
Felix Stupp 5b875a6e05
models: generate_preference_list:gen_score: rewrite 3 years ago
Felix Stupp 4775ee582b
Tag: make notes nullable 3 years ago
Felix Stupp 4a7381ea8e
tag_list: Show tag notes 3 years ago
Felix Stupp d8bfb5061d
Allow to manually set single media dependencies 3 years ago
Felix Stupp e964b3f3f3
Add button to show recommendation per media 3 years ago
Felix Stupp b41e40dea8
Add sidebar with common recommendations (short filler, series episode, movies) 3 years ago
Felix Stupp c51a9acbe9
generate_preference_list: Declare base as optional 3 years ago
Felix Stupp 073af5d2e6
thumbnail view: Allow selecting multiple elements to mark as
first JavaScript supported feature
3 years ago
Felix Stupp 9fd314115a
thumbnail view: Hide common trails on media titles in collections 3 years ago
Felix Stupp 73343f0f82
macros/thumbnail_view_list: Allow faster mass check for considerable overlay 3 years ago
Felix Stupp 688433d22a
thumbnail view: Add overlay to unconsidered media
- calling functions can define, if overlay or check for considerable is required
3 years ago
Felix Stupp 4866901159
thumbnail view: Search for collection link if requested
- uses one found, if only one was found to prevent issues when multiple
would be possible
3 years ago
Felix Stupp e8ee39aa29
thumbnail view: Link to collection if known & requested 3 years ago
Felix Stupp a2c7ad2bbe
thumbnail view: show left time when video started 3 years ago
Felix Stupp d1a303caa5
thumbnail view: Show colored marker when video already started 3 years ago
Felix Stupp eab216407d
thumbnail view: Show colorful overlay when watched/ignored 3 years ago
Felix Stupp 9fda8b376a
thumbnail view: show overlay when buttons are displayed 3 years ago
Felix Stupp 6f0241982e
Implement thumbnail view 3 years ago
Felix Stupp 0ca9fc0dca
app.py: Add missing imports & type var already used 3 years ago
Felix Stupp feecb6b3a1
tag_list: Add title to tag ids for super/sub tags
shown with mouse hover
3 years ago
Felix Stupp 0acac98226
dashboard: Rename header "Other latest video", remove "other" 3 years ago
Felix Stupp 7a4dbe5e53
dashboard: Link to all pinned collections when no episodes to watch are found 3 years ago
Felix Stupp 2a3a97a6e8
Add watch in order toggle button to collection table 3 years ago
Felix Stupp ac652762fd
Show count & to watch count in collection table
Calculated using SQL and not Stats class
3 years ago
Felix Stupp 18a2294cc8
Do not show collection statistics in collection table
Too ineffiecient for using on (nearly) all collections the same time
3 years ago
Felix Stupp 269bdc140c
Hide collection id in collection table 3 years ago
Felix Stupp d9a95dae1a
Show thumbnail of next or first episode in collection list 3 years ago
Felix Stupp 5beb0a8bdf
Do not use fragment on next episode of collection 3 years ago
Felix Stupp c33f59873b
Do not show random val on recommendations
- no recommendation algo uses random values anymore
3 years ago
Felix Stupp 001db8712b
Set single extractor uri field on autofocus 3 years ago
Felix Stupp bf5049ce25
Add mass extract support for collections & medias 3 years ago
Felix Stupp 01c1276a90
Sort collections of media element by title 3 years ago
Felix Stupp 41cd85ebbe
media_element: Show average release of all relevant collections 3 years ago
Felix Stupp cdb6cb754d
Display release date of media element in form "X months ago" 3 years ago
Felix Stupp a3a304e097
Add form to set progress on media element 3 years ago
Felix Stupp 22418120e9
Show thumbnail of media element aside description 3 years ago
Felix Stupp fa32bb2439
Show description of media element if set 3 years ago
Felix Stupp 986d322f83
Retheme media_element html template
- for further additions
3 years ago
Felix Stupp 120a42476a
templates/macros: Allow embeddings into post_form 3 years ago
Felix Stupp a03f31222c
Show sub collections of a collection 3 years ago
Felix Stupp cce84e5ac4
Show collection description if set 3 years ago
Felix Stupp 41e23f33a0
Show average release length for collections 3 years ago
Felix Stupp 4c9ce313e2
Show count of elements in a collection 3 years ago
Felix Stupp a77cf3ce8f
Translate "umschalten" to "toggle" 3 years ago
Felix Stupp 395bf74f0c
Show button to toggle Collection's ignore 3 years ago
Felix Stupp c97559ed62
Reworked ExtractedData classes, split into Offline & Online 3 years ago
Felix Stupp bba57e82d8
app.py: Rewrite & add type hints and guards for mypy 3 years ago
Felix Stupp 487b126fe1
Add aggregated extraction support 3 years ago
Felix Stupp 0d75fa72bd
Add TMDB extraction support 3 years ago
Felix Stupp 1139219e23
Add support for TVMaze extraction 3 years ago
Felix Stupp 9ffb34b972
Use ExtractedDataLight where data cannot be supplied 3 years ago
Felix Stupp d6768135f3
MediaExtractor: Fix type hints to Generic from super class 3 years ago
Felix Stupp 9c7fd0d4cd
Extract media_extract_uri_new from media_extract_uri 3 years ago
Felix Stupp 0554dcff18
Extract collection_extract_uri_new from collection_extract_uri 3 years ago
Felix Stupp af1c279eb3
YouTubeCollectionExtractor: Set creator if already extracted 3 years ago
Felix Stupp 9b31fb73cb
YouTubeCollectionExtractor: Set a release_date determined by first video 3 years ago
Felix Stupp cacc6e9a05
YouTubeCollectionExtractor: Reformat code 3 years ago
Felix Stupp 4a690688f6
YouTubeCollectionExtractor: Use sorting_method to sort channel videos by date 3 years ago
Felix Stupp 8f100ad917
YouTubeCollectionExtractor: Extract description 3 years ago
Felix Stupp 7913cd3561
YouTubeCollectionExtractor: allow partial-only updates on channels 3 years ago
Felix Stupp 2dd0b575fa
TT-RSS: Set collection author & watch in order auto val 3 years ago
Felix Stupp e4a50288d6
Enable mark_as_read for TT-RSS extractor 3 years ago
Felix Stupp 081964a336
Add many properties to MediaCollection 3 years ago
Felix Stupp fc35a62871
Extract set_watch_in_order_auto to MediaCollection 3 years ago
Felix Stupp 97796ce499
Remove unused methods from PreferenceScore
- order_by_score & get_first_by_score
- easily replaceable by sorted / min calls
3 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
3 years ago
Felix Stupp 3c64bc6f66
generate_preference_score: Add auto tag for extractor 3 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
3 years ago
Felix Stupp bd77ed7fb0
generate_preference_list: Move var res_ids to appropiate section 3 years ago
Felix Stupp 0599b03daa
generate_preference_list: Separate sections of god method 3 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
3 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
3 years ago
Felix Stupp 7b96a6e2c6
Add MediaCollectionLink.desc_sort_key 3 years ago
Felix Stupp 0b44e77677
Reorder attributes of MediaCollection 3 years ago
Felix Stupp 7248ef96cd
entertainment_decider/models: Add return types for mypy 3 years ago
Felix Stupp e53ffccef3
Reorder & categorize MediaElement attributes 3 years ago
Felix Stupp 9ea4a728d6
Rework Tagable implementation
Split into orm compatible & non-compatible methods

FIX Tagable on MediaElement

FIX Tagable MediaColl
3 years ago
Felix Stupp c7b63dfedb
models: Fix build of custom table defs
- missing .items() call for "for" with dict
- missing db session on setup
3 years ago
Felix Stupp bbaa79f20a
models:table_exists: use pony-given approach 3 years ago
Felix Stupp 51a13abb88
entertainment_decider/models: Remove TODO about static table names 3 years ago
Felix Stupp fd7d413fe2
Add MediaElement properties detected_{creators,playlists} 3 years ago
Felix Stupp c8d755770f
Allow PreferenceScore.adapt_score to apply only flat 3 years ago
Felix Stupp c766ca1c58
Reformat PreferenceScore.adapt_score 3 years ago
Felix Stupp ee9f89a87d
Tagable: Implement tag_hierachy & all_tags separately
Other implementation of all_tags makes it much, much faster
3 years ago
Felix Stupp d56cf1ae94
TagTreeElement.shareScore: Filter tags for score sharing by use_for_preferences 3 years ago
Felix Stupp 760010e743
Rewrite PreferenceScore.(from|to)_base64 to method chaining
Solves mypy issues while looking clean
3 years ago
Felix Stupp a039aafff2
PreferenceScore.calculate_score improved 3 years ago
Felix Stupp 4f0c8cb82d
Adapt to renaming send_file parameters of Flask 3 years ago
Felix Stupp cf80adda94
Declare MediaCollection.release_date nullable 3 years ago
Felix Stupp 51c1ee5c08
Add missing Optional on _load_object & use explcit is None checks 3 years ago
Felix Stupp 2214df4561
Add capability to inject episodes from collection updates 3 years ago
Felix Stupp 7c96aaa6a7
Avoid circular dependency by moving import into function 3 years ago
Felix Stupp 39b3ac278b
extractors: Add & Fix return types
tt_rss's _update_object_raw should have never returned a str
3 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
3 years ago
Felix Stupp c59000847d
Decrease external cache time for ytdl to 1 day 3 years ago
Felix Stupp 94fc20cb89
Declare entertainment_decider/extractors a module
by creating an empty __init__.py
3 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)
3 years ago
Felix Stupp ae047a0c47
extractors/generic: Clean code
- Reformat
- Add return types
- Remove unrequired imports
3 years ago
Felix Stupp 5d68e03971
common: Add helper for string trimming
like defined in PEP 257
3 years ago
Felix Stupp 43e1d6902f
common: Add helper to convert date to datetime 3 years ago
Felix Stupp ddb248ca62
common: Add type hints to call helper 3 years ago
Felix Stupp 051d4a7ccd
Added logging to suitable extractor search 3 years ago
Felix Stupp f8b9825a2a
TtRssCollectionExtractor: Increase cache timeout to 15 minutes 3 years ago
Felix Stupp e486dccf8e
Add capability to mark TT-RSS feed items as read 3 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 ...)
3 years ago
Felix Stupp f51cbc31c3
CollectionExtractor._add_episode: Only log on link change 3 years ago
Felix Stupp a1b64d8644
extractors/collection/base: Reformat code 3 years ago
Felix Stupp ed8fc4439e
Introduce dynamic cache calculation for YouTube collection 3 years ago