diff --git a/lib/old.js b/lib/old.js deleted file mode 100644 index 2e31b57..0000000 --- a/lib/old.js +++ /dev/null @@ -1,160 +0,0 @@ -var alexa = require('alexa-app'); -var request = require('request'); -var dotenv = require('dotenv').config(); -var CouchPotato = require('node-couchpotato'); - -var app = new alexa.app(); -var cp = new CouchPotato({ - url: dotenv.CP_URL, - apikey: dotenv.CP_API_KEY, - debug: true -}); - -function buildNextMovieSuggestionPrompt(movies) { - var promptData = { - searchResults: movies.slice(0, 5), - yesAction : 'addMovie', - yesResponse: 'Added ' + movies[0].original_title + ' (' + movies[0].year + ')' + ' to your list of movies to download.' - }; - - if (movies.length > 1) { - promptData.noAction = 'suggestNextMovie'; - promptData.noResponse = 'Ok, did you mean ' + movies[1].original_title + ' (' + movies[1].year + ')' + '?'; - } - else { - promptData.noAction = 'endSession'; - promptData.noResponse = 'Ok. I\'m out of suggestions. Sorry about that.'; - } - - return promptData; -} - -function formatMovieSearchResponse(movies, resp) { - if(!movies || !movies.length) { - resp.say("No movie found for " + movieName); - return resp.send(); - } - - var speechText = 'Add ' + movies[0].original_title + ' (' + movies[0].year + ')' + ' to your list?'; - // console.log('movie found', speechText); - // console.log('reprompt data', buildNextMovieSuggestionPrompt(movies.slice(0, 5))); - - resp - .say(speechText) - .session('promptData', buildNextMovieSuggestionPrompt(movies.slice(0, 5))) - .shouldEndSession(false) - .send(); -} - -app.intent('FindMovie', function (req, resp) { - var movieName = req.slot('movieName'); - - // console.log('search for movie in list', movieName); - cp.movie.list({search: movieName, limit_offset: 5}).then(function (searchResp) { - var movies = searchResp.movies; - var result; - var speechText; - - if (!movies || !movies.length) { - speechText = "Couldn't find " + movieName + " queued for download. "; - resp.say(speechText); - - // console.log('no movie found', speechText); - - cp.movie.search(movieName).then(function (searchResults) { - formatMovieSearchResponse(searchResults, resp); - }); - } - else { - result = movies[0].info; - speechText = 'It looks like ' + result.original_title + ' (' + result.year + ')' + ' is already on your list.'; - - // console.log('movie found', speechText); - - resp - .say(speechText) - .send(); - } - - return false; - // console.log('reprompt data', buildNextMovieSuggestionPrompt(movies.slice(0, 5))); - }); - - return false; -}); - -app.intent('AddMovie', function (req, resp) { - var movieName = req.slot('movieName'); - - // console.log('search for movie', movieName); - cp.movie.search(movieName).then(function (movies) { - formatMovieSearchResponse(movies, resp); - }); - - return false; -}); - -app.intent('AMAZON.YesIntent', function (req, resp) { - var promptData = req.session('promptData'); - - if (!promptData) { - console.log('Got a AMAZON.YesIntent but no promptData. Ending session.'); - return resp.send(); - } - - if (promptData.yesAction === 'addMovie') { - // console.log('promptData', promptData); - var movie = promptData.searchResults[0]; - - // console.log('Add the movie', movie.original_title); - cp.movie.add({ - title: movie.titles[0], - identifier: movie.imdb - }).then(function () { - resp - .say(promptData.yesResponse) - .send(); - }); - } - else { - console.log("Got an unexpected yesAction. PromptData:"); - console.log(promptData); - return resp.send(); - } - - return false; -}); - -app.intent('AMAZON.NoIntent', function (req, resp) { - var promptData = req.session('promptData'); - - if (!promptData) { - console.log('Got a AMAZON.YesIntent but no promptData. Ending session.'); - return resp.send(); - } - - if (promptData.noAction === 'endSession') { - return resp.say(promptData.noResponse).send(); - } - else if (promptData.noAction === 'suggestNextMovie') { - var movies = promptData.searchResults; - return resp - .say(promptData.noResponse) - .session('promptData', buildNextMovieSuggestionPrompt(movies.slice(1))) - .shouldEndSession(false) - .send(); - } - else { - console.log("Got an unexpected noAction. PromptData:"); - console.log(promptData); - return resp.send(); - } - - return false; -}); - -app.intent('AMAZON.CancelIntent', function (req, resp) { - resp.shouldEndSession(true).send(); -}); - -exports.handler = app.lambda();