UNPKG

rsshub

Version:
49 lines (47 loc) 1.65 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import { t as ofetch_default } from "./ofetch-BIyrKU3Y.mjs"; import { t as parseDate } from "./parse-date-BrP7mxXf.mjs"; import { load } from "cheerio"; //#region lib/routes/ieee-security/sp.ts const url = "https://www.ieee-security.org/"; const route = { path: "/security-privacy", categories: ["journal"], example: "/ieee-security/security-privacy", radar: [{ source: ["ieee-security.org/TC/SP-Index.html", "ieee-security.org/"] }], name: "IEEE Symposium on Security and Privacy", maintainers: ["ZeddYu"], handler, url: "ieee-security.org/TC/SP-Index.html", description: `Return results from 2020` }; async function handler() { const last = (/* @__PURE__ */ new Date()).getFullYear() + 1; const urlList = Array.from({ length: last - 2020 }, (_, v) => `${url}TC/SP${v + 2020}/program-papers.html`); const items = (await Promise.allSettled(urlList.map((url$1) => ofetch_default(url$1)))).flatMap((response, i) => { const $ = load(response.value); return $("div.panel-body > div.list-group-item").toArray().map((item) => { item = $(item); const title = item.find("b").text().trim(); const link = urlList[i]; return { title, author: item.html().trim().split("<br>")[1].trim(), link: `${link}#${title}`, pubDate: parseDate(link.match(/SP(\d{4})/)[1], "YYYY") }; }); }); return { title: "S&P", link: `${url}TC/SP-Index.html`, description: "IEEE Symposium on Security and Privacy Accepted Papers", allowEmpty: true, item: items }; } //#endregion export { route };