GeminiMDB
function validYear(str){
return str.length == 4 && Number.isFinite(Number(str));
}
if (typeof title === "undefined" && typeof id === 'undefined' && typeof search === 'undefined') {
print('=> gemini://ultimatumlabs.com/scriptonite/gemini%3A%2F%2Fultimatumlabs.com%2Fmovie.gmi;title:Enter%20Title Enter Title');
print('=> gemini://ultimatumlabs.com/scriptonite/gemini%3A%2F%2Fultimatumlabs.com%2Fmovie.gmi;search:Enter%20Search%20Title Search For Title');
print('=> gemini://ultimatumlabs.com/scriptonite/gemini%3A%2F%2Fultimatumlabs.com%2Fmovie.gmi;id:Enter%20IMDB%20ID Enter IMDB ID');
}else{
let yearArg = '';
if(typeof year !== 'undefined'){
yearArg = validYear(year) ? '&y=' + year : '';
}
let apiKey = readData('origin');
let movieJson = null;
if(typeof title !== 'undefined'){
movieJson = JSON.parse(fetchHttp('http://www.omdbapi.com/?t=' + encodeURIComponent(title) + yearArg + '&plot=full&apikey=' + apiKey, null));
}else if(typeof search != 'undefined'){
movieJson = JSON.parse(fetchHttp('http://www.omdbapi.com/?s=' + encodeURIComponent(search) + yearArg + '&apikey=' + apiKey, null));
}else{
movieJson = JSON.parse(fetchHttp('http://www.omdbapi.com/?i=' + id + '&plot=full&apikey=' + apiKey, null));
}
if(typeof movieJson.Error !== 'undefined'){
if(typeof title !== 'undefined'){
print(title);
}else if(typeof id !== 'undefined'){
print(id);
}
print(movieJson.Error);
print('');
} else if(typeof movieJson.Search !== 'undefined'){
movieJson.Search.forEach(movie => {
let label = movie.Title + ": " + movie.Year;
print('=> gemini://ultimatumlabs.com/scriptonite/gemini%3A%2F%2Fultimatumlabs.com%2Fmovie.gmi;id=' + movie.imdbID + ' ' + label);
});
print('');
}else{
print('##' + movieJson.Title);
print('```');
print('Genre: ' + movieJson.Genre);
print('Year: ' + movieJson.Year);
print('Runtime: ' + movieJson.Runtime);
print("Actors:");
movieJson.Actors.split(",").forEach(name => print(" " + name.trim()));
print("Writers:");
movieJson.Writer.split(",").forEach(name => print(" " + name.trim()));
print("Directors:");
movieJson.Director.split(",").forEach(name => print(" " + name.trim()));
print('```');
if(movieJson.Poster !== 'N/A'){
print('');
print('=> ' + movieJson.Poster + ' Poster');
print('');
}
print('### Plot');
print(movieJson.Plot);
print('');
print('### Ratings');
movieJson.Ratings.forEach(rating => {
print(rating.Source + ": " + rating.Value);
});
print('');
if(typeof movieJson.BoxOffice !== 'undefined' && movieJson.BoxOffice !== 'N/A'){
print('### Box Office');
print(movieJson.BoxOffice);
print('');
}
print('### Languages');
movieJson.Language.split(",").forEach(name => print(name.trim()));
print('');
print('### Countries');
movieJson.Country.split(",").forEach(name => print(name.trim()));
print('');
print('=> gemini://ultimatumlabs.com/scriptonite/gemini%3A%2F%2Fultimatumlabs.com%2Fmovie.gmi;title=' + encodeURIComponent(movieJson.Title) + ';year:' + encodeURIComponent('Enter Year For "' + movieJson.Title + '"') + ' Change Year');
}
print('=> gemini://ultimatumlabs.com/scriptonite/gemini%3A%2F%2Fultimatumlabs.com%2Fmovie.gmi;title:Enter%20Title New Title');
print('=> gemini://ultimatumlabs.com/scriptonite/gemini%3A%2F%2Fultimatumlabs.com%2Fmovie.gmi;search:Enter%20Search%20Title Search For Title');
print('=> gemini://ultimatumlabs.com/scriptonite/gemini%3A%2F%2Fultimatumlabs.com%2Fmovie.gmi;id:Enter%20IMDB%20ID Enter IMDB ID');
}
Powered By Scriptonite