first commit
This commit is contained in:
102
app.js
Normal file
102
app.js
Normal file
@ -0,0 +1,102 @@
|
||||
const express = require('express');
|
||||
const bodyParser = require('body-parser');
|
||||
const app = express();
|
||||
const pug = require('pug');
|
||||
const server = require('http').createServer(app);
|
||||
//const https = require("https");
|
||||
const cookieParser = require('cookie-parser');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const formidable = require('formidable');
|
||||
var port = 3000;
|
||||
|
||||
app.use(bodyParser.urlencoded({ extended: true, limit: '20mb' }));
|
||||
app.use(cookieParser());
|
||||
|
||||
app.set('view engine', 'pug')
|
||||
app.use('/assets', express.static('assets'))
|
||||
app.use('/tmp', express.static('tmp'))
|
||||
app.use('/files', express.static('profiles'))
|
||||
|
||||
// middleware function to check for logged-in users
|
||||
var sessionChecker = (req, res, next) => {
|
||||
next();
|
||||
};
|
||||
|
||||
// route for Home-Page
|
||||
app.get('/', sessionChecker, (req, res) => {
|
||||
var pageTitle = "Log Parser - Start";
|
||||
res.render('intro', { title: pageTitle })
|
||||
});
|
||||
|
||||
app.route('/upload')
|
||||
.get(sessionChecker, (req, res) => {
|
||||
res.redirect('/');
|
||||
})
|
||||
.post((req, res, next) => {
|
||||
var pageTitle = 'Log Parser - Result';
|
||||
const form = formidable({ keepExtensions: true, uploadDir: "tmp" });
|
||||
|
||||
form.parse(req, (err, fields, files) => {
|
||||
if (err) {
|
||||
next(err);
|
||||
return;
|
||||
}
|
||||
|
||||
fs.open(files.logfile.path, 'r', function (err, f) {
|
||||
if (err) {
|
||||
return console.error(err);
|
||||
}
|
||||
|
||||
var result = fs.readFileSync(f).toString().split("\n");
|
||||
var jobType = "";
|
||||
|
||||
/*result.forEach(function(line) {
|
||||
if (checkJobType(line) !== undefined) {
|
||||
jobType = checkJobType(line);
|
||||
}
|
||||
}); */
|
||||
|
||||
res.render('upload', {title: pageTitle, files: files, jobtype: jobType, data: result});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
server.listen(port, function(){
|
||||
console.log('Server started. Listening on *:' + port);
|
||||
});
|
||||
|
||||
|
||||
|
||||
// helpers
|
||||
|
||||
function uniq(a) {
|
||||
return a.sort().filter(function(item, pos, ary) {
|
||||
return !pos || item != ary[pos - 1];
|
||||
})
|
||||
}
|
||||
|
||||
function isPresetNum(number, def) {
|
||||
return isNaN(number) || number == "" ? def : parseInt(number);
|
||||
}
|
||||
|
||||
function findDuplicate(users, clientemail) {
|
||||
let result = users.filter((item) =>
|
||||
item.email === clientemail &&
|
||||
item.type === 'attendee').length > 0;
|
||||
return result;
|
||||
}
|
||||
|
||||
function fmtMSS(s){return(s-(s%=60))/60+(9<s?':':':0')+s}
|
||||
|
||||
function checkJobType(line) {
|
||||
if (/SNBSVH_220J/.test(line)) {
|
||||
return line.match(/(?:type: )(.*)(?:\))/)[1];
|
||||
}
|
||||
if (/SNBJH_3403J/.test(line)) {
|
||||
return "Condense";
|
||||
}
|
||||
if (/SNBJH_3208J/.test(line)) {
|
||||
return line.match(/job type (.*)\)/)[1];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user