Changeset 98acb97 in Klonkt for src/services/ArchiveImportService.js
- Timestamp:
- 08/14/2026 12:03:55 AM (4 weeks ago)
- Branches:
- main
- Children:
- eb071a7
- Parents:
- 9529d7b
- File:
-
- 1 edited
-
src/services/ArchiveImportService.js (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/services/ArchiveImportService.js
r9529d7b r98acb97 135 135 * (en bij een droogloop dus niet, maar het verslag klopt wel) 136 136 */ 137 /** 138 * Een hoes uit het archief terugzetten. Geeft het nieuwe /media-pad terug, of 139 * null als het bestand er niet in zat: dan liever GEEN cover_url dan een 140 * verwijzing naar niets. 141 */ 142 function hoesTerug(files, bestand, werk) { 143 if (!bestand) return null; 144 const bytes = files.get(bestand); 145 if (!bytes || !bytes.length) return null; 146 const naam = path.basename(String(bestand)); 147 if (!naam || naam.includes('/') || naam.includes('\\') || naam.startsWith('.')) return null; 148 const urlPad = `/media/archief/${naam}`; 149 const doel = veiligMediaPad(urlPad); 150 if (!doel) return null; 151 werk.push({ soort: 'media', doel, bytes }); 152 return urlPad; 153 } 154 137 155 function tracksTerug(files, site, rapport) { 138 156 const buf = files.get('tracks.json'); … … 160 178 continue; 161 179 } 162 werk.push({ soort: 'track', doel: path.join(path.resolve(AUDIO_ROOT), naam), bytes, id, t, naam }); 180 const hoes = hoesTerug(files, t['shaer:coverFile'], werk); 181 werk.push({ soort: 'track', doel: path.join(path.resolve(AUDIO_ROOT), naam), bytes, id, t, naam, hoes }); 163 182 rapport.tracks += 1; 164 183 } … … 182 201 const kwijt = (p['shaer:tracks'] || []).length - items.length; 183 202 if (kwijt) rapport.waarschuwingen.push(`playlist ${p.name || id}: ${kwijt} nummer(s) ontbreken en zijn eruit gelaten`); 184 werk.push({ soort: 'playlist', p, id, items }); 203 const hoes = hoesTerug(files, p['shaer:coverFile'], werk); 204 werk.push({ soort: 'playlist', p, id, items, hoes }); 185 205 rapport.playlists += 1; 186 206 } … … 395 415 .run(s.id, site.id, s.t.name || 'zonder titel', s.t.artist || null, s.t.album || null, 396 416 s.t.duration || null, mediaId, s.t.position ?? null, s.t.credit || null, s.t.license || null, 397 s. t['shaer:coverUrl']|| null, s.t['shaer:downloadable'] ? 1 : 0, s.t['shaer:fediOpen'] ? 1 : 0,417 s.hoes || null, s.t['shaer:downloadable'] ? 1 : 0, s.t['shaer:fediOpen'] ? 1 : 0, 398 418 link('spotify'), link('youtube'), link('soundcloud')); 399 419 continue; … … 403 423 VALUES (?,?,?,?,?,?,?)`) 404 424 .run(s.id, site.id, s.p.name || 'zonder titel', s.p.artist || null, s.p.year || null, 405 s. p['shaer:coverUrl']|| null, s.p['shaer:kind'] || null);425 s.hoes || null, s.p['shaer:kind'] || null); 406 426 db.prepare('DELETE FROM playlist_tracks WHERE playlist_id = ?').run(s.id); 407 427 const insPT = db.prepare('INSERT OR IGNORE INTO playlist_tracks (playlist_id, track_id, position) VALUES (?,?,?)');
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)