plex-web-downloader/routes/show.js

62 lines
1.8 KiB
JavaScript
Raw Normal View History

2015-09-23 16:32:17 -04:00
var express = require('express');
var router = express.Router();
/* 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-23 16:32:17 -04:00
//on fais toute les opération de base a la suite
db.serialize(function() {
2015-09-23 18:08:51 -04:00
db.each("SELECT i.id as id, i.title as title, t.hints as hints, i.duration as second, t.size as size, i.year as year"
+ " FROM media_items t, metadata_items i "
+ " WHERE t.metadata_item_id = i.id AND t.hints = '%?%' "
2015-09-23 17:44:02 -04:00
+ " ORDER BY i.title ASC",req.params.id, function(err, row) {
2015-09-23 16:32:17 -04:00
console.log(err);
console.log(row);
//découpage des hints
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;
//formattage des données
var tab = row.file.split('/');
var tab2 = tab[tab.length -1].split('\\');
var filename = tab2[tab2.length -1];
row.filename = filename;
if(typeof row.info_meta !== 'undefined' && typeof row.info_meta.season !== 'undefined' && typeof row.info_meta.episode !== 'undefined'){
row.season_episode = "S"+addZero(row.info_meta.season)+"E"+addZero(row.info_meta.episode);
}
row.duree = formatDuree(row.second);
row.size = humanFileSize(row.size,true);
data.push(row);
},
//aprés toute les opération de la base
function() {
2015-09-23 17:39:18 -04:00
res.render('channel',{
title: 'Episode de '+req.params.id,
channel: {
'name': 'Episode de '+req.params.id,
'type': 2
},
videos: data
});
2015-09-23 16:32:17 -04:00
});
});
db.close();
});
module.exports = router;