- Nav: white background, logo image (MarszalekLogoGrau.jpg) replaces text - Projekte: removed filter bar (Alle/Wohnen/etc.), plain grid - Lightbox: click any project to open modal with full image gallery, thumbnail strip, description, keyboard/touch navigation - Before/after drag slider for 5 renovation projects: Sanierung, Landhaus, Winzerhaus Neusiedlersee, Dachausbau, Winzerhaus 14. Jhdt. - Downloaded 108 extra gallery images locally (no CDN dependency) - Über uns: removed Herbert Marszalek, Florian more prominent - CLAUDE.md updated to reflect all changes Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
242 lines
20 KiB
JavaScript
242 lines
20 KiB
JavaScript
/**
|
||
* Downloads all extra gallery images for project lightbox.
|
||
* Images are saved to images/ with the base filename (size suffix stripped).
|
||
*/
|
||
const https = require('https');
|
||
const http = require('http');
|
||
const fs = require('fs');
|
||
const path = require('path');
|
||
|
||
const DEST = path.join(__dirname, 'images');
|
||
|
||
// [localFilename, primaryURL, fallbackURL]
|
||
const images = [
|
||
// ── Urbane Gartenoase (2021/12) ─────────────────────────────────────────
|
||
['ArminKueche.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2021/12/ArminKueche.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2021/12/ArminKueche-1024x685.jpg'],
|
||
['ArminGartenBeton.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2021/12/ArminGartenBeton.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2021/12/ArminGartenBeton-1024x684.jpg'],
|
||
['Klavier.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2021/12/Klavier.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2021/12/Klavier-1024x681.jpg'],
|
||
['ArminEinfahrt.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2021/12/ArminEinfahrt.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2021/12/ArminEinfahrt-1024x684.jpg'],
|
||
['Parkplatz.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2021/12/Parkplatz.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2021/12/Parkplatz-1024x684.jpg'],
|
||
['RminStiege.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2021/12/RminStiege.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2021/12/RminStiege-1024x683.jpg'],
|
||
|
||
// ── Kleinwohnhaus (2019/01) ──────────────────────────────────────────────
|
||
['DSF5433-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2019/01/DSF5433-HDR.jpg', null],
|
||
['DSF5084-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2019/01/DSF5084-HDR.jpg', null],
|
||
['DSF5524-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2019/01/DSF5524-HDR.jpg', null],
|
||
['DSF5447-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2019/01/DSF5447-HDR.jpg', null],
|
||
['DSF5475-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2019/01/DSF5475-HDR.jpg', null],
|
||
['DSF5154-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2019/01/DSF5154-HDR.jpg', null],
|
||
['DSF4895.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2019/01/DSF4895.jpg', null],
|
||
['DSF5231-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2019/01/DSF5231-HDR.jpg', null],
|
||
['DSF5424-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2019/01/DSF5424-HDR.jpg', null],
|
||
['DSF5212.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2019/01/DSF5212.jpg', null],
|
||
['DSF5417-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2019/01/DSF5417-HDR.jpg', null],
|
||
['DSF5319.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2019/01/DSF5319.jpg', null],
|
||
['DSF5406-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2019/01/DSF5406-HDR.jpg', null],
|
||
['DSF5112-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2019/01/DSF5112-HDR.jpg', null],
|
||
|
||
// ── Gründerzeitwohnung (2018/01) ─────────────────────────────────────────
|
||
['DSF4058-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF4058-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF4058-HDR-1024x683.jpg'],
|
||
['DSF4083-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF4083-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF4083-HDR-1024x683.jpg'],
|
||
['DSF4034-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF4034-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF4034-HDR-1024x683.jpg'],
|
||
['DSF4048-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF4048-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF4048-HDR-1024x683.jpg'],
|
||
['DSF4135-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF4135-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF4135-HDR-1024x683.jpg'],
|
||
['DSF4051-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF4051-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF4051-HDR-1024x683.jpg'],
|
||
['DSF4019-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF4019-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF4019-HDR-1024x683.jpg'],
|
||
['DSF4066-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF4066-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF4066-HDR-1024x683.jpg'],
|
||
|
||
// ── Ordination Innere Medizin (2018/01) ──────────────────────────────────
|
||
['DSF3689.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF3689.jpg', null],
|
||
['DSF3702.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF3702.jpg', null],
|
||
['DSF3680.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF3680.jpg', null],
|
||
['DSF3790-2.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF3790-2.jpg', null],
|
||
['DSF3719.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF3719.jpg', null],
|
||
['DSF3800.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF3800.jpg', null],
|
||
['DSF3770.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF3770.jpg', null],
|
||
['DSF3722.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF3722.jpg', null],
|
||
['276_vh_2.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/276_vh_2.jpg', null],
|
||
['DSF3731.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2018/01/DSF3731.jpg', null],
|
||
|
||
// ── Villa mit Aussicht (2017/05) ──────────────────────────────────────────
|
||
['DSF7950-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF7950-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF7950-HDR-1024x683.jpg'],
|
||
['DSF7926-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF7926-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF7926-HDR-1024x742.jpg'],
|
||
['DSF7887-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF7887-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF7887-HDR-1024x825.jpg'],
|
||
['DSF8103-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8103-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8103-HDR-1024x742.jpg'],
|
||
['DSF8096.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8096.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8096-1024x690.jpg'],
|
||
['DSF8091-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8091-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8091-HDR-1024x709.jpg'],
|
||
['DSF8086-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8086-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8086-HDR-1024x725.jpg'],
|
||
['DSF7930-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF7930-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF7930-HDR-1024x683.jpg'],
|
||
['DSF8058-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8058-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8058-HDR-1024x659.jpg'],
|
||
['DSF8049-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8049-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8049-HDR-1024x683.jpg'],
|
||
['DSF8023-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8023-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8023-HDR-683x1024.jpg'],
|
||
['DSF8020-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8020-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8020-HDR-1024x683.jpg'],
|
||
['DSF8007-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8007-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF8007-HDR-1024x762.jpg'],
|
||
['DSF7989-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF7989-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF7989-HDR-1024x684.jpg'],
|
||
['DSF7980-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF7980-HDR.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF7980-HDR-1024x683.jpg'],
|
||
|
||
// ── Modern, offen, viel Glas (2017/05) ───────────────────────────────────
|
||
['DSF9330.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF9330.jpg', null],
|
||
['DSF9343-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF9343-HDR.jpg', null],
|
||
['DSF9316-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF9316-HDR.jpg', null],
|
||
['DSF9305-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF9305-HDR.jpg', null],
|
||
['DSF9278-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF9278-HDR.jpg', null],
|
||
['DSF9266-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF9266-HDR.jpg', null],
|
||
['DSF9148-HDR.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/05/DSF9148-HDR.jpg', null],
|
||
|
||
// ── Alles Aussicht! (2017/04) ─────────────────────────────────────────────
|
||
['259_2.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/259_2.jpg', null],
|
||
['259_3.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/259_3.jpg', null],
|
||
['259_4.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/259_4.jpg', null],
|
||
['259_5.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/259_5.jpg', null],
|
||
['259_6.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/259_6.jpg', null],
|
||
|
||
// ── Landhaus (2017/04) ────────────────────────────────────────────────────
|
||
['258_1.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/258_1.jpg', null],
|
||
['258_4.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/258_4.jpg', null],
|
||
['258_5.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/258_5.jpg', null],
|
||
['258_6.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/258_6.jpg', null],
|
||
['258_7.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/258_7.jpg', null],
|
||
['258_9.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/258_9.jpg', null],
|
||
['258_10.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/258_10.jpg', null],
|
||
|
||
// ── Winzerhaus Neusiedlersee (2017/04) ───────────────────────────────────
|
||
['228_2.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/228_2.jpg', null],
|
||
['228_4.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/228_4.jpg', null],
|
||
['228_5.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/228_5.jpg', null],
|
||
['228_6.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/228_6.jpg', null],
|
||
['228_7.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/228_7.jpg', null],
|
||
|
||
// ── Dachausbau – Denkmalschutz (2017/04) ─────────────────────────────────
|
||
['205_1.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/205_1.jpg', null],
|
||
['205_3_compa.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/205_3_compa.jpg', null],
|
||
['205_5.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/205_5.jpg', null],
|
||
['205_7.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/205_7.jpg', null],
|
||
|
||
// ── Siegfried Ludwig Halle (2017/09) ─────────────────────────────────────
|
||
['222_5.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_5.jpg', null],
|
||
['222_6.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_6.jpg', null],
|
||
['222_7.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_7.jpg', null],
|
||
['222_12.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_12.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_12-1024x680.jpg'],
|
||
['222_14.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_14.jpg', null],
|
||
['222_18.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_18.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_18-1024x680.jpg'],
|
||
['222_20.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_20.jpg', null],
|
||
['222_23.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_23.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_23-1024x680.jpg'],
|
||
['222_27.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_27.jpg', null],
|
||
['222_28.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_28.jpg', null],
|
||
['222_34.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_34.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_34-1024x680.jpg'],
|
||
['222_39.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_39.jpg', null],
|
||
['222_41.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_41.jpg', null],
|
||
['222_42.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_42.jpg', null],
|
||
['222_44.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_44.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_44-1024x680.jpg'],
|
||
['222_6-1.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_6-1.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_6-1-1024x680.jpg'],
|
||
['222_7-1.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_7-1.jpg',
|
||
'https://old.marszalekarchitekten.at/wp-content/uploads/2017/09/222_7-1-1024x681.jpg'],
|
||
|
||
// ── Freizeitanlage (2017/04) ──────────────────────────────────────────────
|
||
['198_1.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/198_1.jpg', null],
|
||
['198_4.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/198_4.jpg', null],
|
||
['198_6.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/198_6.jpg', null],
|
||
|
||
// ── Winzerhaus 14. Jhdt. (2017/04) ───────────────────────────────────────
|
||
['203_1.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/203_1.jpg', null],
|
||
['203_3.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/203_3.jpg', null],
|
||
['203_4.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/203_4.jpg', null],
|
||
['203_6.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/203_6.jpg', null],
|
||
['203_7.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/203_7.jpg', null],
|
||
|
||
// ── Wohnhaus (2017/04) ────────────────────────────────────────────────────
|
||
['194_1.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/194_1.jpg', null],
|
||
|
||
// ── Sanierung (2017/04) ───────────────────────────────────────────────────
|
||
['174_2.jpg', 'https://old.marszalekarchitekten.at/wp-content/uploads/2017/04/174_2.jpg', null],
|
||
];
|
||
|
||
function download(url, dest) {
|
||
return new Promise((resolve, reject) => {
|
||
const file = fs.createWriteStream(dest);
|
||
const mod = url.startsWith('https') ? https : http;
|
||
mod.get(url, { headers: { 'User-Agent': 'Mozilla/5.0' } }, res => {
|
||
if (res.statusCode === 301 || res.statusCode === 302) {
|
||
file.destroy();
|
||
fs.unlinkSync(dest);
|
||
download(res.headers.location, dest).then(resolve).catch(reject);
|
||
return;
|
||
}
|
||
if (res.statusCode !== 200) {
|
||
file.destroy();
|
||
try { fs.unlinkSync(dest); } catch (_) {}
|
||
reject(new Error(`HTTP ${res.statusCode}`));
|
||
return;
|
||
}
|
||
res.pipe(file);
|
||
file.on('finish', () => file.close(resolve));
|
||
file.on('error', err => { fs.unlinkSync(dest); reject(err); });
|
||
}).on('error', err => { try { fs.unlinkSync(dest); } catch (_) {} reject(err); });
|
||
});
|
||
}
|
||
|
||
async function run() {
|
||
let ok = 0, skipped = 0, failed = 0;
|
||
for (const [filename, primary, fallback] of images) {
|
||
const dest = path.join(DEST, filename);
|
||
if (fs.existsSync(dest)) { process.stdout.write(` skip ${filename}\n`); skipped++; continue; }
|
||
try {
|
||
await download(primary, dest);
|
||
process.stdout.write(` ok ${filename} (primary)\n`);
|
||
ok++;
|
||
} catch (e1) {
|
||
if (fallback) {
|
||
try {
|
||
await download(fallback, dest);
|
||
process.stdout.write(` ok ${filename} (fallback)\n`);
|
||
ok++;
|
||
} catch (e2) {
|
||
process.stdout.write(` FAIL ${filename}: ${e2.message}\n`);
|
||
failed++;
|
||
}
|
||
} else {
|
||
process.stdout.write(` FAIL ${filename}: ${e1.message}\n`);
|
||
failed++;
|
||
}
|
||
}
|
||
}
|
||
console.log(`\nDone: ${ok} downloaded, ${skipped} skipped, ${failed} failed`);
|
||
}
|
||
|
||
run().catch(console.error);
|