Toggle navigation
Toggle navigation
This project
Loading...
Sign in
성준영
/
klas-file-downloader
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
성준영
2017-05-17 11:59:08 +0900
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
107c874cc243910fc9f3c28f8f58fa557b0069ed
107c874c
1 parent
93f3ccc4
download path bug fix
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
15 additions
and
13 deletions
functions.js
index.js
package.json
functions.js
View file @
107c874
...
...
@@ -9,13 +9,13 @@ let readline = require('readline');
let
https
=
require
(
'https'
);
let
querystring
=
require
(
'querystring'
);
let
fs
=
require
(
'fs'
);
let
read
=
require
(
'read'
);
const
os
=
require
(
'os'
);
let
j
=
request
.
jar
();
request
=
request
.
defaults
({
jar
:
j
});
//TODO JSDoc 다시 정리하기
/**
* @author sungjunyoung
* @description klas에 로그인해서 세션을 받습니다.
...
...
@@ -35,12 +35,12 @@ exports.login = function (id, pw) {
},
function
(
err
,
res
,
body
)
{
if
(
err
)
{
if
(
err
.
code
===
'ESOCKETTIMEDOUT'
)
{
reject
(
'클라스 요청 응답시간이 너무 길어요... ㅠㅠ'
);
reject
(
'
클라스 요청 응답시간이 너무 길어요... ㅠㅠ'
);
}
else
{
reject
(
'알수없는 에러가 발생했어요!.'
);
reject
(
'
알수없는 에러가 발생했어요!.'
);
}
}
else
if
(
j
.
getCookies
(
"https://klas.khu.ac.kr"
).
length
===
0
)
{
reject
(
'로그인에 실패했습니다!'
);
reject
(
'
로그인에 실패했습니다!'
);
}
else
{
resolve
(
'success'
);
}
...
...
@@ -63,7 +63,7 @@ exports.getLecture = function () {
},
function
(
err
,
res
,
body
)
{
if
(
err
)
{
console
.
log
(
err
);
reject
(
'파싱 중 에러가 발생했어요!'
);
reject
(
'
파싱 중 에러가 발생했어요!'
);
}
else
{
resolve
(
body
);
}
...
...
@@ -170,9 +170,9 @@ exports.getClassPageBody = function (lectureLink) {
},
function
(
err
,
res
,
body
)
{
if
(
err
)
{
if
(
err
.
code
===
'ESOCKETTIMEDOUT'
)
{
reject
(
'클라스 요청 응답시간이 너무 길어요... ㅠㅠ'
);
reject
(
'
클라스 요청 응답시간이 너무 길어요... ㅠㅠ'
);
}
else
{
reject
(
'알수없는 에러가 발생했어요!.'
);
reject
(
'
알수없는 에러가 발생했어요!.'
);
}
}
else
{
resolve
(
body
);
...
...
@@ -257,9 +257,10 @@ exports.downloadSelectedFiles = function (selectedFiles, downloadPath) {
if
(
!
downloadPath
)
{
downloadPath
=
os
.
homedir
()
+
'/Downloads/'
;
}
else
{
downloadPath
=
require
(
'path'
).
resolve
(
downloadPath
);
downloadPath
=
require
(
'path'
).
resolve
(
downloadPath
)
+
'/'
;
}
let
count
=
0
;
selectedFiles
.
files
.
forEach
(
function
(
value
,
index
)
{
request
=
https
.
get
(
value
.
link
,
function
(
response
)
{
...
...
@@ -267,8 +268,8 @@ exports.downloadSelectedFiles = function (selectedFiles, downloadPath) {
let
file
=
fs
.
createWriteStream
(
downloadPath
+
value
.
fileName
);
response
.
pipe
(
file
);
if
(
index
===
count
)
{
resolve
(
'파일이 '
+
downloadPath
+
' 에 저장되었어요! 열공 :)'
);
if
(
selectedFiles
.
files
.
length
===
count
)
{
resolve
(
'
\n
파일이 '
+
downloadPath
+
' 에 저장되었어요! 열공 :)'
);
}
});
...
...
index.js
View file @
107c874
...
...
@@ -19,10 +19,10 @@ if(require.main === module){
const
flags
=
args
.
parse
(
process
.
argv
);
if
(
!
flags
.
id
)
{
console
.
log
(
'학번(id) 가 필요해요!'
);
console
.
log
(
'
학번(id) 가 필요해요!'
);
return
;
}
else
if
(
!
flags
.
pw
)
{
console
.
log
(
'비밀번호(pw) 가 필요해요!'
);
console
.
log
(
'
비밀번호(pw) 가 필요해요!'
);
return
;
}
else
{
functions
.
login
(
flags
.
id
,
flags
.
pw
)
...
...
package.json
View file @
107c874
{
"name"
:
"klas-file-downloader"
,
"version"
:
"0.0.
4
"
,
"version"
:
"0.0.
5
"
,
"description"
:
"Project that download lecture reference files from Klas"
,
"main"
:
"index.js"
,
"scripts"
:
{
...
...
@@ -31,6 +31,7 @@
"fs"
:
"0.0.1-security"
,
"promise"
:
"^7.1.1"
,
"querystring"
:
"^0.2.0"
,
"read"
:
"^1.0.7"
,
"request"
:
"^2.81.0"
}
}
...
...
Please
register
or
login
to post a comment