mirror of
https://github.com/p-stream/p-stream.git
synced 2026-01-11 20:10:32 +00:00
use labelToLanguageCode from providers repo
it's now exported
This commit is contained in:
parent
69af09a8de
commit
5e1bd09af5
4 changed files with 10 additions and 298 deletions
|
|
@ -1,104 +1,8 @@
|
|||
/* eslint-disable no-console */
|
||||
import { labelToLanguageCode } from "@p-stream/providers";
|
||||
|
||||
import { CaptionListItem } from "@/stores/player/slices/source";
|
||||
|
||||
// Helper function to convert language names to language codes
|
||||
function labelToLanguageCode(languageName: string): string {
|
||||
const languageMap: Record<string, string> = {
|
||||
English: "en",
|
||||
Spanish: "es",
|
||||
French: "fr",
|
||||
German: "de",
|
||||
Italian: "it",
|
||||
Portuguese: "pt",
|
||||
Russian: "ru",
|
||||
Japanese: "ja",
|
||||
Korean: "ko",
|
||||
Chinese: "zh",
|
||||
Arabic: "ar",
|
||||
Hindi: "hi",
|
||||
Turkish: "tr",
|
||||
Dutch: "nl",
|
||||
Polish: "pl",
|
||||
Swedish: "sv",
|
||||
Norwegian: "no",
|
||||
Danish: "da",
|
||||
Finnish: "fi",
|
||||
Greek: "el",
|
||||
Hebrew: "he",
|
||||
Thai: "th",
|
||||
Vietnamese: "vi",
|
||||
Indonesian: "id",
|
||||
Malay: "ms",
|
||||
Filipino: "tl",
|
||||
Ukrainian: "uk",
|
||||
Romanian: "ro",
|
||||
Czech: "cs",
|
||||
Hungarian: "hu",
|
||||
Bulgarian: "bg",
|
||||
Croatian: "hr",
|
||||
Serbian: "sr",
|
||||
Slovak: "sk",
|
||||
Slovenian: "sl",
|
||||
Estonian: "et",
|
||||
Latvian: "lv",
|
||||
Lithuanian: "lt",
|
||||
Icelandic: "is",
|
||||
Maltese: "mt",
|
||||
Georgian: "ka",
|
||||
Armenian: "hy",
|
||||
Azerbaijani: "az",
|
||||
Kazakh: "kk",
|
||||
Kyrgyz: "ky",
|
||||
Uzbek: "uz",
|
||||
Tajik: "tg",
|
||||
Turkmen: "tk",
|
||||
Mongolian: "mn",
|
||||
Persian: "fa",
|
||||
Urdu: "ur",
|
||||
Bengali: "bn",
|
||||
Tamil: "ta",
|
||||
Telugu: "te",
|
||||
Marathi: "mr",
|
||||
Gujarati: "gu",
|
||||
Kannada: "kn",
|
||||
Malayalam: "ml",
|
||||
Punjabi: "pa",
|
||||
Sinhala: "si",
|
||||
Nepali: "ne",
|
||||
Burmese: "my",
|
||||
Khmer: "km",
|
||||
Lao: "lo",
|
||||
Tibetan: "bo",
|
||||
Uyghur: "ug",
|
||||
Kurdish: "ku",
|
||||
Pashto: "ps",
|
||||
Dari: "prs",
|
||||
Sindhi: "sd",
|
||||
Kashmiri: "ks",
|
||||
Dogri: "doi",
|
||||
Konkani: "kok",
|
||||
Manipuri: "mni",
|
||||
Bodo: "brx",
|
||||
Sanskrit: "sa",
|
||||
Santhali: "sat",
|
||||
Maithili: "mai",
|
||||
Bhojpuri: "bho",
|
||||
Awadhi: "awa",
|
||||
Chhattisgarhi: "hne",
|
||||
Magahi: "mag",
|
||||
Rajasthani: "raj",
|
||||
Malvi: "mup",
|
||||
Bundeli: "bns",
|
||||
Bagheli: "bfy",
|
||||
Pahari: "phr",
|
||||
Kumaoni: "kfy",
|
||||
Garhwali: "gbm",
|
||||
Kangri: "xnr",
|
||||
};
|
||||
|
||||
return languageMap[languageName] || languageName.toLowerCase();
|
||||
}
|
||||
|
||||
export async function scrapeFebboxCaptions(
|
||||
imdbId: string,
|
||||
season?: number,
|
||||
|
|
@ -145,7 +49,7 @@ export async function scrapeFebboxCaptions(
|
|||
};
|
||||
|
||||
if (subtitle.subtitle_link) {
|
||||
const language = labelToLanguageCode(languageName);
|
||||
const language = labelToLanguageCode(languageName) || "";
|
||||
const fileExtension = subtitle.subtitle_link
|
||||
.split(".")
|
||||
.pop()
|
||||
|
|
|
|||
|
|
@ -1,104 +1,8 @@
|
|||
/* eslint-disable no-console */
|
||||
import { labelToLanguageCode } from "@p-stream/providers";
|
||||
|
||||
import { CaptionListItem } from "@/stores/player/slices/source";
|
||||
|
||||
// Helper function to convert language names to language codes
|
||||
function labelToLanguageCode(languageName: string): string {
|
||||
const languageMap: Record<string, string> = {
|
||||
English: "en",
|
||||
Spanish: "es",
|
||||
French: "fr",
|
||||
German: "de",
|
||||
Italian: "it",
|
||||
Portuguese: "pt",
|
||||
Russian: "ru",
|
||||
Japanese: "ja",
|
||||
Korean: "ko",
|
||||
Chinese: "zh",
|
||||
Arabic: "ar",
|
||||
Hindi: "hi",
|
||||
Turkish: "tr",
|
||||
Dutch: "nl",
|
||||
Polish: "pl",
|
||||
Swedish: "sv",
|
||||
Norwegian: "no",
|
||||
Danish: "da",
|
||||
Finnish: "fi",
|
||||
Greek: "el",
|
||||
Hebrew: "he",
|
||||
Thai: "th",
|
||||
Vietnamese: "vi",
|
||||
Indonesian: "id",
|
||||
Malay: "ms",
|
||||
Filipino: "tl",
|
||||
Ukrainian: "uk",
|
||||
Romanian: "ro",
|
||||
Czech: "cs",
|
||||
Hungarian: "hu",
|
||||
Bulgarian: "bg",
|
||||
Croatian: "hr",
|
||||
Serbian: "sr",
|
||||
Slovak: "sk",
|
||||
Slovenian: "sl",
|
||||
Estonian: "et",
|
||||
Latvian: "lv",
|
||||
Lithuanian: "lt",
|
||||
Icelandic: "is",
|
||||
Maltese: "mt",
|
||||
Georgian: "ka",
|
||||
Armenian: "hy",
|
||||
Azerbaijani: "az",
|
||||
Kazakh: "kk",
|
||||
Kyrgyz: "ky",
|
||||
Uzbek: "uz",
|
||||
Tajik: "tg",
|
||||
Turkmen: "tk",
|
||||
Mongolian: "mn",
|
||||
Persian: "fa",
|
||||
Urdu: "ur",
|
||||
Bengali: "bn",
|
||||
Tamil: "ta",
|
||||
Telugu: "te",
|
||||
Marathi: "mr",
|
||||
Gujarati: "gu",
|
||||
Kannada: "kn",
|
||||
Malayalam: "ml",
|
||||
Punjabi: "pa",
|
||||
Sinhala: "si",
|
||||
Nepali: "ne",
|
||||
Burmese: "my",
|
||||
Khmer: "km",
|
||||
Lao: "lo",
|
||||
Tibetan: "bo",
|
||||
Uyghur: "ug",
|
||||
Kurdish: "ku",
|
||||
Pashto: "ps",
|
||||
Dari: "prs",
|
||||
Sindhi: "sd",
|
||||
Kashmiri: "ks",
|
||||
Dogri: "doi",
|
||||
Konkani: "kok",
|
||||
Manipuri: "mni",
|
||||
Bodo: "brx",
|
||||
Sanskrit: "sa",
|
||||
Santhali: "sat",
|
||||
Maithili: "mai",
|
||||
Bhojpuri: "bho",
|
||||
Awadhi: "awa",
|
||||
Chhattisgarhi: "hne",
|
||||
Magahi: "mag",
|
||||
Rajasthani: "raj",
|
||||
Malvi: "mup",
|
||||
Bundeli: "bns",
|
||||
Bagheli: "bfy",
|
||||
Pahari: "phr",
|
||||
Kumaoni: "kfy",
|
||||
Garhwali: "gbm",
|
||||
Kangri: "xnr",
|
||||
};
|
||||
|
||||
return languageMap[languageName] || languageName.toLowerCase();
|
||||
}
|
||||
|
||||
export async function scrapeOpenSubtitlesCaptions(
|
||||
imdbId: string,
|
||||
season?: number,
|
||||
|
|
@ -127,7 +31,7 @@ export async function scrapeOpenSubtitlesCaptions(
|
|||
"download/",
|
||||
"download/subencoding-utf8/",
|
||||
);
|
||||
const language = labelToLanguageCode(caption.LanguageName);
|
||||
const language = labelToLanguageCode(caption.LanguageName) || "";
|
||||
|
||||
if (!downloadUrl || !language) continue;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,104 +1,8 @@
|
|||
/* eslint-disable no-console */
|
||||
import { labelToLanguageCode } from "@p-stream/providers";
|
||||
|
||||
import { CaptionListItem } from "@/stores/player/slices/source";
|
||||
|
||||
// Helper function to convert language names to language codes
|
||||
function labelToLanguageCode(languageName: string): string {
|
||||
const languageMap: Record<string, string> = {
|
||||
English: "en",
|
||||
Spanish: "es",
|
||||
French: "fr",
|
||||
German: "de",
|
||||
Italian: "it",
|
||||
Portuguese: "pt",
|
||||
Russian: "ru",
|
||||
Japanese: "ja",
|
||||
Korean: "ko",
|
||||
Chinese: "zh",
|
||||
Arabic: "ar",
|
||||
Hindi: "hi",
|
||||
Turkish: "tr",
|
||||
Dutch: "nl",
|
||||
Polish: "pl",
|
||||
Swedish: "sv",
|
||||
Norwegian: "no",
|
||||
Danish: "da",
|
||||
Finnish: "fi",
|
||||
Greek: "el",
|
||||
Hebrew: "he",
|
||||
Thai: "th",
|
||||
Vietnamese: "vi",
|
||||
Indonesian: "id",
|
||||
Malay: "ms",
|
||||
Filipino: "tl",
|
||||
Ukrainian: "uk",
|
||||
Romanian: "ro",
|
||||
Czech: "cs",
|
||||
Hungarian: "hu",
|
||||
Bulgarian: "bg",
|
||||
Croatian: "hr",
|
||||
Serbian: "sr",
|
||||
Slovak: "sk",
|
||||
Slovenian: "sl",
|
||||
Estonian: "et",
|
||||
Latvian: "lv",
|
||||
Lithuanian: "lt",
|
||||
Icelandic: "is",
|
||||
Maltese: "mt",
|
||||
Georgian: "ka",
|
||||
Armenian: "hy",
|
||||
Azerbaijani: "az",
|
||||
Kazakh: "kk",
|
||||
Kyrgyz: "ky",
|
||||
Uzbek: "uz",
|
||||
Tajik: "tg",
|
||||
Turkmen: "tk",
|
||||
Mongolian: "mn",
|
||||
Persian: "fa",
|
||||
Urdu: "ur",
|
||||
Bengali: "bn",
|
||||
Tamil: "ta",
|
||||
Telugu: "te",
|
||||
Marathi: "mr",
|
||||
Gujarati: "gu",
|
||||
Kannada: "kn",
|
||||
Malayalam: "ml",
|
||||
Punjabi: "pa",
|
||||
Sinhala: "si",
|
||||
Nepali: "ne",
|
||||
Burmese: "my",
|
||||
Khmer: "km",
|
||||
Lao: "lo",
|
||||
Tibetan: "bo",
|
||||
Uyghur: "ug",
|
||||
Kurdish: "ku",
|
||||
Pashto: "ps",
|
||||
Dari: "prs",
|
||||
Sindhi: "sd",
|
||||
Kashmiri: "ks",
|
||||
Dogri: "doi",
|
||||
Konkani: "kok",
|
||||
Manipuri: "mni",
|
||||
Bodo: "brx",
|
||||
Sanskrit: "sa",
|
||||
Santhali: "sat",
|
||||
Maithili: "mai",
|
||||
Bhojpuri: "bho",
|
||||
Awadhi: "awa",
|
||||
Chhattisgarhi: "hne",
|
||||
Magahi: "mag",
|
||||
Rajasthani: "raj",
|
||||
Malvi: "mup",
|
||||
Bundeli: "bns",
|
||||
Bagheli: "bfy",
|
||||
Pahari: "phr",
|
||||
Kumaoni: "kfy",
|
||||
Garhwali: "gbm",
|
||||
Kangri: "xnr",
|
||||
};
|
||||
|
||||
return languageMap[languageName] || languageName.toLowerCase();
|
||||
}
|
||||
|
||||
export async function scrapeVdrkCaptions(
|
||||
tmdbId: string | number,
|
||||
season?: number,
|
||||
|
|
@ -144,7 +48,7 @@ export async function scrapeVdrkCaptions(
|
|||
.replace(/\s*Hi\d*$/, "")
|
||||
.replace(/\s*Hi$/, "")
|
||||
.replace(/\d+$/, "");
|
||||
const language = labelToLanguageCode(languageName);
|
||||
const language = labelToLanguageCode(languageName) || "";
|
||||
|
||||
if (!language) continue;
|
||||
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ export async function scrapeWyzieCaptions(
|
|||
|
||||
const wyzieCaptions: CaptionListItem[] = wyzieSubtitles.map((subtitle) => ({
|
||||
id: subtitle.id,
|
||||
language: subtitle.language,
|
||||
language: subtitle.language || "unknown",
|
||||
url: subtitle.url,
|
||||
type:
|
||||
subtitle.format === "srt" || subtitle.format === "vtt"
|
||||
|
|
|
|||
Loading…
Reference in a new issue