MCPcopy Create free account
hub / github.com/danielmiessler/Fabric / getTranscript

Function getTranscript

web/src/lib/services/transcriptService.ts:15–80  ·  view source on GitHub ↗
(url: string)

Source from the content-addressed store, hash-verified

13}
14
15export async function getTranscript(url: string): Promise<TranscriptResponse> {
16 try {
17 const originalLanguage = get(languageStore);
18 console.log('\n=== YouTube Transcript Service Start ===');
19 console.log('1. Request details:', {
20 url,
21 endpoint: '/api/youtube/transcript',
22 method: 'POST',
23 isYouTubeURL: url.includes('youtube.com') || url.includes('youtu.be'),
24 originalLanguage
25 });
26
27 const response = await fetch('/api/youtube/transcript', {
28 method: 'POST',
29 headers: {
30 'Content-Type': 'application/json',
31 },
32 body: JSON.stringify({
33 url,
34 language: originalLanguage // Pass original language to server
35 })
36 });
37
38 console.log('2. Server response:', {
39 status: response.status,
40 ok: response.ok,
41 type: response.type,
42 originalLanguage,
43 currentLanguage: get(languageStore)
44 });
45
46 if (!response.ok) {
47 const errorData = await response.json();
48 throw new Error(errorData.error || `HTTP error! status: ${response.status}`);
49 }
50
51 const data = await response.json();
52 if (data.error) {
53 throw new Error(data.error);
54 }
55
56 // Decode HTML entities in transcript
57 data.transcript = decodeHtmlEntities(data.transcript);
58
59 // Ensure language is preserved
60 if (get(languageStore) !== originalLanguage) {
61 console.log('3a. Restoring original language:', originalLanguage);
62 languageStore.set(originalLanguage);
63 }
64
65 console.log('3b. Processed transcript:', {
66 status: response.status,
67 transcriptLength: data.transcript.length,
68 firstChars: data.transcript.substring(0, 100),
69 hasError: !!data.error,
70 videoId: data.title,
71 originalLanguage,
72 currentLanguage: get(languageStore)

Callers

nothing calls this directly

Calls 3

fetchFunction · 0.85
decodeHtmlEntitiesFunction · 0.85
getFunction · 0.50

Tested by

no test coverage detected