Changeset f704237 in Klonkt for src/services/MigrationService.js
- Timestamp:
- 08/14/2026 02:35:06 AM (4 weeks ago)
- Branches:
- main
- Children:
- 47f1183
- Parents:
- fc664ce
- File:
-
- 1 edited
-
src/services/MigrationService.js (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/services/MigrationService.js
rfc664ce rf704237 512 512 const rapport = { 513 513 bron: bronActor.id, posts: 0, overgeslagen: 0, opnieuw: 0, postsBijgewerkt: 0, media: 0, mediaMislukt: 0, 514 blocks: 0, tracksBinnen: 0, tracksMislukt: 0, tracksBijgewerkt: 0, overgeslagenTracks: 0,514 blocks: 0, tracksBinnen: 0, tracksMislukt: 0, tracksBijgewerkt: 0, tracksLinks: 0, overgeslagenTracks: 0, 515 515 playlistsBinnen: 0, playlistsMislukt: 0, waarschuwingen: [], 516 516 }; … … 769 769 } 770 770 } 771 const bron = a.url && (typeof a.url === 'string' ? a.url : (Array.isArray(a.url) ? (a.url[0] && (a.url[0].href || a.url[0])) : a.url.href)); 772 if (!bron || !/^https?:\/\//i.test(String(bron))) { rapport.tracksMislukt++; continue; } 771 // Uit de url-lijst de LINK NAAR HET BESTAND vissen, niet zomaar de eerste: 772 // buildTrackAudio zet er ook een text/html-link naar de post voor. En een 773 // LINK-ONLY track (alleen Spotify of YouTube, nooit een gehost bestand) 774 // heeft er helemaal geen. Die hoort gewoon mee, met media_id NULL. 775 // Weggooien kostte Robin een nummer dat het op de oude site prima deed. 776 const urls = [].concat(a.url || []).map((u) => (typeof u === 'string' ? { href: u } : u)).filter((u) => u && u.href); 777 const bestandLink = urls.find((u) => /^audio\//i.test(String(u.mediaType || ''))) 778 || urls.find((u) => /\/audio\/stream\//.test(String(u.href))); 779 const externe = urls.map((u) => String(u.href)).filter((h) => /spotify|youtube|youtu\.be|soundcloud|bandcamp/i.test(h)); 780 const bron = bestandLink && bestandLink.href; 781 if (!bron || !/^https?:\/\//i.test(String(bron))) { 782 if (externe.length) { 783 const trackIdL = ruwId(a.id) || crypto.randomUUID(); 784 try { 785 db.prepare(`INSERT OR REPLACE INTO audio_tracks 786 (id, site_id, title, artist, media_id, link_spotify, link_youtube, link_soundcloud, fedi_open) 787 VALUES (?,?,?,?,NULL,?,?,?,0)`) 788 .run(trackIdL, site.id, a.name || 'zonder titel', a.summary || a.artist || null, 789 externe.find((u) => /spotify/i.test(u)) || null, 790 externe.find((u) => /youtube|youtu\.be/i.test(u)) || null, 791 externe.find((u) => /soundcloud/i.test(u)) || null); 792 recordMigrated(site.slug, { origin: a.id, target: `${me}/ap/tracks/${trackIdL}`, sourceActor: bronActor.id, isPublic: false }); 793 trackKaart.set(String(a.id), trackIdL); 794 ruwKaart.set(ruwId(a.id), trackIdL); 795 rapport.tracksLinks++; 796 rapport.tracksBinnen++; 797 } catch (e) { 798 rapport.tracksMislukt++; 799 rapport.waarschuwingen.push(`nummer niet opgeslagen: ${a.name || a.id} (${e && e.message})`); 800 } 801 continue; 802 } 803 rapport.tracksMislukt++; 804 continue; 805 } 773 806 const g = await haalBijlage(String(bron), { 774 807 safeFetch, mediaRoot: audioRoot, fs, path, maxBytes, submap: '',
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)