"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
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 maker porn fashion possible, 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 
\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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