172 lines
13 KiB
JavaScript
172 lines
13 KiB
JavaScript
"use strict";
|
||
Object.defineProperty(exports, "__esModule", { value: true });
|
||
exports.escape = exports.exists = exports.writeJSON = exports.readJSON = exports.mkdirp = exports.log = exports.inspect = exports.getDiscourse = exports.convert = exports.getTopics = exports.getOAvatar = exports.dOptions = exports.getFUser = exports.topicFolder = exports.findFile = exports.getReplies = exports.getPages = exports.findReplyUpload = exports.findReplyPage = exports.uploadFile = void 0;
|
||
const fs_1 = require("fs");
|
||
const util_1 = require("util");
|
||
const cwd = process.cwd();
|
||
var TurndownService = require('turndown');
|
||
const index_1 = require("../index");
|
||
const path = require("path");
|
||
const fg = require('fast-glob');
|
||
const slugify_1 = require("slugify");
|
||
var sanitize = require("sanitize-filename");
|
||
//import { replaceAll } from '../../lib';
|
||
var mom = require('moment');
|
||
const uploadFile = async (discourse, forum, name, filePath) => {
|
||
return await discourse.upload(1, filePath);
|
||
};
|
||
exports.uploadFile = uploadFile;
|
||
const findReplyPage = (b, pages) => {
|
||
return pages.find((p) => {
|
||
return p.replies.find((r) => {
|
||
return r.replyBody == b;
|
||
});
|
||
});
|
||
};
|
||
exports.findReplyPage = findReplyPage;
|
||
const findReplyUpload = (u, page) => {
|
||
const f_pics = page.f_pics || [];
|
||
return f_pics.find((p) => {
|
||
return p.url === u;
|
||
});
|
||
};
|
||
exports.findReplyUpload = findReplyUpload;
|
||
const getPages = (topics, topic) => {
|
||
return topics.filter((t) => {
|
||
return t.title == topic.title;
|
||
});
|
||
};
|
||
exports.getPages = getPages;
|
||
const getReplies = (topics, topic) => {
|
||
if (topic.nextPages) {
|
||
const all = topics.filter((t) => {
|
||
return t.title == topic.title;
|
||
});
|
||
let replies = all.map((t) => t.replies);
|
||
replies = [].concat.apply([], replies);
|
||
replies = replies.sort((a, b) => {
|
||
const d1 = mom(a.replyDate, 'DD/MM/YYYY AT HH:mm').toDate();
|
||
const d2 = mom(b.replyDate, 'DD/MM/YYYY AT HH:mm').toDate();
|
||
return new Date(d1).getTime() > new Date(d2).getTime() ? 1 : -1;
|
||
});
|
||
return replies;
|
||
/*
|
||
const findReply = (b, pages) => {
|
||
return pages.find((p) => {
|
||
return p.replies.find((r) => {
|
||
return r.replyBody == b;
|
||
})
|
||
})
|
||
}
|
||
const p = findReply('\n\n\n<p>sounds great, let me get Old Tony´s Schaeubling 13 and a surface grinder first, after that I can do the parts for the espresso machine in the best <a href=\"https://www.youtube.com/watch?v=hpenv1ZqGx4\" rel=\"nofollow\" target=\"_blank\">maker porn fashion possible,</a> no seriously, every time I thought I know something, there’s just another video around the next corner making me cry like a baby, incl. the coffee machine <img draggable=\"false\" class=\"emoji\" alt=\"🙁\" src=\"https://s.w.org/images/core/emoji/11/svg/1f641.svg\"></p>\n', all);
|
||
debugger;
|
||
*/
|
||
}
|
||
return [];
|
||
};
|
||
exports.getReplies = getReplies;
|
||
const findFile = (folder, filename) => {
|
||
const files = fg.sync('**/**/*' + filename + '*', { dot: true, cwd: folder, absolute: true });
|
||
if (files.length == 0) {
|
||
return false;
|
||
}
|
||
return files[0];
|
||
};
|
||
exports.findFile = findFile;
|
||
const topicFolder = (forum, folder, title) => {
|
||
const _title = sanitize((0, slugify_1.default)(title));
|
||
const tf = path.resolve(forum + '/' + folder + '/' + _title);
|
||
return tf;
|
||
};
|
||
exports.topicFolder = topicFolder;
|
||
const getFUser = (users, user_name) => {
|
||
return users.find((u) => {
|
||
return u.name == user_name;
|
||
});
|
||
};
|
||
exports.getFUser = getFUser;
|
||
exports.dOptions = {
|
||
host: 'https://forum.osr-plastic.org',
|
||
key: 'f624b8385fb2219cb49de63d1e22883afdf7b7367a0bebf822523f49f2678031',
|
||
username: 'admin',
|
||
rateLimitConcurrency: 1
|
||
};
|
||
const getOAvatar = (index, user) => {
|
||
const topics = (0, exports.getTopics)(index);
|
||
let topic = topics.find((t) => {
|
||
return t.authorName == user;
|
||
});
|
||
if (topic) {
|
||
return topic.authorImage;
|
||
}
|
||
for (let i = 0; i < topics.length; i++) {
|
||
const t = topics[i];
|
||
if (t.replies) {
|
||
const r = t.replies.find((r) => {
|
||
return r.user == user;
|
||
});
|
||
if (r) {
|
||
return r.avatar;
|
||
}
|
||
}
|
||
}
|
||
return null;
|
||
};
|
||
exports.getOAvatar = getOAvatar;
|
||
const getTopics = (index) => {
|
||
let topics = [];
|
||
for (let t in index) {
|
||
topics.push(index[t]);
|
||
}
|
||
return topics;
|
||
};
|
||
exports.getTopics = getTopics;
|
||
const convert = (input) => {
|
||
var turndownService = new TurndownService();
|
||
return turndownService.turndown(input);
|
||
};
|
||
exports.convert = convert;
|
||
const getDiscourse = () => {
|
||
return new index_1.Discourser(exports.dOptions);
|
||
};
|
||
exports.getDiscourse = getDiscourse;
|
||
function inspect(arg) {
|
||
return (0, util_1.inspect)(arg, {
|
||
depth: 5,
|
||
colors: true,
|
||
});
|
||
}
|
||
exports.inspect = inspect;
|
||
function log(...args) {
|
||
console.log(...args.map((arg) => inspect(arg)));
|
||
}
|
||
exports.log = log;
|
||
async function mkdirp(path) {
|
||
try {
|
||
await fs_1.default.promises.mkdir(path);
|
||
}
|
||
catch (err) {
|
||
// don't care if it already exists
|
||
}
|
||
}
|
||
exports.mkdirp = mkdirp;
|
||
async function readJSON(path) {
|
||
const text = await fs_1.default.promises.readFile(path, 'utf8');
|
||
return JSON.parse(text);
|
||
}
|
||
exports.readJSON = readJSON;
|
||
function writeJSON(path, data) {
|
||
return fs_1.default.promises.writeFile(path, JSON.stringify(data));
|
||
}
|
||
exports.writeJSON = writeJSON;
|
||
function exists(path) {
|
||
return new Promise(function (resolve) {
|
||
fs_1.default.exists(path, resolve);
|
||
});
|
||
}
|
||
exports.exists = exists;
|
||
function escape(path) {
|
||
return path.replace(/[^\w]/g, '-').replace(/-+/, '-');
|
||
}
|
||
exports.escape = escape;
|
||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL29hL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJCQUFtQjtBQUNuQiwrQkFBNkM7QUFFN0MsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFBO0FBQ3pCLElBQUksZUFBZSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQTtBQUN6QyxvQ0FBcUM7QUFHckMsNkJBQTRCO0FBQzVCLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtBQUMvQixxQ0FBNkI7QUFFN0IsSUFBSSxRQUFRLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUE7QUFLM0MseUNBQXlDO0FBR3pDLElBQUksR0FBRyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQTtBQUVwQixNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEVBQUU7SUFDcEUsT0FBTyxNQUFNLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQzVDLENBQUMsQ0FBQTtBQUZZLFFBQUEsVUFBVSxjQUV0QjtBQUVNLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ3pDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ3ZCLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMzQixPQUFPLENBQUMsQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFBO0lBQ0gsQ0FBQyxDQUFDLENBQUE7QUFDSCxDQUFDLENBQUE7QUFOWSxRQUFBLGFBQWEsaUJBTXpCO0FBRU0sTUFBTSxlQUFlLEdBQUcsQ0FB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
|