Felix Stupp
44a630c074
Split models/entities into multiple files
1 year ago
Felix Stupp
a3ea1548aa
entertainment_decider/models/init: Add __all__
1 year ago
Felix Stupp
cf66f47b2e
Rebuild configuration loading mechanisms with Flask tools
...
- and extract Flask app initialization mostly into module
1 year ago
Felix Stupp
fc8389b3b2
models/entities: Make CUSTOM_TABLE_DEF's SQLs lazy
...
because _table_ is not yet available, but later when needed
1 year ago
Felix Stupp
f3ec68fa73
Add TypeAlias LazyValue
1 year ago
Felix Stupp
1b05346185
extras/__init__: Declare __all__
1 year ago
Felix Stupp
8d5ac34bc6
Separate MediaThumbnail & *Cache tables
1 year ago
Felix Stupp
0271728366
Reformat code
1 year ago
Felix Stupp
e6fa101c1d
MediaThumbnail.download: Raise error if thumbnail has no valid mime type
1 year ago
Felix Stupp
518e0fd675
Add rss extractor
1 year ago
Felix Stupp
159e8842e4
TVMaze: Auto remove older episodes
1 year ago
Felix Stupp
4d7b3a09ab
extractors/collection/tmdb: Remove unused imports
1 year ago
Felix Stupp
ee6d235a6c
TMDB: Use TagKey for predefined & genre tags
1 year ago
Felix Stupp
4d10e70fb2
TMDB: Add new type for GenreTitle
1 year ago
Felix Stupp
e24b5b2458
TVMaze: use predefined series tag instead of general video tag
1 year ago
Felix Stupp
0d84f14eec
Add "type: ignore" to packages without types
1 year ago
Felix Stupp
327919d469
Reformat code
1 year ago
Felix Stupp
2af78f0a81
extractors/media/tmdb: Remove unused import
1 year ago
Felix Stupp
6cba603d9c
Define a set of predefined tags (video, movie, series)
1 year ago
Felix Stupp
bc6a25b914
MediaCollection.add_episode: Do not update season/episode info if set to 0
1 year 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
1 year ago
Felix Stupp
dd583e9aea
TagKey: Allow Tag objects for super_tags
...
Subsequently for get_tag as well
1 year ago
Felix Stupp
e97b09f495
Add super "extractor" tag for extractor's tags
1 year ago
Felix Stupp
952fd088c9
Add tag based on extractor used
1 year ago
Felix Stupp
ecd43706fd
Add long_name, key to general extractor attributes
1 year 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
1 year ago
Felix Stupp
c5eb23ebff
Add TagKey
...
- tags generated automatically & managed by the system & extractors
- can be found by searching for their tag keys
1 year ago
Felix Stupp
b5ac2ab931
Add module for localization tags (namely country & language tags)
1 year ago
Felix Stupp
203a9abaaa
Reformat code
1 year ago
Felix Stupp
1e748c4f1a
youtube: Ignore trailing slashes and fragments on URIs
1 year ago
Felix Stupp
088269f272
youtube: Add tags for keywords
1 year ago
Felix Stupp
49c5d47893
Extracted youtube datatypes to extractors/all module
1 year ago
Felix Stupp
3a19ecbfcc
youtube: Add support for working with extracted keywords
1 year ago
Felix Stupp
6a232bfab9
extractors/*/youtube: Also allow mobile URIs
1 year ago
Felix Stupp
15bb848610
tag_scoring: Rework share_score to be recursive on direct tags
2 years ago
Felix Stupp
52c7934acb
Decouple tag_scoring from model entities
...
By using Protocol typing
2 years ago
Felix Stupp
8472fc4c0d
Add maintenance page with button to scrub temporary tags
2 years ago
Felix Stupp
ed1e5b3f26
Extract temporary tag management in own methods
...
Also added way to uniquely identifiying them
2 years ago
Felix Stupp
eaa2bcbfe2
Improved change detection for updates
2 years ago
Felix Stupp
328f234711
Refractor models.py into 2 submodules
2 years ago
Felix Stupp
9fabb39f86
models: Reformat generate_preference_list in sub-methods
2 years ago
Felix Stupp
da6c58e058
generate_preference_list: Add list prefilter
2 years ago
Felix Stupp
a29da46bfe
generate_preference_list: Use SQL to retrieve tags of elements
2 years ago
Felix Stupp
5a16fc5dc6
models: generate_preference_list: Add comments
2 years ago
Felix Stupp
c4f9d7aac1
models.py: Reformat code
2 years ago
Felix Stupp
8810f4cc6d
models.py: Declare TypeAlias explicitly
2 years ago
Felix Stupp
5b875a6e05
models: generate_preference_list:gen_score: rewrite
2 years ago
Felix Stupp
4775ee582b
Tag: make notes nullable
2 years ago
Felix Stupp
c51a9acbe9
generate_preference_list: Declare base as optional
2 years ago
Felix Stupp
9fd314115a
thumbnail view: Hide common trails on media titles in collections
2 years ago
Felix Stupp
c97559ed62
Reworked ExtractedData classes, split into Offline & Online
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
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