Reformat code

master
Felix Stupp 1 year ago
parent 1e748c4f1a
commit 203a9abaaa
Signed by: zocker
GPG Key ID: 93E1BD26F6B02FB7

@ -45,13 +45,13 @@ from pony import orm
from entertainment_decider import common from entertainment_decider import common
from entertainment_decider.models import ( from entertainment_decider.models import (
MediaCollection,
MediaCollectionLink,
MediaElement,
Query, Query,
Tag, Tag,
are_multiple_considered, are_multiple_considered,
db, db,
MediaCollection,
MediaCollectionLink,
MediaElement,
get_all_considered, get_all_considered,
setup_custom_tables, setup_custom_tables,
update_element_lookup_cache, update_element_lookup_cache,

@ -1,6 +1,15 @@
from __future__ import annotations from __future__ import annotations
from typing import Any, Dict, List, Literal, Optional, TypeVar, TypedDict, Union from typing import (
Any,
Dict,
List,
Literal,
Optional,
TypeVar,
TypedDict,
Union,
)
Weekdays = Union[ Weekdays = Union[
@ -19,11 +28,13 @@ class TvmazeCountry(TypedDict):
code: str code: str
timezone: str timezone: str
class TvmazeEmbeddings(TypedDict, total=False): class TvmazeEmbeddings(TypedDict, total=False):
show: TvmazeShow show: TvmazeShow
seasons: List[TvmazeSeason] seasons: List[TvmazeSeason]
episodes: List[TvmazeEpisode] episodes: List[TvmazeEpisode]
class TvmazeEpisode(TypedDict): class TvmazeEpisode(TypedDict):
id: int id: int
url: str url: str
@ -39,18 +50,22 @@ class TvmazeEpisode(TypedDict):
image: TvmazeImage image: TvmazeImage
summary: str summary: str
class TvmazeEpisodeEmbedded(TvmazeEpisode): class TvmazeEpisodeEmbedded(TvmazeEpisode):
_embedded: TvmazeEmbeddings _embedded: TvmazeEmbeddings
class TvmazeExternalIds(TypedDict): class TvmazeExternalIds(TypedDict):
tvrage: Optional[int] tvrage: Optional[int]
thetvdb: Optional[int] thetvdb: Optional[int]
imdb: Optional[str] imdb: Optional[str]
class TvmazeImage(TypedDict): class TvmazeImage(TypedDict):
medium: Optional[str] medium: Optional[str]
original: str original: str
def select_best_image(*image_list: TvmazeImage) -> Optional[str]: def select_best_image(*image_list: TvmazeImage) -> Optional[str]:
for image in image_list: for image in image_list:
if image is not None: if image is not None:
@ -59,6 +74,7 @@ def select_best_image(*image_list: TvmazeImage) -> Optional[str]:
return found return found
return None return None
class TvmazeNetwork(TypedDict): class TvmazeNetwork(TypedDict):
id: int id: int
name: str name: str
@ -66,13 +82,16 @@ class TvmazeNetwork(TypedDict):
webChannel: Optional[Any] webChannel: Optional[Any]
dvdCountry: Optional[TvmazeCountry] dvdCountry: Optional[TvmazeCountry]
class TvmazeRating(TypedDict): class TvmazeRating(TypedDict):
average: int average: int
class TvmazeSchedule(TypedDict): class TvmazeSchedule(TypedDict):
time: str time: str
days: List[Weekdays] days: List[Weekdays]
class TvmazeSeason(TypedDict): class TvmazeSeason(TypedDict):
id: int id: int
url: str url: str
@ -86,6 +105,7 @@ class TvmazeSeason(TypedDict):
image: TvmazeImage image: TvmazeImage
summary: str summary: str
class TvmazeShow(TypedDict): class TvmazeShow(TypedDict):
id: int id: int
url: str url: str
@ -107,11 +127,14 @@ class TvmazeShow(TypedDict):
summary: str summary: str
updated: int updated: int
class TvmazeShowEmbedded(TvmazeShow): class TvmazeShowEmbedded(TvmazeShow):
_embedded: TvmazeEmbeddings _embedded: TvmazeEmbeddings
T = TypeVar("T", bound=Dict) T = TypeVar("T", bound=Dict)
def add_embedding(object: T, key: str, value: Any, parent_key: str = "_embedded") -> T: def add_embedding(object: T, key: str, value: Any, parent_key: str = "_embedded") -> T:
if parent_key not in object: if parent_key not in object:
object[parent_key] = {} object[parent_key] = {}

@ -19,7 +19,6 @@ DataType: TypeAlias = List[List[MediaElement]]
class AggregatedCollectionExtractor(CollectionExtractor[DataType]): class AggregatedCollectionExtractor(CollectionExtractor[DataType]):
__uri_regex = re.compile(r"^aggregated:///(?P<id>\d+(,\d+)*)") __uri_regex = re.compile(r"^aggregated:///(?P<id>\d+(,\d+)*)")
@classmethod @classmethod

@ -3,7 +3,13 @@ from __future__ import annotations
from datetime import datetime, timedelta from datetime import datetime, timedelta
import logging import logging
import math import math
from typing import Any, Callable, Mapping, Optional, TypeVar from typing import (
Any,
Callable,
Mapping,
Optional,
TypeVar,
)
from pony import orm from pony import orm

@ -25,7 +25,6 @@ T = TypeVar("T")
class TmdbBaseExtractor(CollectionExtractor[T]): class TmdbBaseExtractor(CollectionExtractor[T]):
TMDB_CLASS: ClassVar[str] TMDB_CLASS: ClassVar[str]
SUPPORTED_PATTERN = re.compile( SUPPORTED_PATTERN = re.compile(
@ -72,7 +71,6 @@ class TmdbBaseExtractor(CollectionExtractor[T]):
class TmdbCollectionExtractor(TmdbBaseExtractor[TmdbCollectionData]): class TmdbCollectionExtractor(TmdbBaseExtractor[TmdbCollectionData]):
TMDB_CLASS = "collection" TMDB_CLASS = "collection"
def _extract_online(self, uri: str) -> ExtractedDataOnline[TmdbCollectionData]: def _extract_online(self, uri: str) -> ExtractedDataOnline[TmdbCollectionData]:
@ -112,7 +110,6 @@ class TmdbCollectionExtractor(TmdbBaseExtractor[TmdbCollectionData]):
class TmdbKeywordExtractor(TmdbBaseExtractor[TmdbKeywordData]): class TmdbKeywordExtractor(TmdbBaseExtractor[TmdbKeywordData]):
TMDB_CLASS = "keyword" TMDB_CLASS = "keyword"
def _extract_online(self, uri: str) -> ExtractedDataOnline[TmdbKeywordData]: def _extract_online(self, uri: str) -> ExtractedDataOnline[TmdbKeywordData]:

@ -18,7 +18,6 @@ from .base import CollectionExtractor
class TtRssCollectionExtractor(CollectionExtractor[HeadlineList]): class TtRssCollectionExtractor(CollectionExtractor[HeadlineList]):
__params: TtRssConnectionParameter __params: TtRssConnectionParameter
__label_filter: Optional[int] __label_filter: Optional[int]
__mark_as_read: bool __mark_as_read: bool

@ -8,8 +8,15 @@ from typing import List, Optional
from pony import orm # TODO remove from pony import orm # TODO remove
import requests import requests
from ...models import MediaCollection, Tag from ...models import (
from ..all.tvmaze import TvmazeEpisodeEmbedded, TvmazeShowEmbedded, add_embedding MediaCollection,
Tag,
)
from ..all.tvmaze import (
TvmazeEpisodeEmbedded,
TvmazeShowEmbedded,
add_embedding,
)
from ..generic import ( from ..generic import (
ChangedReport, ChangedReport,
ExtractedDataOnline, ExtractedDataOnline,
@ -20,7 +27,6 @@ from .base import CollectionExtractor
class TvmazeCollectionExtractor(CollectionExtractor[TvmazeShowEmbedded]): class TvmazeCollectionExtractor(CollectionExtractor[TvmazeShowEmbedded]):
SUPPORTED_PATTERN = re.compile( SUPPORTED_PATTERN = re.compile(
r"""^ r"""^
( (

@ -8,7 +8,10 @@ from enum import Enum
import logging import logging
from typing import Generic, Optional, TypeVar from typing import Generic, Optional, TypeVar
from ..models import MediaCollection, MediaElement from ..models import (
MediaCollection,
MediaElement,
)
T = TypeVar("T") T = TypeVar("T")
@ -33,7 +36,6 @@ class ChangedReport(Enum):
class SuitableLevel(Enum): class SuitableLevel(Enum):
NO = (False, False) NO = (False, False)
FALLBACK = (True, False) FALLBACK = (True, False)
ALWAYS = (True, True) ALWAYS = (True, True)
@ -142,10 +144,14 @@ E = TypeVar("E", MediaElement, MediaCollection)
class GeneralExtractor(Generic[E, T]): class GeneralExtractor(Generic[E, T]):
name: str name: str
def __init__(self, name: str): def __init__(
self,
name: str,
):
self.key = key
self.long_name = long_name
self.name = name self.name = name
# abstract (for media & collection base classes) # abstract (for media & collection base classes)

@ -6,8 +6,16 @@ from typing import List, Optional
from pony import orm from pony import orm
from ...models import MediaElement, MediaThumbnail, Query, Tag from ...models import (
from ..all.tmdb import TmdbMovieData, TMDB_REGEX_URI MediaElement,
MediaThumbnail,
Query,
Tag,
)
from ..all.tmdb import (
TMDB_REGEX_URI,
TmdbMovieData,
)
from ..generic import ( from ..generic import (
ChangedReport, ChangedReport,
ExtractedDataOnline, ExtractedDataOnline,
@ -19,7 +27,6 @@ from .base import MediaExtractor
class TmdbMovieMediaExtractor(MediaExtractor[TmdbMovieData]): class TmdbMovieMediaExtractor(MediaExtractor[TmdbMovieData]):
SUPPORTED_PATTERN = re.compile( SUPPORTED_PATTERN = re.compile(
rf"""^ rf"""^
{TMDB_REGEX_URI} {TMDB_REGEX_URI}

@ -7,7 +7,11 @@ from typing import Optional
import requests import requests
from ...models import MediaElement, MediaThumbnail from ...models import MediaElement, MediaThumbnail
from ..all.tvmaze import TvmazeEpisodeEmbedded, TvmazeShowEmbedded, select_best_image from ..all.tvmaze import (
TvmazeEpisodeEmbedded,
TvmazeShowEmbedded,
select_best_image,
)
from ..generic import ( from ..generic import (
ChangedReport, ChangedReport,
ExtractedDataOnline, ExtractedDataOnline,
@ -19,7 +23,6 @@ from .base import MediaExtractor
class TvmazeMediaExtractor(MediaExtractor[TvmazeEpisodeEmbedded]): class TvmazeMediaExtractor(MediaExtractor[TvmazeEpisodeEmbedded]):
SUPPORTED_PATTERN = re.compile( SUPPORTED_PATTERN = re.compile(
r"""^ r"""^
( (

@ -5,7 +5,10 @@ import logging
import re import re
from typing import Optional from typing import Optional
from youtubesearchpython import ResultMode, Video from youtubesearchpython import (
ResultMode,
Video,
)
from ...models import ( from ...models import (
MediaElement, MediaElement,

@ -23,7 +23,6 @@ from .base import MediaExtractor
class YtdlMediaExtractor(MediaExtractor[Dict]): class YtdlMediaExtractor(MediaExtractor[Dict]):
SUPPORTED_PATTERN = re.compile( SUPPORTED_PATTERN = re.compile(
r"""^ r"""^
https?:// https?://

Loading…
Cancel
Save