plex-web-downloader/routes/show.js

81 lines
2.1 KiB
JavaScript
Raw Normal View History

2015-09-23 16:32:17 -04:00
var express = require('express');
var router = express.Router();
2015-09-23 18:29:36 -04:00
function formatDuree(time) {
if(typeof time !== 'undefined' && time != "" && time > 0){
var d = new Date(time); // js fonctionne en milisecondes
return addZero(d.getHours()-1) + "h "+ addZero(d.getMinutes()) + "m "+ addZero(d.getSeconds()) + "s ";
}
else {
return "";
}
}
function addZero(v) {
return v.toString().replace(/^(\d)$/,'0$1');
};
2015-09-23 16:32:17 -04:00
/* GET home page. */
router.get('/:id', function(req, res, next) {
var config = require('../config');
var db = config.init_db();
2015-09-23 17:29:23 -04:00
var data = [];
2015-09-24 12:08:31 -04:00
var show = null;
2015-09-23 16:32:17 -04:00
//on fais toute les opération de base a la suite
db.serialize(function() {
2015-09-23 19:05:13 -04:00
db.get("SELECT id, title, year"
+ " FROM metadata_items "
+ " WHERE id = ? "
,req.params.id, function(err, row) {
shows = row;
});
2015-09-24 12:15:40 -04:00
db.each("SELECT episode.id as id, episode.title as titre, episode.[index] as episode, episode.duration as second, season.[index] as saison "+
2015-09-23 19:05:13 -04:00
"FROM metadata_items episode,metadata_items season,metadata_items show "+
"WHERE episode.parent_id=season.id AND season.parent_id = show.id AND show.id = ? ",req.params.id, function(err, row) {
2015-09-24 12:15:40 -04:00
2015-09-23 18:41:47 -04:00
/*//découpage des hints
2015-09-23 16:32:17 -04:00
var params = {};
var tab = row.hints.split('&');
tab.forEach(function(val,index,table){
var tab2 = val.split('=');
params[tab2[0]] = decodeURIComponent(tab2[1]);
});
row.info_meta = params;
2015-09-24 12:15:40 -04:00
*/
2015-09-23 16:32:17 -04:00
2015-09-24 12:15:40 -04:00
if(typeof row.episode !== '' && row.saison !== '' ){
row.season_episode = "S"+addZero(row.saison)+"E"+addZero(row.episode );
2015-09-23 19:05:13 -04:00
}
2015-09-23 16:32:17 -04:00
2015-09-24 12:15:40 -04:00
row.duree = formatDuree(row.second);
2015-09-23 16:32:17 -04:00
data.push(row);
},
function() {
2015-09-24 12:15:40 -04:00
//a la fin du foreach
});
2015-09-24 12:22:21 -04:00
db.close(function(){
//aprés toute les opération de la base
var titre = "Série inexistante";
if(show != null){
title = 'Episode de '+show.title;
}
res.render('show',{
title: titre,
show: show,
videos: data
});
});
2015-09-24 12:15:40 -04:00
2015-09-23 16:32:17 -04:00
});
2015-09-24 12:22:21 -04:00
2015-09-23 16:32:17 -04:00
});
module.exports = router;