README
comcigan-parser
ππ μ»΄μκ° μ리미 μκ°ν νμ± λΌμ΄λΈλ¬λ¦¬ μ
λλ€.
λ³Έ λΌμ΄λΈλ¬λ¦¬λ μ»΄μκ° ννμ΄μ§μμ λ±λ‘λ νκ΅μ μκ°ν λ°μ΄ν°λ₯Ό νμ±νμ¬ μ 곡ν©λλ€.
κΈ°λ₯
- νκ΅λͺ μ λ ₯ ν λ°λ‘ μ¬μ© κ°λ₯
- νκΈ μκ°ν λ°μ΄ν° μ 곡
μ 보
ν΄λΉ λΌμ΄λΈλ¬λ¦¬λ μ»΄μκ° μκ°ν μΉμ¬μ΄νΈ(κ°λ° μ€)λ₯Ό μν΄ μ΄κ·Όνλμ comcigan-parser λ₯Ό μμ νμμ΅λλ€.
μ»΄μκ° μλΉμ€λ₯Ό μ¬μ©νλ νκ΅μ μκ°ν λ°μ΄ν°λ₯Ό μ½κ² μμ§νμ¬ μ¬μ©ν μ μμ΅λλ€.
μ»΄μκ°μΈ‘μ μμ€μ½λ λ³κ²½μΌλ‘ μΈν΄ μκ°ν λ°μ΄ν° νμ±μ΄ λΆκ°λ₯ ν μ μμ΅λλ€. λ¬Έμ κ° λ°μν κ²½μ° μ¬κΈ°λ₯Ό μ°Έκ³ ν΄μ£ΌμΈμ
(μ£Όμ!) λ³Έ λΌμ΄λΈλ¬λ¦¬λ λΉκ³΅μμ μΌλ‘ μ»΄μκ° μλΉμ€μ λ°μ΄ν°λ₯Ό νμ±νλ©°, μμ μ μΈ μ©λλ‘ μ¬μ©νλ€ λ¬Έμ κ° λ°μν κ²½μ° μ± μμ μ§μ§ μμ΅λλ€.
μ€μΉνκΈ°
npm i comcigan-parser
κ°λ° λ¬Έμ
Timetable
Timetable ν΄λμ€μ μΈμ€ν΄μ€λ₯Ό μμ±νμ¬ μ¬μ©ν©λλ€.
const Timetable = require("comcigan-parser");
new Timetable();
(Method) Timetable.init
μΈμ€ν΄μ€ μ 보λ₯Ό μ΄κΈ°ν ν©λλ€.
μ΅μ
μ μΆκ°νμ¬ μ¬μ©μ μ€μ μ μ§νν μ μμ΅λλ€.
Parameter | Type | Required |
---|---|---|
option | any | X |
μ΅μ μ 보λ μλ ν μ°Έκ³
Option | Value | default |
---|---|---|
firstNames | array | ['κΉ', 'λ°', 'μ΄', 'μ‘'] |
maxGrade | number | 3 |
timetableThreshold | number | 30000 |
- firstNames - κ΅μ¬ μ΄λ¦ μΆμΆ μ μ°Έκ³ ν μ±μ¨ λͺ©λ‘μ λλ€.
- maxGrade - μ΅λ νλ μ μ§μ ν©λλ€.
- timetableThreshold - μκ°ν λ°μ΄ν° μκ³κ°
- μλ΅ λ°μ΄ν°λ
[0, 0, 0, 0, 0]
,[0, 10324, 52201, 8909, 0]
μ΄μ κ°μ νμμΌλ‘ μμ§λλ©° κ° μμλ₯Ό λͺ¨λ λν κ°μ΄ μ§μ ν μκ³κ°μ λμ κ²½μ° ν΄λΉ κ°μ μκ°ν λ°μ΄ν°λ‘ μ¬μ©ν¨ - λΉμ΄μλ λ°μ΄ν° ([0, 0, 0, 0, 0])λ₯Ό νν°λ§νκΈ° μν΄ μ¬μ©
- μλ΅ λ°μ΄ν°λ
Return - Promise<any>
const timetable = new Timetable();
timetable.init(option);
(Method) Timetable.getTimetable
μ§μ ν νκ΅μ μκ°ν λ°μ΄ν°λ₯Ό λΆλ¬μ΅λλ€.
Return - Promise<any>
timetable.getTimetable();
(Method) Timetable.getClassTime
κ° κ΅μλ³ μμ μμ/μ’ λ£ μκ°μ 보λ₯Ό λ°νν©λλ€.
Return - Array<string>
timetable.getClassTime();
μΆκ°λ κΈ°λ₯
(Method) Timetable.searchSchool - μΆκ°λ¨
μ λ ₯λ ν€μλλ₯Ό ν΅ν΄ νκ΅λ₯Ό μ‘°ννμ¬ κ²°κ³Όλ₯Ό 리ν΄ν©λλ€.
μ»΄μκ°μ λ±λ‘λ νκ΅κ° μλ κ²½μ° κ²μλμ§ μμ΅λλ€.
Parameter | Type | Required |
---|---|---|
keyword | string | O |
Return - Object
timetable.searchSchool(keyword);
μ¬μ© λ°©λ²
Timetable μΈμ€ν΄μ€ μμ±
comcigan-parser
λͺ¨λμ λΆλ¬μ¨ ν μΈμ€ν΄μ€λ₯Ό μμ±ν©λλ€.
μμ± ν λ°λμ init(option)
λ₯Ό νΈμΆνμ¬ μ΄κΈ°ν ν©λλ€.
- μ΅μ μ μ¬κΈ° μ°Έμ‘°
const Timetable = require("comcigan-parser");
const timetable = new Timetable();
timetable.init(option).then(() => {
// μ΄κΈ°ν μλ£..
});
νκ΅ μ€μ
μ»΄μκ°μ λ±λ‘λμ΄μλ νκ΅λ₯Ό κ²μνκ³ μΈμ€ν΄μ€μ λ±λ‘ν©λλ€.
νκ΅κ° μ¬λ¬κ° μ‘°νλκ±°λ κ²μ κ²°κ³Όκ° μλ κ²½μ° μμΈκ° λ°μν©λλ€.
timetable.setSchool("κ΄λͺ
κ²½μνκ³κ³ λ±νκ΅").then((result) => {
console.log(result); //true
});
timetable.setSchool("ν
μ€νΈ").then((result) => {
console.log(result); //κ²μλ νκ΅κ° μμ΅λλ€.
});
timetable.setSchool("μ°").then((result) => {
console.log(result); //κ²μλ νκ΅κ° λ§μ΅λλ€. λ μμΈν νκ΅λͺ
μ μ
λ ₯ν΄μ£ΌμΈμ. κ²μ κ²°κ³Ό μ: ${searchData.length}
});
μκ°ν μ‘°ν
λ±λ‘ν νκ΅μ μκ°ν λ°μ΄ν°λ₯Ό μ‘°νν©λλ€.
timetable.getTimetable().then((result) => {
console.log(result);
// result[νλ
][λ°][μμΌ][κ΅μ]
// μμΌ: (μ: 0 ~ κΈ: 4)
// κ΅μ: 1κ΅μ(0), 2κ΅μ(1), 3κ΅μ(2)..
// 3νλ
8λ° νμμΌ 2κ΅μ μκ°ν
console.log(result[3][8][1][1]);
});
μμ μκ° μ 보 μ‘°ν
timetable.getClassTime("κ΄λͺ
κ²½μνκ³κ³ λ±νκ΅").then((result) => {
console.log(result); //κ΄λͺ
κ²½μνκ³κ³ λ±νκ΅
});
timetable.getClassTime("ν
μ€νΈ").then((result) => {
console.log(result); //κ²μλ νκ΅κ° μμ΅λλ€.
});
timetable.getClassTime("μ°").then((result) => {
console.log(result); //κ²μλ νκ΅κ° λ§μ΅λλ€. λ μμΈν νκ΅λͺ
μ μ
λ ₯ν΄μ£ΌμΈμ. κ²μ κ²°κ³Ό μ: ${searchData.length}
});
νκ΅ μ‘°ν
const time = timetable.searchSchool("");
console.log(time);
/*
[ '1(09:10)',
'2(10:10)',
'3(11:10)',
'4(12:10)',
'5(13:50)',
'6(14:50)',
'7(15:50)',
'8(16:50)' ]
*/
μ¬μ© μμ
const Timetable = require("comcigan-parser");
const timetable = new Timetable();
const test = async () => {
await timetable.init();
await timetable.setSchool("κ΄λͺ
κ²½μνκ³κ³ λ±νκ΅");
// μ κ΅ μκ°ν μ 보 μ‘°ν
const result = await timetable.getTimetable();
console.log(result);
// κ° κ΅μλ³ μμ
μμ/μ’
λ£ μκ° μ 보 μ‘°ν
const time = timetable.getClassTime();
console.log(time);
};
λ°μ΄ν° νμ
μκ°ν λ°μ΄ν°
{
"1": {
// 1νλ
"1": [ // 1λ°
[ // μμμΌ μκ°ν
{
grade: 1, // νλ
class: 1, // λ°
weekday: 1, // μμΌ (1: μ ~ 5: κΈ)
weekdayString: 'μ', // μμΌ λ¬Έμμ΄
class_time: 1, // κ΅μ
code: '5644', // μμ
μ½λ
teacher: 'μ΄ν¬*', // μ μλ μ±ν¨
subject: 'μ€μ©λΉμ¦λμ€μμ΄' // κ³Όλͺ©λͺ
},
{
grade: 1,
class: 1,
weekday: 1,
weekdayString: 'μ',
class_time: 2,
code: '1606',
teacher: 'κ°μ°*',
subject: 'μ§λ‘νλ'
}
],
[νμμΌμκ°ν],
[μμμΌμκ°ν],
[λͺ©μμΌμκ°ν],
[κΈμμΌμκ°ν]
],
"2": [ // 2λ°
[μμμΌμκ°ν],
[νμμΌμκ°ν],
[μμμΌμκ°ν],
[λͺ©μμΌμκ°ν],
[κΈμμΌμκ°ν]
],
"3": [
[], [], [], [], []
],
...
},
"2": {
// 2νλ
},
"3": {
// 3νλ
}
}
timetable.getTimetable().then((result) => {
// 3νλ
8λ° μκ°ν (μ ~ κΈ)
console.log(result[3][8]);
// 1νλ
1λ° μμμΌ μκ°ν
console.log(result[1][1][0]);
// 2νλ
5λ° κΈμμΌ 3κ΅μ μκ°ν
console.log(result[2][5][4][2]);
});
μμ μκ° μ 보
[
"1(09:10)",
"2(10:10)",
"3(11:10)",
"4(12:10)",
"5(13:50)",
"6(14:50)",
"7(15:50)",
"8(16:50)",
];
λ¬Έμ μ κ³
μκ°ν νμ±μ΄ λμ§ μκ±°λ λ¬Έμ κ° λ°μν κ²½μ° μ΄μλ₯Ό λ¨κ²¨μ£ΌμΈμ.
λ³κ²½μ¬ν
0.3.0
- searchSchool λ©μλ μΆκ° ( μ λ ₯λ ν€μλλ₯Ό ν΅ν΄ νκ΅ μ‘°ν ) -μ°Έμ‘°
0.2.0
- getClassTime λ©μλ μΆκ° (κ° κ΅μλ³ μμ μμ/μ’ λ£ μκ° μ 보) - μ°Έμ‘°
0.1.1
- tempSave μ΅μ λ¬Έμ μμ
0.1.0
- tempSave μ΅μ μμ
- μκ°ν μΆμΆ λ°μ΄ν° μκ³κ° μ΅μ μΆκ° (μμΈν μ¬νμ μ¬κΈ° μ°Έμ‘°)
0.0.3
- λ°μ΄ν° νμ± λ¬Έμ μμ
0.0.2
- κ°λ° λ¬Έμ μΆκ°
init
μ κΈ°λ³Έ μ΅μ λ¬Έμ μμ
0.0.1
- 첫 λ²μ§Έ 릴리μ¦!