mirror of
https://gitlab.silvrtree.co.uk/martind2000/old-silvrgit.git
synced 2025-01-10 21:45:08 +00:00
added a page for jessica
This commit is contained in:
parent
f2c628784f
commit
d0d5164749
14
.idea/libraries/silvrgit_node_modules.xml
Normal file
14
.idea/libraries/silvrgit_node_modules.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<component name="libraryTable">
|
||||
<library name="silvrgit node_modules" type="javaScript">
|
||||
<properties>
|
||||
<option name="frameworkName" value="node_modules" />
|
||||
<sourceFilesUrls>
|
||||
<item url="file://$PROJECT_DIR$/node_modules" />
|
||||
</sourceFilesUrls>
|
||||
</properties>
|
||||
<CLASSES>
|
||||
<root url="file://$PROJECT_DIR$/node_modules" />
|
||||
</CLASSES>
|
||||
<SOURCES />
|
||||
</library>
|
||||
</component>
|
54
app/app.js
54
app/app.js
@ -214,11 +214,46 @@
|
||||
});
|
||||
};
|
||||
|
||||
var getNextTrainTime = function(toStation,fromStation)
|
||||
{
|
||||
var url = '/getnexttraintimes?from=' + fromStation + '&to=' + toStation ;
|
||||
var target = fromStation + toStation;
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: url,
|
||||
data: '',
|
||||
dataType: 'json',
|
||||
|
||||
timeout: 10000,
|
||||
|
||||
//contentType: ('application/json'),
|
||||
headers: {
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'Access-Control-Allow-Methods': 'PUT, GET, POST, DELETE, OPTIONS',
|
||||
'Access-Control-Allow-Headers': 'Content-Type'
|
||||
|
||||
},
|
||||
success: function (data) {
|
||||
console.log(data);
|
||||
|
||||
updateTrain(target,data);
|
||||
//updateFX(fxdata);
|
||||
},
|
||||
error: function (xhr, type) {
|
||||
console.log("ajax error");
|
||||
console.log(xhr);
|
||||
console.log(type);
|
||||
}
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
var getDBEGLQ = function () {
|
||||
|
||||
var url = '/dbeglq';
|
||||
|
||||
// var url = '/dbeglq';
|
||||
var url = '/getnexttraintimes?from=dbe&to=glq';
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: url,
|
||||
@ -250,7 +285,8 @@
|
||||
|
||||
var getGLQDBE = function () {
|
||||
|
||||
var url = '/glqdbe';
|
||||
//var url = '/glqdbe';
|
||||
var url = '/getnexttraintimes?from=glq&to=dbe';
|
||||
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
@ -388,15 +424,19 @@
|
||||
get_weather();
|
||||
btcValue();
|
||||
getFX();
|
||||
getDBEGLQ();
|
||||
getGLQDBE();
|
||||
//getDBEGLQ();
|
||||
//getGLQDBE();
|
||||
getNextTrainTime('dbe','glq');
|
||||
getNextTrainTime('glq','dbe');
|
||||
|
||||
// start 15 minute timer
|
||||
|
||||
_fastTimer = setInterval(function () {
|
||||
btcValue();
|
||||
getDBEGLQ();
|
||||
getGLQDBE();
|
||||
// getDBEGLQ();
|
||||
// getGLQDBE();
|
||||
getNextTrainTime('dbe','glq');
|
||||
getNextTrainTime('glq','dbe');
|
||||
}, (60000));
|
||||
|
||||
_slowTimer = setInterval(function () {
|
||||
|
BIN
app/gfx/information-icon-24.png
Normal file
BIN
app/gfx/information-icon-24.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
BIN
app/gfx/information-icon-32.png
Normal file
BIN
app/gfx/information-icon-32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
89
app/jessica.html
Normal file
89
app/jessica.html
Normal file
@ -0,0 +1,89 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="">
|
||||
|
||||
<head>
|
||||
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="viewport" content="width=360; initial-scale=1;">
|
||||
<meta charset="UTF-8">
|
||||
<title>Trains</title>
|
||||
|
||||
<meta name="Author" content="" />
|
||||
<link rel="stylesheet" type="text/css" href="css/mui.css">
|
||||
<style>
|
||||
ul {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
li {
|
||||
display: inline;
|
||||
margin: 0;
|
||||
padding: 0 4px 0 0;
|
||||
}
|
||||
|
||||
.dates {
|
||||
padding: 2px;
|
||||
border: solid 1px #80007e;
|
||||
background-color: #ffffff;
|
||||
}
|
||||
|
||||
#btc, #fx {
|
||||
font-size: 75%;
|
||||
}
|
||||
|
||||
.up, .ontime {
|
||||
color: darkgreen;
|
||||
}
|
||||
|
||||
.down, .delayed {
|
||||
color: darkred;
|
||||
}
|
||||
|
||||
.nochange {
|
||||
color: #000000;
|
||||
}
|
||||
.password {
|
||||
border: 1px solid #cccccc;
|
||||
background-color: #efefef;
|
||||
font-family: monospace;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
<script src="//cdnjs.cloudflare.com/ajax/libs/zepto/1.1.4/zepto.min.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="mui-container">
|
||||
<div class="mui-panel">
|
||||
<div class="mui-text-headline mui-text-accent">Trains</div>
|
||||
</div>
|
||||
<div id="container" class="mui-panel">
|
||||
<div class="mui-row">
|
||||
<div class="mui-col-md-3" id="pygglcC">Paisley > GLC <span id="pygglc">-- : --</span> <img src="gfx/information-icon-24.png" id="pygglcB"></div>
|
||||
<div class="mui-col-md-3" id="glcptkC">GLC > Partick <span id="glcptk">-- : --</span> <img src="gfx/information-icon-24.png" id="glcptkB"></div>
|
||||
<div class="mui-col-md-3" id="ptkdbeC">Partick > DBE <span id="ptkdbe">-- : --</span> <img src="gfx/information-icon-24.png" id="ptkdbeB"></div>
|
||||
<div class="mui-col-md-3" id="glqdbeC">GLQ > DBE <span id="glqdbe">-- : --</span> <img src="gfx/information-icon-24.png" id="glqdbeB"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="mui-panel">
|
||||
<div class="mui-row" id="trainResults">
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div id='weather' class="mui-panel"></div>
|
||||
</div>
|
||||
|
||||
|
||||
</body>
|
||||
<script src="libs/ejs.js"></script>
|
||||
<script src="js/jessica.js"></script>
|
||||
</html>
|
424
app/js/jessica.js
Normal file
424
app/js/jessica.js
Normal file
@ -0,0 +1,424 @@
|
||||
(function () {
|
||||
|
||||
var lastGBP = 0.0,
|
||||
lastUSD = 0.0,
|
||||
_fasttimer, _slowTimer, myBTC =3.49524333;
|
||||
var lows = {
|
||||
gbp: 0,
|
||||
usd: 0
|
||||
},
|
||||
highs = {
|
||||
gbp: 0,
|
||||
usd: 0
|
||||
};
|
||||
|
||||
|
||||
var list = [{
|
||||
title: '101B ends',
|
||||
y: 2013,
|
||||
m: 9,
|
||||
d: 24,
|
||||
add: 1001
|
||||
},
|
||||
{
|
||||
title: 'Ends',
|
||||
y: 2015,
|
||||
m: 4,
|
||||
d: 10
|
||||
}];
|
||||
var addDays = function (myDate, days) {
|
||||
return new Date(myDate.getTime() + days * 24 * 60 * 60 * 1000);
|
||||
};
|
||||
|
||||
var getDays = function (startdate, enddate) {
|
||||
var r, s, e;
|
||||
s = startdate.getTime();
|
||||
e = enddate.getTime();
|
||||
r = (e - s) / (24 * 60 * 60 * 1000);
|
||||
return r;
|
||||
};
|
||||
var tick = function () {
|
||||
var today = new Date();
|
||||
var start101 = new Date();
|
||||
var end101 = new Date();
|
||||
var endContract = new Date();
|
||||
var third = new Date();
|
||||
start101.setFullYear(2013, 9, 24);
|
||||
end101 = addDays(start101, 1001);
|
||||
endContract.setFullYear(2015, 4, 10);
|
||||
third.setFullYear(2013, 7, 25);
|
||||
$('#one').text('101B ends: ' + Math.ceil(getDays(today,
|
||||
end101)) + " days / " + Math.ceil(getDays(today,
|
||||
end101) / 7) + " weeks");
|
||||
$('#two').text('Ends: ' + Math.ceil(getDays(today,
|
||||
endContract)) + " days / " + Math.ceil(getDays(today,
|
||||
endContract) / 7) + " weeks");
|
||||
$('#three').hide();
|
||||
};
|
||||
|
||||
var get_weather = function () {
|
||||
navigator.geolocation.getCurrentPosition(show_weather);
|
||||
};
|
||||
var show_weather = function (position) {
|
||||
var latitude = position.coords.latitude;
|
||||
var longitude = position.coords.longitude;
|
||||
// let's show a map or do something interesting!
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: 'https://api.forecast.io/forecast/0657dc0d81c037cbc89ca88e383b6bbf/' + latitude.toString() + ',' + longitude.toString(),
|
||||
data: '',
|
||||
dataType: 'jsonp',
|
||||
timeout: 10000,
|
||||
context: $('body'),
|
||||
contentType: ('application/json'),
|
||||
headers: {
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'Access-Control-Allow-Methods': 'PUT, GET, POST, DELETE, OPTIONS',
|
||||
'Access-Control-Allow-Headers': 'Content-Type'
|
||||
|
||||
},
|
||||
success: function (data) {
|
||||
// console.log(data);
|
||||
|
||||
var calc = ((5.0 / 9.0 * (data.currently.temperature - 32)));
|
||||
$('#weather').html(data.currently.summary + " " + parseInt(calc) + '°c ' + '<em>' + data.daily.summary + '</em>');
|
||||
|
||||
},
|
||||
error: function (xhr, type) {
|
||||
console.log("ajax error");
|
||||
console.log(xhr);
|
||||
console.log(type);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var updateBTC = function (g, u) {
|
||||
var title, total, elm = $('#btc');
|
||||
if (lastGBP !== 0) {
|
||||
|
||||
elm.removeClass();
|
||||
if (g > lastGBP) {
|
||||
elm.addClass('up');
|
||||
} else if (g < lastGBP) {
|
||||
elm.addClass('down');
|
||||
}
|
||||
|
||||
} else {
|
||||
lows.gbp = g;
|
||||
lows.usd = u;
|
||||
|
||||
highs.gbp = g;
|
||||
highs.usd = u;
|
||||
}
|
||||
|
||||
lastGBP = g;
|
||||
lastUSD = u;
|
||||
|
||||
if (g < lows.gbp) lows.gbp = g;
|
||||
if (u < lows.usd) lows.usd = u;
|
||||
|
||||
if (highs.gbp < g) highs.gbp = g;
|
||||
if (highs.usd < u) highs.usd = u;
|
||||
|
||||
total = myBTC * g;
|
||||
|
||||
title = "High: $" + parseFloat(highs.usd.toFixed(2)) + " / Low $" + parseFloat(lows.usd.toFixed(2));
|
||||
elm.html("$" + parseFloat(u.toFixed(2)) + " / £" + parseFloat(g.toFixed(2)) + " (£" + parseFloat(total.toFixed(2)) + ")");
|
||||
|
||||
elm.prop('title', title);
|
||||
};
|
||||
|
||||
|
||||
var updateFX = function (data) {
|
||||
var title, total, elm = $('#fx');
|
||||
//title = "High: $" + parseFloat(highs.usd.toFixed(2)) + " / Low $" + parseFloat(lows.usd.toFixed(2));
|
||||
elm.html("£1 = $" + parseFloat(data.gpbe.toFixed(2)) + " = " + parseFloat(data.sekex.toFixed(2)) + " SEK");
|
||||
|
||||
// elm.prop('title', title);
|
||||
};
|
||||
|
||||
|
||||
var btcValue = function () {
|
||||
var url = '/btc';
|
||||
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: url,
|
||||
data: '',
|
||||
dataType: 'json',
|
||||
|
||||
timeout: 10000,
|
||||
|
||||
//contentType: ('application/json'),
|
||||
headers: {
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'Access-Control-Allow-Methods': 'PUT, GET, POST, DELETE, OPTIONS',
|
||||
'Access-Control-Allow-Headers': 'Content-Type'
|
||||
|
||||
},
|
||||
success: function (data) {
|
||||
// console.log(data);
|
||||
var gbp = data.bpi.GBP.rate_float,
|
||||
usd = data.bpi.USD.rate_float;
|
||||
|
||||
updateBTC(gbp, usd);
|
||||
},
|
||||
error: function (xhr, type) {
|
||||
console.log("ajax error");
|
||||
console.log(xhr);
|
||||
console.log(type);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
var getFX = function () {
|
||||
var url = '/fx';
|
||||
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: url,
|
||||
data: '',
|
||||
dataType: 'json',
|
||||
|
||||
timeout: 10000,
|
||||
|
||||
//contentType: ('application/json'),
|
||||
headers: {
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'Access-Control-Allow-Methods': 'PUT, GET, POST, DELETE, OPTIONS',
|
||||
'Access-Control-Allow-Headers': 'Content-Type'
|
||||
|
||||
},
|
||||
success: function (data) {
|
||||
//console.log(data);
|
||||
var gpbex = (1 / data.rates.GBP);
|
||||
var sekex = (gpbex * data.rates.SEK);
|
||||
var fxdata = {
|
||||
usd: 1,
|
||||
gbp: data.rates.GBP,
|
||||
sek: data.rates.SEK,
|
||||
gpbe: gpbex,
|
||||
sekex: sekex
|
||||
};
|
||||
// console.log(fxdata);
|
||||
//var fxdata = data.bpi.GBP.rate_float, usd = data.bpi.USD.rate_float;
|
||||
|
||||
updateFX(fxdata);
|
||||
},
|
||||
error: function (xhr, type) {
|
||||
console.log("ajax error");
|
||||
console.log(xhr);
|
||||
console.log(type);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var getNextTrainTime = function(toStation,fromStation)
|
||||
{
|
||||
var url = '/getnexttraintimes?from=' + fromStation + '&to=' + toStation ;
|
||||
var target = fromStation + toStation;
|
||||
console.log('Target: ' + target);
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: url,
|
||||
data: '',
|
||||
dataType: 'json',
|
||||
|
||||
timeout: 10000,
|
||||
|
||||
//contentType: ('application/json'),
|
||||
headers: {
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'Access-Control-Allow-Methods': 'PUT, GET, POST, DELETE, OPTIONS',
|
||||
'Access-Control-Allow-Headers': 'Content-Type'
|
||||
|
||||
},
|
||||
success: function (data) {
|
||||
console.log(data);
|
||||
|
||||
updateTrain(target,data);
|
||||
//updateFX(fxdata);
|
||||
},
|
||||
error: function (xhr, type) {
|
||||
console.log("ajax error");
|
||||
console.log(xhr);
|
||||
console.log(type);
|
||||
}
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
var updateTrain = function (n, obj) {
|
||||
var elm = $('#'+n);
|
||||
|
||||
var output, status;
|
||||
|
||||
|
||||
output = (obj.eta == "On Time") ? obj.eta : obj.sta;
|
||||
status = (obj.eta == "On Time") ? 'delayed' : 'ontime';
|
||||
|
||||
elm.html(output);
|
||||
|
||||
elm.prop('class', status);
|
||||
};
|
||||
|
||||
var getTrainsCB = function (results) {
|
||||
var dest$ = $('#trainResults');
|
||||
var html = new EJS({url: '/template/trains.ejs'}).render(results);
|
||||
|
||||
// console.log(html);
|
||||
dest$.empty();
|
||||
dest$.append(html);
|
||||
// dest$.toggle();
|
||||
|
||||
};
|
||||
|
||||
var getTrains = function(from, to) {
|
||||
var url = '/gettrains?from=' + from + "&to=" + to;
|
||||
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: url,
|
||||
data: '',
|
||||
dataType: 'json',
|
||||
|
||||
timeout: 10000,
|
||||
|
||||
//contentType: ('application/json'),
|
||||
headers: {
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'Access-Control-Allow-Methods': 'PUT, GET, POST, DELETE, OPTIONS',
|
||||
'Access-Control-Allow-Headers': 'Content-Type'
|
||||
|
||||
},
|
||||
success: function (data) {
|
||||
//console.log(data);
|
||||
|
||||
// updateTrain('glqdbe',data);
|
||||
getTrainsCB(data);
|
||||
},
|
||||
error: function (xhr, type) {
|
||||
console.log("ajax error");
|
||||
console.log(xhr);
|
||||
console.log(type);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
var formatPassword = function (data) {
|
||||
|
||||
|
||||
var dest$ = $('#passwordOut');
|
||||
var html = new EJS({url: '/template/password.ejs'}).render(data);
|
||||
|
||||
console.log(html);
|
||||
dest$.empty();
|
||||
dest$.append(html);
|
||||
dest$.show();
|
||||
};
|
||||
|
||||
|
||||
var generatePassword = function(from, to) {
|
||||
var url = '/generate';
|
||||
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: url,
|
||||
data: '',
|
||||
dataType: 'json',
|
||||
|
||||
timeout: 10000,
|
||||
|
||||
//contentType: ('application/json'),
|
||||
headers: {
|
||||
'Access-Control-Allow-Origin': '*',
|
||||
'Access-Control-Allow-Methods': 'PUT, GET, POST, DELETE, OPTIONS',
|
||||
'Access-Control-Allow-Headers': 'Content-Type'
|
||||
|
||||
},
|
||||
success: function (data) {
|
||||
console.log(data);
|
||||
|
||||
formatPassword(data);
|
||||
},
|
||||
error: function (xhr, type) {
|
||||
console.log("ajax error");
|
||||
console.log(xhr);
|
||||
console.log(type);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
|
||||
tick();
|
||||
get_weather();
|
||||
// btcValue();
|
||||
// getFX();
|
||||
//getDBEGLQ();
|
||||
//getGLQDBE();
|
||||
getNextTrainTime('glc','pyg');
|
||||
getNextTrainTime('dbe','glq');
|
||||
getNextTrainTime('ptk','glc');
|
||||
getNextTrainTime('dbe','ptk');
|
||||
|
||||
|
||||
|
||||
// start 15 minute timer
|
||||
|
||||
_fastTimer = setInterval(function () {
|
||||
//btcValue();
|
||||
// getDBEGLQ();
|
||||
// getGLQDBE();
|
||||
getNextTrainTime('glc','pyg');
|
||||
getNextTrainTime('dbe','glq');
|
||||
getNextTrainTime('ptk','glc');
|
||||
getNextTrainTime('dbe','ptk');
|
||||
}, (60000));
|
||||
|
||||
_slowTimer = setInterval(function () {
|
||||
|
||||
// getFX();
|
||||
get_weather();
|
||||
}, (60000 * 15));
|
||||
|
||||
|
||||
|
||||
$('#glqdbeB').on('click',function(){
|
||||
getTrains('glq','dbe');
|
||||
});
|
||||
|
||||
$('#pygglcB').on('click',function(){
|
||||
getTrains('pyg','glc');
|
||||
});
|
||||
|
||||
$('#glcptkB').on('click',function(){
|
||||
getTrains('glc','ptk');
|
||||
});
|
||||
|
||||
$('#ptkdbeB').on('click',function(){
|
||||
getTrains('ptk','dbe');
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
})();
|
||||
|
||||
var popitout = function (url) {
|
||||
newwindow = window.open(url, 'name', 'height=600,width=570');
|
||||
if (window.focus) {
|
||||
newwindow.focus()
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
var popitoutSmall = function (url) {
|
||||
newwindow = window.open(url, 'name', 'height=400,width=520');
|
||||
if (window.focus) {
|
||||
newwindow.focus()
|
||||
}
|
||||
return false;
|
||||
};
|
@ -1,4 +1,4 @@
|
||||
<div>To: <%=filterLocationName%></div>
|
||||
<div><%=locationName%> TO <%=filterLocationName%></div>
|
||||
<table class="mui-table mui-table-bordered">
|
||||
<tr><th>Destination</th>
|
||||
<th>Time</th>
|
||||
|
39
lib/train.js
39
lib/train.js
@ -83,6 +83,45 @@ module.exports = {
|
||||
res.end(JSON.stringify({}));
|
||||
}
|
||||
|
||||
},
|
||||
getNextTrainTimes: function(req, res) {
|
||||
console.log(req);
|
||||
console.log('---------');
|
||||
console.log(req.query);
|
||||
var trainFrom, trainTo, trainToken, url;
|
||||
if (req.query.hasOwnProperty('from') && req.query.hasOwnProperty('from')) {
|
||||
trainFrom = req.query.from;
|
||||
trainTo = req.query.to;
|
||||
trainToken = trainFrom + trainTo;
|
||||
url = '/next/' + trainFrom + '/to/' + trainTo + '/1?accessToken=215b99fe-b237-4a01-aadc-cf315d6756d8';
|
||||
console.log('Requesting latest time for : ' + trainToken);
|
||||
|
||||
var now = new Date();
|
||||
var nowSeconds = (now.getHours() * (60 * 60)) + (now.getMinutes() * 60);
|
||||
console.log('Now Seconds: ' + nowSeconds);
|
||||
if (trainCache.last[trainToken] == null || nowSeconds != trainCache.last[trainToken]) {
|
||||
|
||||
Query(function (a, b) {
|
||||
|
||||
var ts = a.departures[0].service;
|
||||
var output = {};
|
||||
console.log(ts);
|
||||
//GLOBAL.lastcheck = now;
|
||||
console.log(ts.sta);
|
||||
console.log(toSeconds(ts.sta));
|
||||
|
||||
output.sta = ts.sta;
|
||||
output.eta = ts.eta;
|
||||
trainCache.data[trainToken] = output;
|
||||
// trainCache.last.glqdbe = toSeconds(ts.sta);
|
||||
// console.log(ts);
|
||||
res.setHeader('Content-Type', 'application/json');
|
||||
res.end(JSON.stringify(trainCache.data[trainToken]));
|
||||
}, res, 'huxley.apphb.com', url);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -2,11 +2,12 @@
|
||||
"name": "silvrtree",
|
||||
"version": "0.1.1",
|
||||
"devDependencies": {
|
||||
"mongodb": "*",
|
||||
"node-rss": "^1.0.1",
|
||||
"pg": "*"
|
||||
"htmlparser": "^1.7.7",
|
||||
"mammoth": "^0.3.25-pre.1",
|
||||
"wordsoap": "^0.2.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"express": "3.x"
|
||||
"express": "3.x",
|
||||
"unstyler": "^0.2.2"
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,6 @@
|
||||
var express = require('express'), path = require('path'), http = require('http'), fx = require('./lib/fx'), btc = require('./lib/btc'), train = require('./lib/train'), password = require('./lib/password')
|
||||
var express = require('express'), path = require('path'), http = require('http'),
|
||||
fx = require('./lib/fx'), btc = require('./lib/btc'), train = require('./lib/train'),
|
||||
password = require('./lib/password'), clean = require('./lib/clean')
|
||||
//train = require('lib/train')
|
||||
/* ,submit = require('./routes/mongo/submit') */
|
||||
;
|
||||
@ -32,9 +34,12 @@ app.configure(function () {
|
||||
app.use('/dbeglq', train.dbe_glq);
|
||||
app.use('/glqdbe', train.glq_dbe);
|
||||
app.use('/gettrains', train.getTrainTimes);
|
||||
app.use('/getnexttraintimes', train.getNextTrainTimes);
|
||||
|
||||
app.use('/generate', password.generate);
|
||||
|
||||
app.use('/cleanit', clean.cleanit);
|
||||
|
||||
app.use('/lot', function (req, res) {
|
||||
var pg = require('pg');
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user