UNPKG

rsshub

Version:
86 lines (84 loc) 3.78 kB
import "./esm-shims-CzJ_djXG.mjs"; import "./config-C37vj7VH.mjs"; import "./dist-BInvbO1W.mjs"; import "./logger-Czu8UMNd.mjs"; import "./ofetch-BIyrKU3Y.mjs"; import "./helpers-DxBp0Pty.mjs"; import { t as got_default } from "./got-KxxWdaxq.mjs"; import { t as timezone } from "./timezone-D8cuwzTY.mjs"; import { load } from "cheerio"; //#region lib/routes/dol/announce.ts const route = { path: "/announce/:owner?/:province?/:office?", categories: ["government"], example: "/dol/announce", parameters: { owner: "Requester/former land owner", province: "Province which the land is belongs to", office: "DOL office name which the land is belongs to (สำนักงานที่ดิน(กรุงเทพมหานคร|จังหวัด*) [สาขา*])" }, features: { requireConfig: false, requirePuppeteer: false, antiCrawler: false, supportBT: false, supportPodcast: false, supportScihub: false }, name: "e-LandsAnnouncement", maintainers: ["itpcc"], handler }; async function handler(ctx) { const baseUrl = "https://announce.dol.go.th"; const { owner, province, office } = ctx.req.param(); const queryParams = { searchprovince: "", searchoffice: "", searchtype: "", searchconcerned: owner ?? "" }; const result = { title: `ประกาศสำนักงานที่ดิน${province ? "จังหวัด" + province + " " : ""}${office ? "สำนักงานที่ดิน" + office : ""}${owner ? "ชื่อผู้ถือกรรมสิทธิ/ผู้ขอ " + owner : ""}`, link: `${baseUrl}/index.php`, item: [] }; if (province || office) { const { data: response$1 } = await got_default(`${baseUrl}/index.php`); const $$1 = load(response$1); if (province) { const slcProvince = $$1(`select#searchprovince option:contains('${province}')`); if (!slcProvince.length) return result; queryParams.searchprovince = slcProvince.attr("value"); } if (office) { const slcOffice = $$1(`select#searchoffice option:contains('${office}')`); if (!slcOffice.length) return result; queryParams.searchoffice = slcOffice.attr("value"); } } result.link = `${baseUrl}/index.php?${new URLSearchParams(queryParams).toString()}`; const { data: response } = await got_default(result.link, { https: { rejectUnauthorized: false } }); const $ = load(response); result.item = $("div#div table tbody tr:not([class])").toArray().map((item) => { item = $(item); /** @type cheerio.Cheerio<th>[] */ const [, topic, requester, reqType, anceBegDate, anceEndDate, officeName, anceFile] = item.find("th").toArray().map((item$1) => $(item$1)); const dateList = anceBegDate.text().split("-"); return { title: `${topic.text()} (ผู้ถือกรรมสิทธิ/ผู้ขอ ${requester.text()})`, description: `ประกาศ${officeName.text()} เรื่อง${topic.text()} ด้วย ${requester.text()} ได้ยื่นเรื่องราว ${reqType.text()} จึงขอประกาศให้ทราบทั่วกัน ถ้าผู้ใดจะคัดค้านประการใด ให้ยื่นคำคัดค้านต่อพนักงานเจ้าหน้าที่ ภายใน ${anceEndDate.text()} ประกาศ ณ วันที่ ${anceBegDate.text()} `, link: `${baseUrl}/${anceFile.find("a").attr("href")}`, pubDate: timezone(new Date(Number.parseInt(dateList[2]) - 543, Number.parseInt(dateList[1]) - 1, Number.parseInt(dateList[0])), 7), author: officeName.text(), category: [reqType.text()] }; }); return result; } //#endregion export { route };