diff --git a/src/utils/opensubtitles.ts b/src/utils/opensubtitles.ts
index bdfc795..e380261 100644
--- a/src/utils/opensubtitles.ts
+++ b/src/utils/opensubtitles.ts
@@ -1,29 +1,44 @@
-import { Caption, labelToLanguageCode, removeDuplicatedLanguages } from '@/providers/captions';
-import { IndividualEmbedRunnerOptions } from '@/runners/individualRunner';
-import { ProviderRunnerOptions } from '@/runners/runner';
+import {
+ Caption,
+ labelToLanguageCode,
+ removeDuplicatedLanguages,
+} from "@/providers/captions";
+import { IndividualEmbedRunnerOptions } from "@/runners/individualRunner";
+import { ProviderRunnerOptions } from "@/runners/runner";
export async function addOpenSubtitlesCaptions(
captions: Caption[],
ops: ProviderRunnerOptions | IndividualEmbedRunnerOptions,
- media: string,
+ media: string
): Promise
{
try {
const [imdbId, season, episode] = atob(media)
- .split('.')
+ .split(".")
.map((x, i) => (i === 0 ? x : Number(x) || null));
if (!imdbId) return captions;
- const Res: { LanguageName: string; SubDownloadLink: string; SubFormat: 'srt' | 'vtt' }[] = await ops.proxiedFetcher(
- `https://rest.opensubtitles.org/search/${season && episode ? `episode-${episode}/` : ''}imdbid-${(imdbId as string).slice(2)}${season && episode ? `/season-${season}` : ''}`,
+ const Res: {
+ LanguageName: string;
+ SubDownloadLink: string;
+ SubFormat: "srt" | "vtt";
+ }[] = await ops.proxiedFetcher(
+ `https://rest.opensubtitles.org/search/${
+ season && episode ? `episode-${episode}/` : ""
+ }imdbid-${(imdbId as string).slice(2)}${
+ season && episode ? `/season-${season}` : ""
+ }`,
{
headers: {
- 'X-User-Agent': 'VLSub 0.10.2',
+ "X-User-Agent": "VLSub 0.10.2",
},
- },
+ }
);
const openSubtilesCaptions: Caption[] = [];
for (const caption of Res) {
- const url = caption.SubDownloadLink.replace('.gz', '').replace('download/', 'download/subencoding-utf8/');
+ const url = caption.SubDownloadLink.replace(".gz", "").replace(
+ "download/",
+ "download/subencoding-utf8/"
+ );
const language = labelToLanguageCode(caption.LanguageName);
if (!url || !language) continue;
else
@@ -31,15 +46,12 @@ export async function addOpenSubtitlesCaptions(
id: url,
opensubtitles: true,
url,
- type: caption.SubFormat || 'srt',
+ type: caption.SubFormat || "srt",
hasCorsRestrictions: false,
language,
});
}
- return [
- ...captions,
- ...removeDuplicatedLanguages(openSubtilesCaptions),
- ];
+ return [...captions, ...removeDuplicatedLanguages(openSubtilesCaptions)];
} catch {
return captions;
}