dongnelibrary 0.3.20 → 0.3.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.json +1 -0
- package/README.md +9 -0
- package/dist/dongnelibrary.d.ts.map +1 -1
- package/dist/dongnelibrary.js +6 -0
- package/dist/dongnelibrary.js.map +1 -1
- package/dist/localLibraryModule/junggulib.d.ts +6 -0
- package/dist/localLibraryModule/junggulib.d.ts.map +1 -0
- package/dist/localLibraryModule/junggulib.js +96 -0
- package/dist/localLibraryModule/junggulib.js.map +1 -0
- package/dist/localLibraryModule/mokpolib.d.ts +6 -0
- package/dist/localLibraryModule/mokpolib.d.ts.map +1 -0
- package/dist/localLibraryModule/mokpolib.js +104 -0
- package/dist/localLibraryModule/mokpolib.js.map +1 -0
- package/dist/localLibraryModule/paju.d.ts +6 -0
- package/dist/localLibraryModule/paju.d.ts.map +1 -0
- package/dist/localLibraryModule/paju.js +94 -0
- package/dist/localLibraryModule/paju.js.map +1 -0
- package/docs//355/206/265/355/225/251/353/217/204/354/204/234/352/264/200-/353/204/244/355/212/270/354/233/214/355/201/254-/353/252/251/353/241/235.md +3 -3
- package/package.json +13 -5
- package/src/dongnelibrary.ts.tmp +0 -0
package/.claude/settings.json
CHANGED
package/README.md
CHANGED
|
@@ -53,6 +53,7 @@ Node.js 설치 없이 Docker로 바로 실행할 수 있습니다.
|
|
|
53
53
|
|
|
54
54
|
현재 지원하는 통합도서관 시스템:
|
|
55
55
|
|
|
56
|
+
- [중구구립도서관][junggulib-url] — 19개 도서관 (가온, 어울림, 남산타운·손기정 어린이, 신당누리, 다산성곽, 손기정문화, 작은도서관 12개)
|
|
56
57
|
- [안산시도서관][ansan-url] — 17개 도서관 (시립도서관: 중앙, 감골, 관산, 단원어린이, 대부, 미디어, 반월, 본오, 부곡, 상록수, 상록어린이, 선부, 성포, 수암, 원고잔, 월피예술, 와동교육)
|
|
57
58
|
- [아산시도서관][asan-url] — 15개 도서관
|
|
58
59
|
- [부천시립도서관][bcl-url] — 16개 도서관 (시립도서관, 상동, 원미, 심곡, 북부, 꿈빛, 책마루, 한울빛, 꿈여울, 송내, 오정, 도당, 동화, 역곡, 별빛마루, 수주, 역곡밝은)
|
|
@@ -73,6 +74,8 @@ Node.js 설치 없이 Docker로 바로 실행할 수 있습니다.
|
|
|
73
74
|
- [노원구립도서관][nowon-url] — 36개 도서관
|
|
74
75
|
- [성남시도서관][snlib-url] — 18개 도서관
|
|
75
76
|
- [인천광역시교육청통합공공도서관][ice-url] — 9개 도서관
|
|
77
|
+
- [목포시통합도서관][mokpolib-url] — 23개 도서관 (시립, 어울림, 어린이, 영어, 작은도서관 19개)
|
|
78
|
+
- [파주시도서관][paju-url] — 22개 도서관 (중앙, 금촌, 문산, 법원, 적성, 교하, 한빛, 해솔, 탄현, 가람, 조리, 금촌3동솔빛, 물푸레, 파평, 한울, 월롱, 광탄, 술이홀, 금촌무지개작은, 금곡작은, 탄현작은, 부엉이책장)
|
|
76
79
|
- [오산시도서관][osan-url] — 10개 도서관
|
|
77
80
|
- [평택시도서관][ptlib-url] — 15개 도서관
|
|
78
81
|
- [포항시립도서관][pohang-url] — 10개 도서관 (포은중앙, 대잠, 영암, 포은오천, 동해석곡, 연일, 구룡포, 포은흥해 등)
|
|
@@ -177,6 +180,9 @@ dl.search(
|
|
|
177
180
|
npm run hscity # 화성시 도서관
|
|
178
181
|
npm run nowon # 노원구 도서관
|
|
179
182
|
npm run ice # 인천시 도서관
|
|
183
|
+
npm run junggulib # 중구구립도서관
|
|
184
|
+
npm run mokpolib # 목포시 도서관
|
|
185
|
+
npm run paju # 파주시 도서관
|
|
180
186
|
npm run osan # 오산시 도서관
|
|
181
187
|
npm run ptlib # 평택시 도서관
|
|
182
188
|
npm run pohang # 포항시 도서관
|
|
@@ -229,6 +235,7 @@ Docker 이미지는 `master` 브랜치 푸시 또는 버전 태그(`v1.0.0`) 생
|
|
|
229
235
|
[nowon-url]: https://www.nowonlib.kr
|
|
230
236
|
[hscity-url]: https://hscitylib.or.kr
|
|
231
237
|
[osan-url]: https://www.osanlibrary.go.kr
|
|
238
|
+
[paju-url]: https://lib.paju.go.kr
|
|
232
239
|
[ptlib-url]: https://www.ptlib.go.kr
|
|
233
240
|
[pohang-url]: https://phlib.pohang.go.kr
|
|
234
241
|
[siheung-url]: https://lib.siheung.go.kr
|
|
@@ -238,6 +245,8 @@ Docker 이미지는 `master` 브랜치 푸시 또는 버전 태그(`v1.0.0`) 생
|
|
|
238
245
|
[yongin-url]: https://lib.yongin.go.kr
|
|
239
246
|
[yjlib-url]: https://www.yjlib.go.kr
|
|
240
247
|
[ice-url]: https://lib.ice.go.kr/
|
|
248
|
+
[junggulib-url]: https://www.junggulib.or.kr
|
|
249
|
+
[mokpolib-url]: https://www.mokpolib.or.kr
|
|
241
250
|
[jeju-url]: https://www.jeju.go.kr/
|
|
242
251
|
[wonju-url]: https://lib.wonju.go.kr/
|
|
243
252
|
[ydplib-url]: https://ydplib.or.kr
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dongnelibrary.d.ts","sourceRoot":"","sources":["../src/dongnelibrary.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dongnelibrary.d.ts","sourceRoot":"","sources":["../src/dongnelibrary.ts"],"names":[],"mappings":"AA6CA,OAAO,KAAK,EAEV,gBAAgB,EAGhB,cAAc,EACd,sBAAsB,EAEtB,iBAAiB,EACjB,YAAY,EACb,MAAM,SAAS,CAAC;AAkFjB;;;GAGG;AACH,eAAO,MAAM,kBAAkB,QAAO,MAAM,EACH,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,MAAM,EACS,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,QAAO,MAAM,CAAC,MAAM,EAAE,MAAM,CACgC,CAAC;AAE3F;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,OACkB,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,GAAI,YAAY,MAAM,KAAG,MAAM,EAE/D,CAAC;AA+IL;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GACtB,KAAK,iBAAiB,EACtB,WAAW,cAAc,KACxB,OAAO,CAAC,YAAY,EAAE,CAkBxB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GACjB,KAAK,iBAAiB,GAAG,SAAS,GAAG,IAAI,EACzC,WAAW,cAAc,EACzB,aAAa,sBAAsB,KAClC,IAMF,CAAC;AAOF,YAAY,EACV,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,cAAc,EACd,sBAAsB,EACtB,IAAI,GACL,MAAM,SAAS,CAAC;AAMjB;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC9B,aAAa,MAAM,GAAG,MAAM,EAAE,KAC7B,MAAyD,CAAC;AAG7D,eAAO,MAAM,aAAa,EAAE,gBAQ3B,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
package/dist/dongnelibrary.js
CHANGED
|
@@ -56,10 +56,13 @@ const gwanak = __importStar(require("./localLibraryModule/gwanak"));
|
|
|
56
56
|
const gwe = __importStar(require("./localLibraryModule/gwe"));
|
|
57
57
|
const hanamlib = __importStar(require("./localLibraryModule/hanamlib"));
|
|
58
58
|
const jeju = __importStar(require("./localLibraryModule/jeju"));
|
|
59
|
+
const junggulib = __importStar(require("./localLibraryModule/junggulib"));
|
|
59
60
|
const hscity = __importStar(require("./localLibraryModule/hscity"));
|
|
60
61
|
const ice = __importStar(require("./localLibraryModule/ice"));
|
|
62
|
+
const mokpolib = __importStar(require("./localLibraryModule/mokpolib"));
|
|
61
63
|
const nowon = __importStar(require("./localLibraryModule/nowon"));
|
|
62
64
|
const osan = __importStar(require("./localLibraryModule/osan"));
|
|
65
|
+
const paju = __importStar(require("./localLibraryModule/paju"));
|
|
63
66
|
const pohang = __importStar(require("./localLibraryModule/pohang"));
|
|
64
67
|
const ptlib = __importStar(require("./localLibraryModule/ptlib"));
|
|
65
68
|
const siheung = __importStar(require("./localLibraryModule/siheung"));
|
|
@@ -98,10 +101,13 @@ const LIBRARY_MODULES = [
|
|
|
98
101
|
gwe,
|
|
99
102
|
hanamlib,
|
|
100
103
|
jeju,
|
|
104
|
+
junggulib,
|
|
101
105
|
hscity,
|
|
102
106
|
ice,
|
|
107
|
+
mokpolib,
|
|
103
108
|
nowon,
|
|
104
109
|
osan,
|
|
110
|
+
paju,
|
|
105
111
|
pohang,
|
|
106
112
|
ptlib,
|
|
107
113
|
siheung,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dongnelibrary.js","sourceRoot":"","sources":["../src/dongnelibrary.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dongnelibrary.js","sourceRoot":"","sources":["../src/dongnelibrary.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { SearchOptions, SearchResult } from "../types";
|
|
2
|
+
export declare const moduleName = "\uC911\uAD6C\uAD6C\uB9BD\uB3C4\uC11C\uAD00";
|
|
3
|
+
export declare const homeUrl = "https://www.junggulib.or.kr";
|
|
4
|
+
export declare const search: (opt: SearchOptions, callback?: import("../types").SearchCallback) => Promise<SearchResult | void>;
|
|
5
|
+
export declare function getLibraryNames(): string[];
|
|
6
|
+
//# sourceMappingURL=junggulib.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"junggulib.d.ts","sourceRoot":"","sources":["../../src/localLibraryModule/junggulib.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAIV,aAAa,EACb,YAAY,EACb,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,UAAU,+CAAY,CAAC;AACpC,eAAO,MAAM,OAAO,gCAAgC,CAAC;AA2GrD,eAAO,MAAM,MAAM,oGAA+B,CAAC;AAEnD,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.search = exports.homeUrl = exports.moduleName = void 0;
|
|
4
|
+
exports.getLibraryNames = getLibraryNames;
|
|
5
|
+
const util_1 = require("../util");
|
|
6
|
+
const http_1 = require("../http");
|
|
7
|
+
const jsdom_1 = require("jsdom");
|
|
8
|
+
exports.moduleName = "중구구립도서관";
|
|
9
|
+
exports.homeUrl = "https://www.junggulib.or.kr";
|
|
10
|
+
const SEARCH_URL = `${exports.homeUrl}/SJGL/menu/10003/program/30001/searchResultList.do`;
|
|
11
|
+
const DETAIL_URL = `${exports.homeUrl}/SJGL/menu/10003/program/30001/searchResultDetail.do`;
|
|
12
|
+
const libraryList = [
|
|
13
|
+
{ code: "MF", name: "가온도서관" },
|
|
14
|
+
{ code: "MH", name: "어울림도서관" },
|
|
15
|
+
{ code: "MD", name: "남산타운 어린이도서관" },
|
|
16
|
+
{ code: "ME", name: "손기정 어린이도서관" },
|
|
17
|
+
{ code: "MC", name: "신당누리도서관" },
|
|
18
|
+
{ code: "MA", name: "다산성곽도서관" },
|
|
19
|
+
{ code: "MB", name: "손기정문화도서관" },
|
|
20
|
+
{ code: "CA", name: "장충동 작은도서관" },
|
|
21
|
+
{ code: "CK", name: "광희동 작은도서관" },
|
|
22
|
+
{ code: "CE", name: "다산동 작은도서관" },
|
|
23
|
+
{ code: "CI", name: "동화동 작은도서관" },
|
|
24
|
+
{ code: "CH", name: "신당5동 작은도서관" },
|
|
25
|
+
{ code: "CD", name: "신당동 작은도서관" },
|
|
26
|
+
{ code: "CF", name: "약수동 작은도서관" },
|
|
27
|
+
{ code: "CL", name: "중구청 작은도서관" },
|
|
28
|
+
{ code: "CG", name: "청구동 작은도서관" },
|
|
29
|
+
{ code: "CM", name: "필동 작은도서관" },
|
|
30
|
+
{ code: "CB", name: "황학동 작은도서관" },
|
|
31
|
+
{ code: "CJ", name: "회현동 작은도서관" },
|
|
32
|
+
];
|
|
33
|
+
const getLibraryCode = (0, util_1.createLibraryCodeLookup)(libraryList);
|
|
34
|
+
async function searchImpl(opt) {
|
|
35
|
+
const { title, libraryName, signal } = opt;
|
|
36
|
+
(0, util_1.validateSearchOptions)(opt);
|
|
37
|
+
const lcode = getLibraryCode(libraryName);
|
|
38
|
+
const { statusCode, body } = await (0, http_1.get)(SEARCH_URL, {
|
|
39
|
+
qs: {
|
|
40
|
+
searchType: "SIMPLE",
|
|
41
|
+
searchKeyword: title,
|
|
42
|
+
searchManageCodeArr: lcode,
|
|
43
|
+
searchDisplay: 200,
|
|
44
|
+
searchArticle: "SCORE",
|
|
45
|
+
searchOrder: "ASC",
|
|
46
|
+
currentPageNo: 1,
|
|
47
|
+
},
|
|
48
|
+
signal,
|
|
49
|
+
});
|
|
50
|
+
if (statusCode !== 200) {
|
|
51
|
+
throw new Error(`HTTP ${statusCode}`);
|
|
52
|
+
}
|
|
53
|
+
const dom = new jsdom_1.JSDOM(body);
|
|
54
|
+
const document = dom.window.document;
|
|
55
|
+
const count = (0, util_1.extractNumber)(document.querySelector("#totalCnt")?.textContent ?? "");
|
|
56
|
+
const booklist = [];
|
|
57
|
+
const bookItems = document.querySelectorAll("div.bookArea");
|
|
58
|
+
bookItems.forEach((item) => {
|
|
59
|
+
const titleLink = item.querySelector("div.book_name a");
|
|
60
|
+
const bookTitle = titleLink?.querySelector("span.kor.on")?.textContent?.trim() ?? "";
|
|
61
|
+
let bookUrl = "";
|
|
62
|
+
const onclick = titleLink?.getAttribute("onclick") ?? "";
|
|
63
|
+
const match = onclick.match(/fnDetail\('(\d+)',\s*'(\d+)',\s*'([^']*)',\s*'(\w+)'\)/);
|
|
64
|
+
if (match) {
|
|
65
|
+
const [, bookKey, speciesKey, isbn, pubFormCode] = match;
|
|
66
|
+
bookUrl =
|
|
67
|
+
`${DETAIL_URL}?bookKey=${bookKey}&speciesKey=${speciesKey}` +
|
|
68
|
+
`&isbn=${isbn}&pubFormCode=${pubFormCode}`;
|
|
69
|
+
}
|
|
70
|
+
const statusText = item.querySelector("div.book_info.info04 p.emp1")?.textContent ?? "";
|
|
71
|
+
const libName = item
|
|
72
|
+
.querySelector("div.book_info.info03 b.themeFC")
|
|
73
|
+
?.textContent?.replace(/[\[\]]/g, "")
|
|
74
|
+
.trim() ?? libraryName;
|
|
75
|
+
if (bookTitle) {
|
|
76
|
+
booklist.push({
|
|
77
|
+
libraryName: libName,
|
|
78
|
+
title: bookTitle,
|
|
79
|
+
bookUrl,
|
|
80
|
+
maxoffset: count,
|
|
81
|
+
exist: statusText.includes("대출가능"),
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
return {
|
|
86
|
+
startPage: opt.startPage,
|
|
87
|
+
totalBookCount: count,
|
|
88
|
+
booklist,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
exports.search = (0, util_1.wrapWithCallback)(searchImpl);
|
|
92
|
+
function getLibraryNames() {
|
|
93
|
+
return (0, util_1.getLibraryNames)(libraryList);
|
|
94
|
+
}
|
|
95
|
+
({ moduleName: exports.moduleName, homeUrl: exports.homeUrl, search: exports.search, getLibraryNames });
|
|
96
|
+
//# sourceMappingURL=junggulib.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"junggulib.js","sourceRoot":"","sources":["../../src/localLibraryModule/junggulib.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { SearchOptions, SearchResult } from "../types";
|
|
2
|
+
export declare const moduleName = "\uBAA9\uD3EC\uC2DC\uD1B5\uD569\uB3C4\uC11C\uAD00";
|
|
3
|
+
export declare const homeUrl = "https://www.mokpolib.or.kr";
|
|
4
|
+
export declare const search: (opt: SearchOptions, callback?: import("../types").SearchCallback) => Promise<SearchResult | void>;
|
|
5
|
+
export declare function getLibraryNames(): string[];
|
|
6
|
+
//# sourceMappingURL=mokpolib.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mokpolib.d.ts","sourceRoot":"","sources":["../../src/localLibraryModule/mokpolib.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAIV,aAAa,EACb,YAAY,EACb,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,UAAU,qDAAa,CAAC;AACrC,eAAO,MAAM,OAAO,+BAA+B,CAAC;AA2GpD,eAAO,MAAM,MAAM,oGAA+B,CAAC;AAEnD,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.search = exports.homeUrl = exports.moduleName = void 0;
|
|
4
|
+
exports.getLibraryNames = getLibraryNames;
|
|
5
|
+
const util_1 = require("../util");
|
|
6
|
+
const http_1 = require("../http");
|
|
7
|
+
const jsdom_1 = require("jsdom");
|
|
8
|
+
exports.moduleName = "목포시통합도서관";
|
|
9
|
+
exports.homeUrl = "https://www.mokpolib.or.kr";
|
|
10
|
+
const libraryList = [
|
|
11
|
+
{ code: "MA", name: "목포시립도서관" },
|
|
12
|
+
{ code: "MX", name: "목포어울림도서관" },
|
|
13
|
+
{ code: "MJ", name: "목포어린이도서관" },
|
|
14
|
+
{ code: "MQ", name: "목포영어도서관" },
|
|
15
|
+
{ code: "ME", name: "꿈나무작은도서관" },
|
|
16
|
+
{ code: "MB", name: "꿈돌이작은도서관" },
|
|
17
|
+
{ code: "MS", name: "노을작은도서관" },
|
|
18
|
+
{ code: "MW", name: "늘푸른작은도서관" },
|
|
19
|
+
{ code: "MH", name: "무지개작은도서관" },
|
|
20
|
+
{ code: "MF", name: "반딧불작은도서관" },
|
|
21
|
+
{ code: "MP", name: "삼학작은도서관" },
|
|
22
|
+
{ code: "MV", name: "샛별작은도서관" },
|
|
23
|
+
{ code: "MO", name: "소나무작은도서관" },
|
|
24
|
+
{ code: "MN", name: "숲속작은도서관" },
|
|
25
|
+
{ code: "MK", name: "연꽃작은도서관" },
|
|
26
|
+
{ code: "MD", name: "옹달샘작은도서관" },
|
|
27
|
+
{ code: "MC", name: "은하수작은도서관" },
|
|
28
|
+
{ code: "MM", name: "청개구리작은도서관" },
|
|
29
|
+
{ code: "MI", name: "초롱초롱작은도서관" },
|
|
30
|
+
{ code: "ML", name: "푸른솔작은도서관" },
|
|
31
|
+
{ code: "MU", name: "푸른숲작은도서관" },
|
|
32
|
+
{ code: "MR", name: "행복마을작은도서관" },
|
|
33
|
+
{ code: "MT", name: "호돌이작은도서관" },
|
|
34
|
+
];
|
|
35
|
+
const getLibraryCode = (0, util_1.createLibraryCodeLookup)(libraryList);
|
|
36
|
+
const BASE_URL = "https://www.mokpolib.or.kr/dls_lt/index.php";
|
|
37
|
+
async function searchImpl(opt) {
|
|
38
|
+
const { title, libraryName, signal } = opt;
|
|
39
|
+
(0, util_1.validateSearchOptions)(opt);
|
|
40
|
+
const lcode = getLibraryCode(libraryName);
|
|
41
|
+
const { statusCode, body } = await (0, http_1.get)(BASE_URL, {
|
|
42
|
+
qs: {
|
|
43
|
+
mod: "wdDataSearch",
|
|
44
|
+
act: "searchResultList",
|
|
45
|
+
"searchItem[]": "title",
|
|
46
|
+
"searchWord[]": title,
|
|
47
|
+
manageCode: lcode,
|
|
48
|
+
listNum: "50",
|
|
49
|
+
keyword: "",
|
|
50
|
+
},
|
|
51
|
+
signal,
|
|
52
|
+
});
|
|
53
|
+
if (statusCode !== 200) {
|
|
54
|
+
throw new Error(`HTTP ${statusCode}`);
|
|
55
|
+
}
|
|
56
|
+
const dom = new jsdom_1.JSDOM(body);
|
|
57
|
+
const document = dom.window.document;
|
|
58
|
+
const countStrong = document.querySelector("h3 > strong.cyan");
|
|
59
|
+
const count = (0, util_1.extractNumber)(countStrong?.textContent);
|
|
60
|
+
const booklist = [];
|
|
61
|
+
const bookItems = document.querySelectorAll("dl");
|
|
62
|
+
bookItems.forEach((dl) => {
|
|
63
|
+
if (dl.querySelector("#aTitle"))
|
|
64
|
+
return;
|
|
65
|
+
const titleLink = dl.querySelector("dd > div.ico > a");
|
|
66
|
+
const bookTitle = titleLink?.textContent?.trim() ?? "";
|
|
67
|
+
let bookUrl = "";
|
|
68
|
+
const detailHref = dl.querySelector("dt > a")?.getAttribute("href") ?? "";
|
|
69
|
+
const jongKeyMatch = detailHref.match(/jongKey=(\d+)/);
|
|
70
|
+
const dbTypeMatch = detailHref.match(/dbType=([^&]+)/);
|
|
71
|
+
if (jongKeyMatch) {
|
|
72
|
+
const params = new URLSearchParams({
|
|
73
|
+
mod: "wdDataSearch",
|
|
74
|
+
act: "searchResultDetail",
|
|
75
|
+
dbType: dbTypeMatch?.[1] ?? "dan",
|
|
76
|
+
jongKey: jongKeyMatch[1],
|
|
77
|
+
});
|
|
78
|
+
bookUrl = `${BASE_URL}?${params}`;
|
|
79
|
+
}
|
|
80
|
+
const statusText = dl.querySelector("ol > li > strong")?.textContent?.trim() ?? "";
|
|
81
|
+
const exist = statusText.includes("대출가능");
|
|
82
|
+
const libName = dl.querySelector("li.so > span.blue")?.textContent?.trim() ?? "";
|
|
83
|
+
if (bookTitle) {
|
|
84
|
+
booklist.push({
|
|
85
|
+
libraryName: libName || libraryName,
|
|
86
|
+
title: bookTitle,
|
|
87
|
+
bookUrl,
|
|
88
|
+
maxoffset: count,
|
|
89
|
+
exist,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
return {
|
|
94
|
+
startPage: opt.startPage,
|
|
95
|
+
totalBookCount: count,
|
|
96
|
+
booklist,
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
exports.search = (0, util_1.wrapWithCallback)(searchImpl);
|
|
100
|
+
function getLibraryNames() {
|
|
101
|
+
return (0, util_1.getLibraryNames)(libraryList);
|
|
102
|
+
}
|
|
103
|
+
({ moduleName: exports.moduleName, homeUrl: exports.homeUrl, search: exports.search, getLibraryNames });
|
|
104
|
+
//# sourceMappingURL=mokpolib.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mokpolib.js","sourceRoot":"","sources":["../../src/localLibraryModule/mokpolib.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { SearchOptions, SearchResult } from "../types";
|
|
2
|
+
export declare const moduleName = "\uD30C\uC8FC\uC2DC\uB3C4\uC11C\uAD00";
|
|
3
|
+
export declare const homeUrl = "https://lib.paju.go.kr";
|
|
4
|
+
export declare const search: (opt: SearchOptions, callback?: import("../types").SearchCallback) => Promise<SearchResult | void>;
|
|
5
|
+
export declare function getLibraryNames(): string[];
|
|
6
|
+
//# sourceMappingURL=paju.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paju.d.ts","sourceRoot":"","sources":["../../src/localLibraryModule/paju.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAIV,aAAa,EACb,YAAY,EACb,MAAM,UAAU,CAAC;AAElB,eAAO,MAAM,UAAU,yCAAW,CAAC;AACnC,eAAO,MAAM,OAAO,2BAA2B,CAAC;AAwGhD,eAAO,MAAM,MAAM,oGAA+B,CAAC;AAEnD,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAE1C"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.search = exports.homeUrl = exports.moduleName = void 0;
|
|
4
|
+
exports.getLibraryNames = getLibraryNames;
|
|
5
|
+
const util_1 = require("../util");
|
|
6
|
+
const http_1 = require("../http");
|
|
7
|
+
const jsdom_1 = require("jsdom");
|
|
8
|
+
exports.moduleName = "파주시도서관";
|
|
9
|
+
exports.homeUrl = "https://lib.paju.go.kr";
|
|
10
|
+
const SEARCH_URL = "https://lib.paju.go.kr/jalib/plusSearchResultList.do";
|
|
11
|
+
const DETAIL_URL = "https://lib.paju.go.kr/jalib/menu/10056/program/30004/plusSearchResultDetail.do";
|
|
12
|
+
const libraryList = [
|
|
13
|
+
{ code: "MA", name: "중앙도서관" },
|
|
14
|
+
{ code: "MB", name: "금촌도서관" },
|
|
15
|
+
{ code: "MC", name: "문산도서관" },
|
|
16
|
+
{ code: "MD", name: "법원도서관" },
|
|
17
|
+
{ code: "ME", name: "적성도서관" },
|
|
18
|
+
{ code: "MQ", name: "교하도서관" },
|
|
19
|
+
{ code: "MI", name: "한빛도서관" },
|
|
20
|
+
{ code: "MH", name: "해솔도서관" },
|
|
21
|
+
{ code: "MN", name: "탄현도서관" },
|
|
22
|
+
{ code: "MM", name: "가람도서관" },
|
|
23
|
+
{ code: "MF", name: "조리도서관" },
|
|
24
|
+
{ code: "MK", name: "금촌3동솔빛도서관" },
|
|
25
|
+
{ code: "ML", name: "물푸레도서관" },
|
|
26
|
+
{ code: "MP", name: "파평도서관" },
|
|
27
|
+
{ code: "MR", name: "한울도서관" },
|
|
28
|
+
{ code: "MO", name: "월롱도서관" },
|
|
29
|
+
{ code: "MS", name: "광탄도서관" },
|
|
30
|
+
{ code: "MJ", name: "술이홀도서관" },
|
|
31
|
+
{ code: "SF", name: "금촌무지개작은도서관" },
|
|
32
|
+
{ code: "SD", name: "금곡작은도서관" },
|
|
33
|
+
{ code: "SA", name: "탄현작은도서관" },
|
|
34
|
+
{ code: "SB", name: "부엉이책장" },
|
|
35
|
+
];
|
|
36
|
+
const getLibraryCode = (0, util_1.createLibraryCodeLookup)(libraryList);
|
|
37
|
+
async function searchImpl(opt) {
|
|
38
|
+
const { title, libraryName, signal } = opt;
|
|
39
|
+
(0, util_1.validateSearchOptions)(opt);
|
|
40
|
+
const lcode = getLibraryCode(libraryName);
|
|
41
|
+
const { statusCode, body } = await (0, http_1.get)(SEARCH_URL, {
|
|
42
|
+
qs: {
|
|
43
|
+
searchType: "SIMPLE",
|
|
44
|
+
searchCategory: "BOOK",
|
|
45
|
+
searchKey: "TITLE",
|
|
46
|
+
searchKeyword: title,
|
|
47
|
+
searchLibraryArr: lcode,
|
|
48
|
+
searchRecordCount: 200,
|
|
49
|
+
},
|
|
50
|
+
signal,
|
|
51
|
+
});
|
|
52
|
+
if (statusCode !== 200) {
|
|
53
|
+
throw new Error(`HTTP ${statusCode}`);
|
|
54
|
+
}
|
|
55
|
+
const dom = new jsdom_1.JSDOM(body);
|
|
56
|
+
const document = dom.window.document;
|
|
57
|
+
const countEl = document.querySelector("p.rtitle b.themeFC");
|
|
58
|
+
const count = (0, util_1.extractNumber)(countEl?.textContent);
|
|
59
|
+
const booklist = [];
|
|
60
|
+
const bookItems = document.querySelectorAll("ul.resultList > li");
|
|
61
|
+
bookItems.forEach((li) => {
|
|
62
|
+
const titleLink = li.querySelector("dl.bookDataWrap dt.tit a");
|
|
63
|
+
const bookTitle = (titleLink?.textContent?.trim() ?? "").replace(/^\d+\.\s*/, "");
|
|
64
|
+
let bookUrl = "";
|
|
65
|
+
const onclick = titleLink?.getAttribute("onclick") ?? "";
|
|
66
|
+
const urlMatch = onclick.match(/fnSearchResultDetail\((\d+),(\d+),'(\w+)'\)/);
|
|
67
|
+
if (urlMatch) {
|
|
68
|
+
const [, recKey, bookKey, publishFormCode] = urlMatch;
|
|
69
|
+
bookUrl = `${DETAIL_URL}?recKey=${recKey}&bookKey=${bookKey}&publishFormCode=${publishFormCode}`;
|
|
70
|
+
}
|
|
71
|
+
const stateEl = li.querySelector("div.bookStateBar p.txt b");
|
|
72
|
+
const exist = stateEl?.textContent?.includes("대출가능") ?? false;
|
|
73
|
+
let libName = "";
|
|
74
|
+
const siteSpan = li.querySelector("dd.site span");
|
|
75
|
+
const siteText = siteSpan?.textContent?.trim() ?? "";
|
|
76
|
+
if (siteText.startsWith("도서관:")) {
|
|
77
|
+
libName = siteText.replace("도서관:", "").trim();
|
|
78
|
+
}
|
|
79
|
+
if (bookTitle) {
|
|
80
|
+
booklist.push({ libraryName: libName, title: bookTitle, bookUrl, exist });
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
return {
|
|
84
|
+
startPage: opt.startPage,
|
|
85
|
+
totalBookCount: count,
|
|
86
|
+
booklist,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
exports.search = (0, util_1.wrapWithCallback)(searchImpl);
|
|
90
|
+
function getLibraryNames() {
|
|
91
|
+
return (0, util_1.getLibraryNames)(libraryList);
|
|
92
|
+
}
|
|
93
|
+
({ moduleName: exports.moduleName, homeUrl: exports.homeUrl, search: exports.search, getLibraryNames });
|
|
94
|
+
//# sourceMappingURL=paju.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paju.js","sourceRoot":"","sources":["../../src/localLibraryModule/paju.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,14 +30,14 @@
|
|
|
30
30
|
| 19 | [suwonlib.go.kr](https://suwonlib.go.kr) | 23 | 경기도 | 공공도서관 | 37.272295 | 127.020091 | ✅ |
|
|
31
31
|
| 20 | [lib.yangcheon.or.kr](https://lib.yangcheon.or.kr) | 23 | 서울특별시 | 공공도서관 | 37.525064 | 126.853829 | ✅ |
|
|
32
32
|
| 21 | [lib.gunsan.go.kr](https://lib.gunsan.go.kr) | 22 | 전북특별자치도 | 공공도서관 | 35.96941 | 126.727303 | ✅ |
|
|
33
|
-
| 22 | [mokpolib.or.kr](https://mokpolib.or.kr) |
|
|
33
|
+
| 22 | [mokpolib.or.kr](https://mokpolib.or.kr) | 23 | 전라남도 | 공공도서관 | 34.804333 | 126.402538 | ✅ |
|
|
34
34
|
| 23 | [lib.dgs.go.kr](https://lib.dgs.go.kr) | 22 | 대구광역시 | 공공도서관 | 35.873767 | 128.558757 | |
|
|
35
|
-
| 24 | [lib.paju.go.kr](https://lib.paju.go.kr) | 22 | 경기도 | 공공도서관 | 37.792681 | 126.787374 |
|
|
35
|
+
| 24 | [lib.paju.go.kr](https://lib.paju.go.kr) | 22 | 경기도 | 공공도서관 | 37.792681 | 126.787374 | ✅ |
|
|
36
36
|
| 25 | [namwon.go.kr](https://namwon.go.kr) | 21 | 전북특별자치도 | 공공도서관 | 35.425757 | 127.421661 | |
|
|
37
37
|
| 26 | [lib.yongin.go.kr](https://lib.yongin.go.kr) | 20 | 경기도 | 공공도서관 | 37.27137 | 127.139799 | ✅ |
|
|
38
38
|
| 27 | [cheonan.go.kr](https://cheonan.go.kr) | 20 | 충청남도 | 공공도서관 | 36.798737 | 127.166065 | |
|
|
39
39
|
| 28 | [lib.jbe.go.kr](https://lib.jbe.go.kr) | 19 | 전북특별자치도 | 공공도서관 | 35.739328 | 127.122167 | |
|
|
40
|
-
| 29 | [junggulib.or.kr](https://junggulib.or.kr) | 19 | 서울특별시 | 공공도서관 | 37.558735 | 127.004214 |
|
|
40
|
+
| 29 | [junggulib.or.kr](https://junggulib.or.kr) | 19 | 서울특별시 | 공공도서관 | 37.558735 | 127.004214 | ✅ |
|
|
41
41
|
| 30 | [goyanglib.or.kr](https://goyanglib.or.kr) | 18 | 경기도 | 공공도서관 | 37.664976 | 126.811196 | |
|
|
42
42
|
| 31 | [uilib.go.kr](https://uilib.go.kr) | 18 | 경기도 | 공공도서관 | 37.739667 | 127.058659 | |
|
|
43
43
|
| 32 | [sblib.seoul.kr](https://sblib.seoul.kr) | 17 | 서울특별시 | 공공도서관 | 37.603459 | 127.027155 | |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dongnelibrary",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.21",
|
|
4
4
|
"description": "책을 빌릴 수 있는지 확인한다.",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22.22.0"
|
|
@@ -36,6 +36,9 @@
|
|
|
36
36
|
"hscity": "npm run build && node --test test/hscity.spec.js",
|
|
37
37
|
"nowon": "npm run build && node --test test/nowon.spec.js",
|
|
38
38
|
"ice": "npm run build && node --test test/ice.spec.js",
|
|
39
|
+
"junggulib": "npm run build && node --test test/junggulib.spec.js",
|
|
40
|
+
"mokpolib": "npm run build && node --test test/mokpolib.spec.js",
|
|
41
|
+
"paju": "npm run build && node --test test/paju.spec.js",
|
|
39
42
|
"osan": "npm run build && node --test test/osan.spec.js",
|
|
40
43
|
"pohang": "npm run build && node --test test/pohang.spec.js",
|
|
41
44
|
"ptlib": "npm run build && node --test test/ptlib.spec.js",
|
|
@@ -82,6 +85,7 @@
|
|
|
82
85
|
"하남시도서관",
|
|
83
86
|
"노원구립도서관",
|
|
84
87
|
"성남시도서관",
|
|
88
|
+
"파주시도서관",
|
|
85
89
|
"오산시도서관",
|
|
86
90
|
"평택시도서관",
|
|
87
91
|
"포항시립도서관",
|
|
@@ -94,6 +98,8 @@
|
|
|
94
98
|
"양평군도서관",
|
|
95
99
|
"용인시도서관",
|
|
96
100
|
"인천광역시교육청통합공공도서관",
|
|
101
|
+
"중구구립도서관",
|
|
102
|
+
"목포시통합도서관",
|
|
97
103
|
"제주시도서관",
|
|
98
104
|
"원주시립통합도서관",
|
|
99
105
|
"양천구도서관",
|
|
@@ -112,9 +118,9 @@
|
|
|
112
118
|
"commander": "^14.0.3",
|
|
113
119
|
"configstore": "^4.0.0",
|
|
114
120
|
"figlet": "^1.2.1",
|
|
115
|
-
"jsdom": "^21.1.
|
|
116
|
-
"lodash": "^4.
|
|
117
|
-
"undici": "^6.
|
|
121
|
+
"jsdom": "^21.1.2",
|
|
122
|
+
"lodash": "^4.18.1",
|
|
123
|
+
"undici": "^6.25.0"
|
|
118
124
|
},
|
|
119
125
|
"devDependencies": {
|
|
120
126
|
"@types/configstore": "^6.0.2",
|
|
@@ -126,7 +132,9 @@
|
|
|
126
132
|
},
|
|
127
133
|
"overrides": {
|
|
128
134
|
"acorn": ">=5.7.4",
|
|
129
|
-
"minimist": ">=1.2.2"
|
|
135
|
+
"minimist": ">=1.2.2",
|
|
136
|
+
"@tootallnate/once": "^2.0.1",
|
|
137
|
+
"ws": "^8.20.1"
|
|
130
138
|
},
|
|
131
139
|
"tonicExampleFilename": "src/example.js"
|
|
132
140
|
}
|
package/src/dongnelibrary.ts.tmp
DELETED
|
File without changes
|