성준영

download path bug fix

......@@ -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 + ' 에 저장되었어요! 열공 :)');
}
});
......
......@@ -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)
......
{
"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"
}
}
......