osr-discourse/lib/sync/download.js
2024-06-29 21:53:26 +02:00

48 lines
3.6 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.downloadFile = exports.imageName = exports.filename = exports.sanitize_ex = exports.sanitize = void 0;
const path = require("path");
const _sanitize = require("sanitize-filename");
const filenamify = require('filenamify');
const download = require("download");
const URI = require("uri-js");
const url = require("url");
const sanitize = (f) => {
let str = filenamify(_sanitize(f)).replace(/[^\x00-\x7F]/g, "");
if (str.startsWith('_')) {
str = str.substring(1);
}
return str;
};
exports.sanitize = sanitize;
const sanitize_ex = (f) => {
let str = filenamify(_sanitize(f)).replace(/[^\x00-\x7F]/g, "").replace('_', '');
return str;
};
exports.sanitize_ex = sanitize_ex;
const filename = (_url) => {
return path.basename(url.parse(_url).path);
};
exports.filename = filename;
const imageName = (url) => {
if (!url) {
return "";
}
try {
const parsed = URI.parse(decodeURIComponent(url));
const pParsed = path.parse(parsed.path);
return (0, exports.sanitize)(decodeURIComponent(pParsed.base));
}
catch (error) {
console.error('error image name : ', url);
return "";
}
};
exports.imageName = imageName;
const downloadFile = async (_url, dir) => {
return download(_url, dir, {
filename: (0, exports.imageName)(_url)
});
};
exports.downloadFile = downloadFile;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL3N5bmMvZG93bmxvYWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTRCO0FBRTVCLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFBO0FBRTlDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQTtBQUN4QyxxQ0FBb0M7QUFDcEMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0FBRTdCLDJCQUEwQjtBQUVuQixNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFO0lBQzFCLElBQUksR0FBRyxHQUFXLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRTtRQUNyQixHQUFHLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMxQjtJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2YsQ0FBQyxDQUFBO0FBTlksUUFBQSxRQUFRLFlBTXBCO0FBRU0sTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRTtJQUM3QixJQUFJLEdBQUcsR0FBVyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3pGLE9BQU8sR0FBRyxDQUFDO0FBQ2YsQ0FBQyxDQUFBO0FBSFksUUFBQSxXQUFXLGVBR3ZCO0FBRU0sTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFJLEVBQUUsRUFBRTtJQUM3QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMvQyxDQUFDLENBQUE7QUFGWSxRQUFBLFFBQVEsWUFFcEI7QUFHTSxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFO0lBQzdCLElBQUcsQ0FBQyxHQUFHLEVBQUM7UUFDSixPQUFPLEVBQUUsQ0FBQTtLQUNaO0lBQ0QsSUFBSTtRQUNBLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNsRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUEsZ0JBQVEsRUFBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztLQUNyRDtJQUFDLE9BQU8sS0FBSyxFQUFFO1FBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsRUFBQyxHQUFHLENBQUMsQ0FBQTtRQUN4QyxPQUFPLEVBQUUsQ0FBQTtLQUNaO0FBQ0wsQ0FBQyxDQUFBO0FBWlksUUFBQSxTQUFTLGFBWXJCO0FBQ00sTUFBTSxZQUFZLEdBQUcsS0FBSyxFQUFFLElBQVcsRUFBRSxHQUFVLEVBQUUsRUFBRTtJQUMxRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxJQUFBLGlCQUFTLEVBQUMsSUFBSSxDQUFDO0tBQzVCLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQUpZLFFBQUEsWUFBWSxnQkFJeEIifQ==