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.
@@ -31,6 +31,7 @@
31
31
  "Bash(npm run gimhae)",
32
32
  "Bash(npm run siheung)",
33
33
  "Bash(npm run gwe)",
34
+ "Bash(npm run paju)",
34
35
  "Bash(time *)",
35
36
  "Bash(python3 - *)",
36
37
  "Bash(python3 << *)"
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":"AA0CA,OAAO,KAAK,EAEV,gBAAgB,EAGhB,cAAc,EACd,sBAAsB,EAEtB,iBAAiB,EACjB,YAAY,EACb,MAAM,SAAS,CAAC;AA+EjB;;;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"}
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"}
@@ -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) | 22 | 전라남도 | 공공도서관 | 34.804333 | 126.402538 | |
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.20",
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.1",
116
- "lodash": "^4.17.23",
117
- "undici": "^6.23.0"
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
  }
File without changes