parse-comcigan 0.3.0 → 1.0.0

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/dist/index.js CHANGED
@@ -7,210 +7,131 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
7
7
  step((generator = generator.apply(thisArg, _arguments || [])).next());
8
8
  });
9
9
  };
10
- import axios from 'axios';
11
- import iconv from 'iconv-lite';
12
- import Cache from './cache.js';
13
- //#endregion
10
+ import ComciganError from "./error.js";
11
+ import axios from "axios";
12
+ import iconv from "iconv-lite";
13
+ import dayjs from "dayjs";
14
+ axios.defaults.validateStatus = () => true;
15
+ function splitData(dat) {
16
+ const d = String(dat).match(/\d{1,3}(?=(\d{3})+(?!\d))|\d{1,3}$/g);
17
+ if (!d)
18
+ return -1;
19
+ return d.reverse().map(Number);
20
+ }
14
21
  export default class Comcigan {
15
- mSb(mm, m2) { if (m2 == 100) {
16
- return mm % m2;
17
- } return Math.floor(mm / m2); }
18
- mTh(mm, m2) { if (m2 == 100) {
19
- return Math.floor(mm / m2);
20
- } return mm % m2; }
21
- unusable(object, array) {
22
- if (object === array[0])
23
- return;
24
- return object;
25
- }
26
- request(route, doNotParse) {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
29
- if (this._cache.has(route)) {
30
- (_b = (_a = this._options).debug) === null || _b === void 0 ? void 0 : _b.call(_a, `Returning cache with id registered as ${route}`);
31
- return this._cache.get(route);
32
- }
33
- (_d = (_c = this._options).debug) === null || _d === void 0 ? void 0 : _d.call(_c, `Requesting to http://comci.kr:4081/${route}`);
34
- const now = new Date();
35
- const r = yield axios.get(`http://comci.kr:4081/${route}`, Object.assign({}, (this._options.doNotThrow && { "validateStatus": () => true })));
36
- (_f = (_e = this._options).debug) === null || _f === void 0 ? void 0 : _f.call(_e, `${new Date().getTime() - now.getTime()}ms http://comci.kr:4081/${route}`);
37
- if (doNotParse) {
38
- if (this._options.cacheMs && this._options.cacheMs !== 0) {
39
- (_h = (_g = this._options).debug) === null || _h === void 0 ? void 0 : _h.call(_g, `Registered cache with id ${route}`);
40
- this._cache.register(route, r.data, this._options.cacheMs);
41
- }
42
- return r.data;
43
- }
44
- const data = JSON.parse(r.data.slice(0, r.data.indexOf("}") + 1));
45
- if (this._options.cacheMs && this._options.cacheMs !== 0) {
46
- (_k = (_j = this._options).debug) === null || _k === void 0 ? void 0 : _k.call(_j, `Registered cache with id ${route}`);
47
- this._cache.register(route, data, this._options.cacheMs);
48
- }
49
- return data;
50
- });
51
- }
52
- EUC_KR_encodeURI(str) {
53
- const buffer = iconv.encode(str, 'euc-kr');
54
- return Array.from(buffer)
55
- .map((byte) => '%' + byte.toString(16).toUpperCase().padStart(2, '0'))
56
- .join('');
57
- }
58
- /**
59
- * 파서를 초기화 합니다.
60
- * @param options 파서의 옵션입니다.
61
- */
62
- constructor(options) {
63
- this._options = {
64
- "cacheMs": 0,
65
- "doNotThrow": false,
66
- "appVersion": "2.11",
67
- };
68
- this._cache = new Cache();
69
- this._options = Object.assign(Object.assign({}, this._options), options);
22
+ constructor(code) {
23
+ this.code = code;
24
+ this._data = [];
70
25
  }
71
26
  /**
72
27
  * 학교를 검색합니다.
73
- * 마지막 "없으면 추가 검색 하세요" 문구는 빠져서 나옵니다.
28
+ *
74
29
  * @param query 검색어
75
- * @returns 검색된 학교들
30
+ * @returns 검색 결과
76
31
  */
77
- SearchSchool(query) {
32
+ static search(query) {
78
33
  return __awaiter(this, void 0, void 0, function* () {
79
- const r = yield this.request(`sc_${this.EUC_KR_encodeURI(query)}`);
80
- return r.학교검색.map(v => ({
34
+ const euckr = Array.from(iconv.encode(query, "euc-kr"))
35
+ .map(byte => '%' + byte.toString(16).toUpperCase().padStart(2, '0'))
36
+ .join('');
37
+ const r = yield axios.get("http://comci.net:4082/36179?17384l" + euckr);
38
+ const obj = JSON.parse(r.data.substring(0, r.data.lastIndexOf("}") + 1));
39
+ return obj.학교검색
40
+ .filter(v => v[3] !== 0)
41
+ .map(v => ({
42
+ "code": v[3],
81
43
  "region": v[1],
82
- "name": v[2],
83
- "code": v[3]
84
- })).filter(v => v.code !== 0);
44
+ "name": v[2]
45
+ }));
46
+ });
47
+ }
48
+ _getdata(index) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ const idx = index !== null && index !== void 0 ? index : 1;
51
+ if (this._data[idx])
52
+ return this._data[idx];
53
+ const route = btoa(`73629_${this.code}_0_${idx}`);
54
+ const r = yield axios.get(`http://comci.net:4082/36179?${route}`);
55
+ if (r.data.startsWith("{}"))
56
+ throw new ComciganError(`학교 정보를 가져오는데 실패했어요. 학교 코드가 올바른지 확인해주세요.`);
57
+ const obj = JSON.parse(r.data.substring(0, r.data.lastIndexOf("}") + 1));
58
+ this._data[idx] = obj;
85
59
  });
86
60
  }
87
61
  /**
88
- * 시간표를 가져옵니다.
62
+ * 학교의 정보를 가져옵니다.
89
63
  *
90
- * @param schoolCode
91
- * @param criteria
64
+ * @returns 학교의 정보
92
65
  */
93
- GetTimetable(options) {
66
+ schoolInfo() {
94
67
  return __awaiter(this, void 0, void 0, function* () {
95
- var _a, _b, _c, _d, _e, _f, _g;
96
- const { schoolCode, criteria, grade, classN, without8th, nextWeek } = options;
97
- const { appVersion } = this._options;
98
- const str = `36174_${schoolCode}_${nextWeek ? 2 : 1}_4_0_3_${appVersion}`;
99
- const route = (str.substring(9) + str.substring(0, 9)).split("").reverse().join("");
100
- const data = yield this.request(`7813?${route}`, true);
101
- const [latestVersion, step1] = data.split("^");
102
- const edited = step1.substring(0, step1.indexOf("{"));
103
- const step2 = step1.slice(step1.indexOf("{"));
104
- const json = JSON.parse(step2.slice(0, step2.indexOf("}") + 1));
105
- const WEEKDAY = ["월", "화", "수", "목", "금"];
106
- const sep = (_a = json.분리) !== null && _a !== void 0 ? _a : 100;
107
- if (!json.시간표)
108
- return undefined;
109
- // 시간표[학년][반][요일][교시]
110
- const origin = json.시간표[grade][classN];
111
- const today = json.학급시간표[grade][classN];
112
- const toReturn = [];
113
- if (criteria === "period") {
114
- for (let weekday = 1; weekday < WEEKDAY.length + 1; weekday++) {
115
- const weekdayList = [];
116
- for (let period = 1; period < (without8th ? 8 : 9); period++) {
117
- const o = origin[weekday][period];
118
- const t = today[weekday][period];
119
- if (o === undefined || t === undefined) {
120
- weekdayList.push({
121
- "subject": "-",
122
- "teacher": "-"
123
- });
124
- continue;
125
- }
126
- const originSubject = json.과목명[this.mSb(o, sep) % sep];
127
- const originTeacher = json.성명[this.mTh(o, sep) % sep];
128
- if (o === t) {
129
- weekdayList.push({
130
- "subject": (_b = this.unusable(originSubject, json.과목명)) !== null && _b !== void 0 ? _b : "-",
131
- "teacher": (_c = this.unusable(originTeacher, json.성명)) !== null && _c !== void 0 ? _c : "-"
132
- });
133
- continue;
134
- }
135
- const changedSubject = json.과목명[this.mSb(t, sep) % sep];
136
- const changedTeacher = json.성명[this.mTh(t, sep) % sep];
137
- weekdayList.push({
138
- "subject": (_d = this.unusable(changedSubject, json.과목명)) !== null && _d !== void 0 ? _d : "-",
139
- "teacher": (_e = this.unusable(changedTeacher, json.성명)) !== null && _e !== void 0 ? _e : "-",
140
- "original": {
141
- "subject": (_f = this.unusable(originSubject, json.과목명)) !== null && _f !== void 0 ? _f : "-",
142
- "teacher": (_g = this.unusable(originTeacher, json.성명)) !== null && _g !== void 0 ? _g : "-",
143
- }
144
- });
145
- }
146
- toReturn.push(weekdayList);
147
- }
148
- }
149
- else {
150
- for (let period = 1; period < (without8th ? 8 : 9); period++) {
151
- const periodList = [];
152
- for (let weekday = 1; weekday < WEEKDAY.length + 1; weekday++) {
153
- const o = origin[weekday][period];
154
- const t = today[weekday][period];
155
- if (!o || !t) {
156
- periodList.push({
157
- "subject": "-",
158
- "teacher": "-"
159
- });
160
- continue;
161
- }
162
- const originSubject = json.과목명[this.mSb(o, sep) % sep];
163
- const originTeacher = json.성명[this.mTh(o, sep) % sep];
164
- if (o === t) {
165
- periodList.push({
166
- "subject": originSubject,
167
- "teacher": originTeacher
168
- });
169
- continue;
170
- }
171
- const changedSubject = json.과목명[this.mSb(t, sep) % sep];
172
- const changedTeacher = json.성명[this.mTh(t, sep) % sep];
173
- periodList.push({
174
- "subject": originSubject,
175
- "teacher": originTeacher,
176
- "original": {
177
- "subject": changedSubject,
178
- "teacher": changedTeacher
179
- }
180
- });
181
- }
182
- toReturn.push(periodList);
183
- }
184
- }
68
+ yield this._getdata();
69
+ const data = this._data[1];
185
70
  return {
186
- "changed": edited,
187
- latestVersion,
188
- "timetable": toReturn
71
+ "changedAt": dayjs(data.자료244, "YYYY-MM-DD HH:mm:ss").toDate(),
72
+ "classes": data.학급수.slice(1),
73
+ "times": data.일과시간.map(v => ({
74
+ "number": Number(v.slice(0, 1)),
75
+ "start": v.slice(2, 7),
76
+ })),
77
+ "code": this.code
189
78
  };
190
79
  });
191
80
  }
192
81
  /**
193
- * 학급 목록을 가져옵니다.
82
+ * 시간표를 조회합니다.
194
83
  *
195
- * @param schoolCode 학교 코드입니다.
196
- * @returns (학년)-(반) 문자열이 모인 배열
84
+ * @param options 시간표 옵션
85
+ * @returns 시간표
197
86
  */
198
- GetClassList(schoolCode) {
87
+ timetable(options) {
199
88
  return __awaiter(this, void 0, void 0, function* () {
200
- const str = `36174_${schoolCode}_1_4_0_3_1.00`;
201
- const route = (str.substring(9) + str.substring(0, 9)).split("").reverse().join("");
202
- const data = yield this.request(`7813?${route}`, true);
203
- const step1 = data.split("^")[1];
204
- const step2 = step1.slice(step1.indexOf("{"));
205
- const json = JSON.parse(step2.slice(0, step2.indexOf("}") + 1));
206
- const rawClasses = json.학급수;
207
- if (!rawClasses)
208
- return [];
89
+ var _a, _b, _c, _d;
90
+ const { grade, classNum, week } = options;
91
+ if (!grade || !classNum)
92
+ throw new ComciganError("학년 (grade), 반 (classNum)을 제공해주세요.");
93
+ yield this._getdata(week);
94
+ const data = this._data[week !== null && week !== void 0 ? week : 1];
209
95
  const toReturn = [];
210
- for (let g = 1; g < rawClasses.length; g++) {
211
- for (let c = 1; c < rawClasses[g] + 1; c++) {
212
- toReturn.push(`${g}-${c}`);
96
+ // 자료481: 현재 데이터
97
+ // 자료147: 원본 데이터
98
+ // 자료446: 선생님
99
+ // 자료492: 과목
100
+ for (let day = 1; day <= 5; day++) {
101
+ const dayItems = [];
102
+ for (let time = 1; time <= 8; time++) {
103
+ const now = splitData(data.자료481[grade][classNum][day][time]);
104
+ if (now === -1)
105
+ continue;
106
+ const subject = data.자료492[now[1]];
107
+ const teacher = data.자료446[now[0]];
108
+ const classRoom = data.자료245[grade][classNum][day][time];
109
+ const classRoomAvailable = classRoom !== undefined && classRoom !== "";
110
+ const origin = splitData((_d = (_c = (_b = (_a = data.자료147) === null || _a === void 0 ? void 0 : _a[grade]) === null || _b === void 0 ? void 0 : _b[classNum]) === null || _c === void 0 ? void 0 : _c[day]) === null || _d === void 0 ? void 0 : _d[time]);
111
+ if (origin !== -1) {
112
+ const newSubject = data.자료492[origin[1]];
113
+ const newTeacher = data.자료446[origin[0]];
114
+ dayItems.push({
115
+ subject,
116
+ teacher,
117
+ "classRoom": classRoomAvailable ? classRoom.split("_")[1] : undefined,
118
+ "original": newSubject === subject && newTeacher === teacher ? undefined : {
119
+ "subject": newSubject,
120
+ "teacher": newTeacher
121
+ }
122
+ });
123
+ continue;
124
+ }
125
+ dayItems.push({
126
+ subject,
127
+ teacher,
128
+ "classRoom": classRoomAvailable ? classRoom : undefined
129
+ });
213
130
  }
131
+ toReturn[day - 1] = {
132
+ "total": dayItems.length,
133
+ "items": dayItems
134
+ };
214
135
  }
215
136
  return toReturn;
216
137
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "parse-comcigan",
3
- "version": "0.3.0",
3
+ "version": "1.0.0",
4
4
  "description": "컴시간 알리미에서 시간표를 가져오는 라이브러리입니다.",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -12,16 +12,18 @@
12
12
  "build": "tsc",
13
13
  "clean": "tsc --build --clean",
14
14
  "dev": "nodemon --exec ts-node src/index.ts",
15
+ "watch": "tsc --watch",
15
16
  "test": "npm run pack && node \"test.js\""
16
17
  },
17
18
  "devDependencies": {
18
- "@types/node": "^22.15.30",
19
- "nodemon": "^3.1.9",
19
+ "@types/node": "^22.19.20",
20
+ "nodemon": "^3.1.14",
20
21
  "ts-node": "^10.9.2",
21
- "typescript": "^5.8.3"
22
+ "typescript": "^5.9.3"
22
23
  },
23
24
  "dependencies": {
24
- "axios": "^1.8.4",
25
+ "axios": "^1.17.0",
26
+ "dayjs": "^1.11.21",
25
27
  "iconv-lite": "^0.6.3"
26
28
  },
27
29
  "repository": {
package/test.ts ADDED
@@ -0,0 +1,9 @@
1
+ import Comcigan from './dist/index.js';
2
+
3
+ (async () => {
4
+ // 컴시간 인스턴스 생성
5
+ const comci = new Comcigan(41896);
6
+
7
+ // 시간표 조회
8
+ console.log(await comci.schoolInfo());
9
+ })();
package/tsconfig.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "compilerOptions": {
3
- "outDir": "dist",
3
+ "outDir": "./dist",
4
+ "rootDir": "./src",
4
5
  "target": "ES6",
5
- "module": "ESNext",
6
6
  "lib": [
7
7
  "ES6",
8
8
  "DOM"
9
9
  ],
10
- "moduleResolution": "Node",
10
+ "moduleResolution": "node16",
11
+ "module": "node16",
11
12
  "esModuleInterop": true,
12
13
  "declaration": true,
13
14
  "strict": true,
package/dist/cache.d.ts DELETED
@@ -1,8 +0,0 @@
1
- export default class Cache {
2
- private _cacheStorage;
3
- register(id: string, data: any, duration: number): void;
4
- delete(id: string): void;
5
- clear(): void;
6
- has(id: string): boolean;
7
- get(id: string): any;
8
- }
package/dist/cache.js DELETED
@@ -1,32 +0,0 @@
1
- export default class Cache {
2
- constructor() {
3
- this._cacheStorage = {};
4
- }
5
- register(id, data, duration) {
6
- this._cacheStorage[id] = {
7
- "timeout": setTimeout(() => {
8
- delete this._cacheStorage[id];
9
- }, duration),
10
- "data": data
11
- };
12
- }
13
- delete(id) {
14
- clearTimeout(this._cacheStorage[id].timeout);
15
- delete this._cacheStorage[id];
16
- }
17
- clear() {
18
- const caches = Object.keys(this._cacheStorage);
19
- for (let cache of caches) {
20
- clearTimeout(this._cacheStorage[cache].timeout);
21
- delete this._cacheStorage[cache];
22
- }
23
- }
24
- has(id) {
25
- return Boolean(this._cacheStorage[id]);
26
- }
27
- get(id) {
28
- var _a;
29
- return (_a = this._cacheStorage[id]) === null || _a === void 0 ? void 0 : _a.data;
30
- }
31
- }
32
- //# sourceMappingURL=cache.js.map
package/dist/cache.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../src/cache.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,KAAK;IAA1B;QACY,kBAAa,GAGhB,EAAE,CAAC;IA2BZ,CAAC;IAzBU,QAAQ,CAAC,EAAU,EAAE,IAAS,EAAE,QAAgB;QACnD,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG;YACrB,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE;gBACvB,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC,EAAE,QAAQ,CAAC;YACZ,MAAM,EAAE,IAAI;SACf,CAAC;IACN,CAAC;IACM,MAAM,CAAC,EAAU;QACpB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IACM,KAAK;QACR,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/C,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IACM,GAAG,CAAC,EAAU;QACjB,OAAO,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IACM,GAAG,CAAC,EAAU;;QACjB,OAAO,MAAA,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,0CAAE,IAAI,CAAC;IACxC,CAAC;CACJ"}
package/src/cache.ts DELETED
@@ -1,32 +0,0 @@
1
- export default class Cache {
2
- private _cacheStorage: Collection<{
3
- "timeout": NodeJS.Timeout;
4
- "data": any;
5
- }> = {};
6
-
7
- public register(id: string, data: any, duration: number) {
8
- this._cacheStorage[id] = {
9
- "timeout": setTimeout(() => {
10
- delete this._cacheStorage[id];
11
- }, duration),
12
- "data": data
13
- };
14
- }
15
- public delete(id: string) {
16
- clearTimeout(this._cacheStorage[id].timeout);
17
- delete this._cacheStorage[id];
18
- }
19
- public clear() {
20
- const caches = Object.keys(this._cacheStorage);
21
- for (let cache of caches) {
22
- clearTimeout(this._cacheStorage[cache].timeout);
23
- delete this._cacheStorage[cache];
24
- }
25
- }
26
- public has(id: string) {
27
- return Boolean(this._cacheStorage[id]);
28
- }
29
- public get(id: string) {
30
- return this._cacheStorage[id]?.data;
31
- }
32
- }