fix: Issues with series requesting

This commit is contained in:
Aleksi Lassila
2024-06-08 17:33:03 +03:00
parent 711fcd5e7f
commit 033f1d35ab
3 changed files with 22 additions and 11 deletions

View File

@@ -1,15 +1,11 @@
<script lang="ts">
import MMMainLayout from './MMMainLayout.svelte';
// import MMAddToSonarr from './MMAddToSonarr.svelte';
import MMModal from './MMModal.svelte';
import ReleaseList from './Releases/MMReleasesTab.svelte';
import DownloadList from '../MediaManager/DownloadList.svelte';
import FileList from './LocalFiles/MMLocalFilesTab.svelte';
import { radarrApi, type RadarrMovie } from '../../apis/radarr/radarr-api';
import type { GrabReleaseFn } from './MediaManagerModal';
import type { Release } from '../../apis/combined-types';
import Dialog from '../Dialog/Dialog.svelte';
import MMReleasesTab from './Releases/MMReleasesTab.svelte';
import { retry } from '../../utils';
export let radarrItem: RadarrMovie;
export let onGrabRelease: (release: Release) => void = () => {};
@@ -17,7 +13,11 @@
export let modalId: symbol;
export let hidden: boolean;
$: releases = radarrApi.getReleases(radarrItem.id || -1);
$: releases = retry(
() => radarrApi.getReleases(radarrItem.id || -1),
(v) => !!v?.length,
{ retries: 2 }
);
const grabRelease: GrabReleaseFn = (release) =>
radarrApi.downloadMovie(release.guid || '', release.indexerId || -1).then((r) => {

View File

@@ -6,6 +6,7 @@
import Dialog from '../Dialog/Dialog.svelte';
import type { Release } from '../../apis/combined-types';
import MMSeasonSelectTab from './MMSeasonSelectTab.svelte';
import { retry } from '../../utils';
export let season: number | undefined = undefined;
export let sonarrItem: SonarrSeries | SonarrEpisode;
@@ -25,8 +26,18 @@
});
function getReleases(season?: number) {
if (season) return sonarrApi.getSeasonReleases(sonarrItem.id || -1, season);
else return sonarrApi.getEpisodeReleases(sonarrItem.id || -1);
if (season)
return retry(
() => sonarrApi.getSeasonReleases(sonarrItem.id || -1, season),
(v) => !!v?.length,
{ retries: 2 }
);
else
return retry(
() => sonarrApi.getEpisodeReleases(sonarrItem.id || -1),
(v) => !!v?.length,
{ retries: 2 }
);
}
onDestroy(() => {

View File

@@ -25,7 +25,7 @@
import EpisodeGrid from './EpisodeGrid.svelte';
import { formatSize } from '../../utils';
import FileDetailsDialog from './FileDetailsDialog.svelte';
import SeasonMediaManagerModal from '../MediaManagerModal/SonarrMediaManagerModal.svelte';
import SonarrMediaManagerModal from '../MediaManagerModal/SonarrMediaManagerModal.svelte';
import MMAddToSonarrDialog from '../MediaManagerModal/MMAddToSonarrDialog.svelte';
import ConfirmDialog from '../Dialog/ConfirmDialog.svelte';
import DownloadDetailsDialog from './DownloadDetailsDialog.svelte';
@@ -82,7 +82,7 @@
sonarrItem.then(
(sonarrItem) =>
sonarrItem &&
createModal(SeasonMediaManagerModal, {
createModal(SonarrMediaManagerModal, {
season: 1,
sonarrItem,
onGrabRelease
@@ -94,7 +94,7 @@
return sonarrItem.then((sonarrItem) => {
const tmdbSeries = get(tmdbSeriesData);
if (sonarrItem) {
createModal(SeasonMediaManagerModal, {
createModal(SonarrMediaManagerModal, {
season,
sonarrItem,
onGrabRelease