diff --git a/backend/appsettings/serializers.py b/backend/appsettings/serializers.py index a690f37d..22f3fb44 100644 --- a/backend/appsettings/serializers.py +++ b/backend/appsettings/serializers.py @@ -24,6 +24,7 @@ class AppConfigSubSerializer( channel_size = serializers.IntegerField(required=False) live_channel_size = serializers.IntegerField(required=False) shorts_channel_size = serializers.IntegerField(required=False) + playlist_size = serializers.IntegerField(required=False) auto_start = serializers.BooleanField(required=False) extract_flat = serializers.BooleanField(required=False) diff --git a/backend/appsettings/src/config.py b/backend/appsettings/src/config.py index 52c69bb6..2fb9247a 100644 --- a/backend/appsettings/src/config.py +++ b/backend/appsettings/src/config.py @@ -21,6 +21,7 @@ class SubscriptionsConfigType(TypedDict): channel_size: int live_channel_size: int shorts_channel_size: int + playlist_size: int auto_start: bool extract_flat: bool @@ -73,6 +74,7 @@ class AppConfig: "channel_size": 50, "live_channel_size": 50, "shorts_channel_size": 50, + "playlist_size": 50, "auto_start": False, "extract_flat": False, }, diff --git a/backend/download/src/subscriptions.py b/backend/download/src/subscriptions.py index 3c8df7dc..47c27deb 100644 --- a/backend/download/src/subscriptions.py +++ b/backend/download/src/subscriptions.py @@ -75,7 +75,7 @@ class PlaylistSubscription: if not all_playlists: return 0 - size_limit = self.config["subscriptions"]["channel_size"] + size_limit = self.config["subscriptions"]["playlist_size"] all_playlist_urls: list[ParsedURLType] = [] for playlist in all_playlists: all_playlist_urls.append( diff --git a/frontend/src/api/loader/loadAppsettingsConfig.ts b/frontend/src/api/loader/loadAppsettingsConfig.ts index 3a6489fd..19091533 100644 --- a/frontend/src/api/loader/loadAppsettingsConfig.ts +++ b/frontend/src/api/loader/loadAppsettingsConfig.ts @@ -5,6 +5,7 @@ export type AppSettingsConfigType = { channel_size: number | null; live_channel_size: number | null; shorts_channel_size: number | null; + playlist_size: number | null; auto_start: boolean; extract_flat: boolean; }; diff --git a/frontend/src/pages/SettingsApplication.tsx b/frontend/src/pages/SettingsApplication.tsx index d4a45f7f..718f5d1a 100644 --- a/frontend/src/pages/SettingsApplication.tsx +++ b/frontend/src/pages/SettingsApplication.tsx @@ -41,6 +41,7 @@ const SettingsApplication = () => { const [videoPageSize, setVideoPageSize] = useState(null); const [livePageSize, setLivePageSize] = useState(null); const [shortPageSize, setShortPageSize] = useState(null); + const [playlistPageSize, setPlaylistPageSize] = useState(null); const [isAutostart, setIsAutostart] = useState(false); const [isExtractFlat, setIsExtractFlat] = useState(false); @@ -98,6 +99,7 @@ const SettingsApplication = () => { setVideoPageSize(appSettingsConfigData?.subscriptions.channel_size || null); setLivePageSize(appSettingsConfigData?.subscriptions.live_channel_size || null); setShortPageSize(appSettingsConfigData?.subscriptions.shorts_channel_size || null); + setPlaylistPageSize(appSettingsConfigData?.subscriptions.playlist_size || null); setIsAutostart(appSettingsConfigData?.subscriptions.auto_start || false); setIsExtractFlat(appSettingsConfigData?.subscriptions.extract_flat || false); @@ -260,6 +262,19 @@ const SettingsApplication = () => { updateCallback={handleUpdateConfig} /> +
+
+

Playlist page size

+
+ +

Autostart download subscriptions

diff --git a/frontend/src/stores/AppSettingsStore.ts b/frontend/src/stores/AppSettingsStore.ts index d3410431..844285e5 100644 --- a/frontend/src/stores/AppSettingsStore.ts +++ b/frontend/src/stores/AppSettingsStore.ts @@ -12,6 +12,7 @@ export const useAppSettingsStore = create(set => ({ channel_size: null, live_channel_size: null, shorts_channel_size: null, + playlist_size: null, auto_start: false, extract_flat: false, },