Merge pull request #14 from KevinMidboe/client_feature

Client feature
This commit is contained in:
2017-07-16 11:19:15 +02:00
committed by GitHub
9 changed files with 187 additions and 45 deletions

View File

@@ -8,6 +8,8 @@ const tmdb = new TMDB(configuration.get('tmdb', 'apiKey'));
var Promise = require('bluebird');
var rp = require('request-promise');
var pythonShell = require('python-shell');
class RequestRepository {
searchRequest(query, page, type) {
@@ -55,6 +57,30 @@ class RequestRepository {
});
}
sendRequest(identifier) {
// TODO try a cache hit on the movie item
console.log(identifier)
tmdb.lookup(identifier).then(movie => {
console.log(movie.title)
var options = {
args: [movie.title, movie.year, movie.poster]
}
pythonShell.run('sendRequest.py', options, function (err, results) {
if (err) throw err;
// TODO Add error handling!! RequestRepository.ERROR
// results is an array consisting of messages collected during execution
console.log('results: %j', results)
})
return true;
})
}
}
module.exports = RequestRepository;

View File

@@ -36,7 +36,7 @@ router.get('/v1/plex/search', require('./controllers/plex/searchMedia.js'));
router.get('/v1/plex/playing', require('./controllers/plex/plexPlaying.js'));
router.get('/v1/plex/request', require('./controllers/plex/searchRequest.js'));
router.get('/v1/plex/request/:mediaId', require('./controllers/plex/readRequest.js'));
// router.post('/v1/plex/request/:mediaId', require('./controllers/plex/submitRequest.js'));
router.post('/v1/plex/request/:mediaId', require('./controllers/plex/submitRequest.js'));
router.get('/v1/plex/hook', require('./controllers/plex/hookDump.js'));
router.get('/v1/tmdb/search', require('./controllers/tmdb/searchMedia.js'));

View File

@@ -0,0 +1,24 @@
const RequestRepository = require('src/plex/requestRepository.js');
const requestRepository = new RequestRepository();
/**
* Controller: POST a media id to be donwloaded
* @param {Request} req http request variable
* @param {Response} res
* @returns {Callback}
*/
function submitRequestController(req, res) {
// This is the id that is the param of the url
const id = req.params.mediaId;
requestRepository.sendRequest(id)
.then(() => {
res.send({ success: true, message: 'Media item sucessfully requested!' });
})
.catch((error) => {
res.status(500).send({ success: false, error: error.message });
});
}
module.exports = submitRequestController;

View File

@@ -1,4 +1,3 @@
const configuration = require('src/config/configuration').getInstance();
const StrayRepository = require('src/seasoned/strayRepository');
const strayRepository = new StrayRepository();