pstream is dead; long live pstream taciturnaxolotl.github.io/pstream-ng/
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

use labelToLanguageCode from providers repo

it's now exported

Pas 5e1bd09a 69af09a8

+10 -298
+3 -99
src/utils/externalSubtitles/febbox.ts
··· 1 1 /* eslint-disable no-console */ 2 - import { CaptionListItem } from "@/stores/player/slices/source"; 3 - 4 - // Helper function to convert language names to language codes 5 - function labelToLanguageCode(languageName: string): string { 6 - const languageMap: Record<string, string> = { 7 - English: "en", 8 - Spanish: "es", 9 - French: "fr", 10 - German: "de", 11 - Italian: "it", 12 - Portuguese: "pt", 13 - Russian: "ru", 14 - Japanese: "ja", 15 - Korean: "ko", 16 - Chinese: "zh", 17 - Arabic: "ar", 18 - Hindi: "hi", 19 - Turkish: "tr", 20 - Dutch: "nl", 21 - Polish: "pl", 22 - Swedish: "sv", 23 - Norwegian: "no", 24 - Danish: "da", 25 - Finnish: "fi", 26 - Greek: "el", 27 - Hebrew: "he", 28 - Thai: "th", 29 - Vietnamese: "vi", 30 - Indonesian: "id", 31 - Malay: "ms", 32 - Filipino: "tl", 33 - Ukrainian: "uk", 34 - Romanian: "ro", 35 - Czech: "cs", 36 - Hungarian: "hu", 37 - Bulgarian: "bg", 38 - Croatian: "hr", 39 - Serbian: "sr", 40 - Slovak: "sk", 41 - Slovenian: "sl", 42 - Estonian: "et", 43 - Latvian: "lv", 44 - Lithuanian: "lt", 45 - Icelandic: "is", 46 - Maltese: "mt", 47 - Georgian: "ka", 48 - Armenian: "hy", 49 - Azerbaijani: "az", 50 - Kazakh: "kk", 51 - Kyrgyz: "ky", 52 - Uzbek: "uz", 53 - Tajik: "tg", 54 - Turkmen: "tk", 55 - Mongolian: "mn", 56 - Persian: "fa", 57 - Urdu: "ur", 58 - Bengali: "bn", 59 - Tamil: "ta", 60 - Telugu: "te", 61 - Marathi: "mr", 62 - Gujarati: "gu", 63 - Kannada: "kn", 64 - Malayalam: "ml", 65 - Punjabi: "pa", 66 - Sinhala: "si", 67 - Nepali: "ne", 68 - Burmese: "my", 69 - Khmer: "km", 70 - Lao: "lo", 71 - Tibetan: "bo", 72 - Uyghur: "ug", 73 - Kurdish: "ku", 74 - Pashto: "ps", 75 - Dari: "prs", 76 - Sindhi: "sd", 77 - Kashmiri: "ks", 78 - Dogri: "doi", 79 - Konkani: "kok", 80 - Manipuri: "mni", 81 - Bodo: "brx", 82 - Sanskrit: "sa", 83 - Santhali: "sat", 84 - Maithili: "mai", 85 - Bhojpuri: "bho", 86 - Awadhi: "awa", 87 - Chhattisgarhi: "hne", 88 - Magahi: "mag", 89 - Rajasthani: "raj", 90 - Malvi: "mup", 91 - Bundeli: "bns", 92 - Bagheli: "bfy", 93 - Pahari: "phr", 94 - Kumaoni: "kfy", 95 - Garhwali: "gbm", 96 - Kangri: "xnr", 97 - }; 2 + import { labelToLanguageCode } from "@p-stream/providers"; 98 3 99 - return languageMap[languageName] || languageName.toLowerCase(); 100 - } 4 + import { CaptionListItem } from "@/stores/player/slices/source"; 101 5 102 6 export async function scrapeFebboxCaptions( 103 7 imdbId: string, ··· 145 49 }; 146 50 147 51 if (subtitle.subtitle_link) { 148 - const language = labelToLanguageCode(languageName); 52 + const language = labelToLanguageCode(languageName) || ""; 149 53 const fileExtension = subtitle.subtitle_link 150 54 .split(".") 151 55 .pop()
+3 -99
src/utils/externalSubtitles/opensubtitles.ts
··· 1 1 /* eslint-disable no-console */ 2 - import { CaptionListItem } from "@/stores/player/slices/source"; 3 - 4 - // Helper function to convert language names to language codes 5 - function labelToLanguageCode(languageName: string): string { 6 - const languageMap: Record<string, string> = { 7 - English: "en", 8 - Spanish: "es", 9 - French: "fr", 10 - German: "de", 11 - Italian: "it", 12 - Portuguese: "pt", 13 - Russian: "ru", 14 - Japanese: "ja", 15 - Korean: "ko", 16 - Chinese: "zh", 17 - Arabic: "ar", 18 - Hindi: "hi", 19 - Turkish: "tr", 20 - Dutch: "nl", 21 - Polish: "pl", 22 - Swedish: "sv", 23 - Norwegian: "no", 24 - Danish: "da", 25 - Finnish: "fi", 26 - Greek: "el", 27 - Hebrew: "he", 28 - Thai: "th", 29 - Vietnamese: "vi", 30 - Indonesian: "id", 31 - Malay: "ms", 32 - Filipino: "tl", 33 - Ukrainian: "uk", 34 - Romanian: "ro", 35 - Czech: "cs", 36 - Hungarian: "hu", 37 - Bulgarian: "bg", 38 - Croatian: "hr", 39 - Serbian: "sr", 40 - Slovak: "sk", 41 - Slovenian: "sl", 42 - Estonian: "et", 43 - Latvian: "lv", 44 - Lithuanian: "lt", 45 - Icelandic: "is", 46 - Maltese: "mt", 47 - Georgian: "ka", 48 - Armenian: "hy", 49 - Azerbaijani: "az", 50 - Kazakh: "kk", 51 - Kyrgyz: "ky", 52 - Uzbek: "uz", 53 - Tajik: "tg", 54 - Turkmen: "tk", 55 - Mongolian: "mn", 56 - Persian: "fa", 57 - Urdu: "ur", 58 - Bengali: "bn", 59 - Tamil: "ta", 60 - Telugu: "te", 61 - Marathi: "mr", 62 - Gujarati: "gu", 63 - Kannada: "kn", 64 - Malayalam: "ml", 65 - Punjabi: "pa", 66 - Sinhala: "si", 67 - Nepali: "ne", 68 - Burmese: "my", 69 - Khmer: "km", 70 - Lao: "lo", 71 - Tibetan: "bo", 72 - Uyghur: "ug", 73 - Kurdish: "ku", 74 - Pashto: "ps", 75 - Dari: "prs", 76 - Sindhi: "sd", 77 - Kashmiri: "ks", 78 - Dogri: "doi", 79 - Konkani: "kok", 80 - Manipuri: "mni", 81 - Bodo: "brx", 82 - Sanskrit: "sa", 83 - Santhali: "sat", 84 - Maithili: "mai", 85 - Bhojpuri: "bho", 86 - Awadhi: "awa", 87 - Chhattisgarhi: "hne", 88 - Magahi: "mag", 89 - Rajasthani: "raj", 90 - Malvi: "mup", 91 - Bundeli: "bns", 92 - Bagheli: "bfy", 93 - Pahari: "phr", 94 - Kumaoni: "kfy", 95 - Garhwali: "gbm", 96 - Kangri: "xnr", 97 - }; 2 + import { labelToLanguageCode } from "@p-stream/providers"; 98 3 99 - return languageMap[languageName] || languageName.toLowerCase(); 100 - } 4 + import { CaptionListItem } from "@/stores/player/slices/source"; 101 5 102 6 export async function scrapeOpenSubtitlesCaptions( 103 7 imdbId: string, ··· 127 31 "download/", 128 32 "download/subencoding-utf8/", 129 33 ); 130 - const language = labelToLanguageCode(caption.LanguageName); 34 + const language = labelToLanguageCode(caption.LanguageName) || ""; 131 35 132 36 if (!downloadUrl || !language) continue; 133 37
+3 -99
src/utils/externalSubtitles/vdrk.ts
··· 1 1 /* eslint-disable no-console */ 2 - import { CaptionListItem } from "@/stores/player/slices/source"; 3 - 4 - // Helper function to convert language names to language codes 5 - function labelToLanguageCode(languageName: string): string { 6 - const languageMap: Record<string, string> = { 7 - English: "en", 8 - Spanish: "es", 9 - French: "fr", 10 - German: "de", 11 - Italian: "it", 12 - Portuguese: "pt", 13 - Russian: "ru", 14 - Japanese: "ja", 15 - Korean: "ko", 16 - Chinese: "zh", 17 - Arabic: "ar", 18 - Hindi: "hi", 19 - Turkish: "tr", 20 - Dutch: "nl", 21 - Polish: "pl", 22 - Swedish: "sv", 23 - Norwegian: "no", 24 - Danish: "da", 25 - Finnish: "fi", 26 - Greek: "el", 27 - Hebrew: "he", 28 - Thai: "th", 29 - Vietnamese: "vi", 30 - Indonesian: "id", 31 - Malay: "ms", 32 - Filipino: "tl", 33 - Ukrainian: "uk", 34 - Romanian: "ro", 35 - Czech: "cs", 36 - Hungarian: "hu", 37 - Bulgarian: "bg", 38 - Croatian: "hr", 39 - Serbian: "sr", 40 - Slovak: "sk", 41 - Slovenian: "sl", 42 - Estonian: "et", 43 - Latvian: "lv", 44 - Lithuanian: "lt", 45 - Icelandic: "is", 46 - Maltese: "mt", 47 - Georgian: "ka", 48 - Armenian: "hy", 49 - Azerbaijani: "az", 50 - Kazakh: "kk", 51 - Kyrgyz: "ky", 52 - Uzbek: "uz", 53 - Tajik: "tg", 54 - Turkmen: "tk", 55 - Mongolian: "mn", 56 - Persian: "fa", 57 - Urdu: "ur", 58 - Bengali: "bn", 59 - Tamil: "ta", 60 - Telugu: "te", 61 - Marathi: "mr", 62 - Gujarati: "gu", 63 - Kannada: "kn", 64 - Malayalam: "ml", 65 - Punjabi: "pa", 66 - Sinhala: "si", 67 - Nepali: "ne", 68 - Burmese: "my", 69 - Khmer: "km", 70 - Lao: "lo", 71 - Tibetan: "bo", 72 - Uyghur: "ug", 73 - Kurdish: "ku", 74 - Pashto: "ps", 75 - Dari: "prs", 76 - Sindhi: "sd", 77 - Kashmiri: "ks", 78 - Dogri: "doi", 79 - Konkani: "kok", 80 - Manipuri: "mni", 81 - Bodo: "brx", 82 - Sanskrit: "sa", 83 - Santhali: "sat", 84 - Maithili: "mai", 85 - Bhojpuri: "bho", 86 - Awadhi: "awa", 87 - Chhattisgarhi: "hne", 88 - Magahi: "mag", 89 - Rajasthani: "raj", 90 - Malvi: "mup", 91 - Bundeli: "bns", 92 - Bagheli: "bfy", 93 - Pahari: "phr", 94 - Kumaoni: "kfy", 95 - Garhwali: "gbm", 96 - Kangri: "xnr", 97 - }; 2 + import { labelToLanguageCode } from "@p-stream/providers"; 98 3 99 - return languageMap[languageName] || languageName.toLowerCase(); 100 - } 4 + import { CaptionListItem } from "@/stores/player/slices/source"; 101 5 102 6 export async function scrapeVdrkCaptions( 103 7 tmdbId: string | number, ··· 144 48 .replace(/\s*Hi\d*$/, "") 145 49 .replace(/\s*Hi$/, "") 146 50 .replace(/\d+$/, ""); 147 - const language = labelToLanguageCode(languageName); 51 + const language = labelToLanguageCode(languageName) || ""; 148 52 149 53 if (!language) continue; 150 54
+1 -1
src/utils/externalSubtitles/wyzie.ts
··· 31 31 32 32 const wyzieCaptions: CaptionListItem[] = wyzieSubtitles.map((subtitle) => ({ 33 33 id: subtitle.id, 34 - language: subtitle.language, 34 + language: subtitle.language || "unknown", 35 35 url: subtitle.url, 36 36 type: 37 37 subtitle.format === "srt" || subtitle.format === "vtt"