private OmdbDto CreateOmdbElementDto(Omdb omdbs) { var dto = _mapper.Map <OmdbDto>(omdbs); dto.Url = Url.Link(nameof(GetOmdb), new { id = omdbs.Tconst.Trim() }); //trim to fix id whitespace in urls return(dto); }
public static Omdb SearchOmdb(string imdbCode) { var omdb = new Omdb(); string apikey = "f04047c5"; var client = new RestClient(String.Format($"http://www.omdbapi.com/?apikey={apikey}&i={imdbCode}")); client.Timeout = -1; var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/json"); IRestResponse response = client.Execute(request); if (response.IsSuccessful) { omdb = Omdb.FromJson(response.Content); } return(omdb); }
public static void FullDbBuild() { MovieDbContext db = new MovieDbContext(); string netflixPosFilepath = System.Web.HttpContext.Current.Server.MapPath("~/dbfiles/fixedAPI.NFPOX"); //retrieve API .POX var netflixCatalogOutputPath = OAuth1a.GetNextflixCatalogDataString("catalog/titles/streaming", "", outputPath: netflixPosFilepath); var genresNFPOX = System.Web.HttpContext.Current.Server.MapPath("~/dbfiles/genres.NFPOX"); var omdbZIP = System.Web.HttpContext.Current.Server.MapPath("~/dbfiles/omdb.zip"); var omdbDUMP = System.Web.HttpContext.Current.Server.MapPath("~/dbfiles/omdb.DUMP"); var omdbTXT = System.Web.HttpContext.Current.Server.MapPath("~/dbfiles/omdb.txt"); var tomatoesTXT = System.Web.HttpContext.Current.Server.MapPath("~/dbfiles/tomatoes.txt"); //join the lines that don't match <catalog to the ones above it Tools.JoinLines(netflixPosFilepath); //Parse the netflix NFPOX and make sure the genres.nfpox exists and is up to date Tools.UpdateGenreList(netflixPosFilepath); //build a genres txt file for all the genres in the NFPOX //ASSUMES GENRES.NFPOX IS THERE PopulateGenres.PopulateGenresTable(); //parse the lines into a Title then Movie object, along with boxart data and genre Tools.BuildMoviesBoxartGenresTables(netflixPosFilepath); //download the omdbapi Omdb.DownloadOmdbZipAndExtract(omdbZIP); ////parse it for omdbentrys, serialize it to file //Tools.SerializeOmdbTsv(omdbDUMP, omdbTXT, tomatoesTXT); ////deserialize the file, turn it into omdb //// can't remember if it does it here or not, but marry the omdbs and movie //Tools.RebuildOmdbsFromProtobufDump(omdbDUMP); //new way to turn the TSV into Omdb db TSVParse.OptimizedPopulateOmdbTableFromTsv(omdbTXT, tomatoesTXT); Tools.MarryMovieToOmdb(db); }
public async Task <SlackMessage> CreateOmdbResponse(string query) { var omdb = new Omdb(); var result = await omdb.Search(query); var slackMessage = new SlackMessage(); slackMessage.response_type = ResponseType.ephemeral; slackMessage.attachments.Add(new SlackAttachment { Title = result.Title, TitleLink = result.Website, Text = result.Plot } ); var ratingAttachments = result.Ratings.Select(r => new SlackAttachment { Title = r.Source, Text = r.Value } ); slackMessage.attachments.AddRange(ratingAttachments); slackMessage.attachments.Add(new SlackAttachment { ImageUrl = result.Poster, } ); slackMessage.attachments.Add(new SlackAttachment { Footer = result.Actors } ); return(slackMessage); }
public ActionResult DbTools(string button) { if (button == "Drop Tables") { DatabaseTools.DropTables(); ViewBag.Message = "Tables Dropped"; } if (button == "Create Tables") { DatabaseTools.CreateTables(); ViewBag.Message = "Tables Created"; } if (button == "Drop And Create") { DatabaseTools.DropAndCreate(); ViewBag.Message = "Tables dropped and Recreated"; } if (button == "Full") { DatabaseTools.Full(); ViewBag.Message = "Full Db Created"; } if (button == "Api") { DatabaseTools.Api(); ViewBag.Message = "Api Downloaded."; } if (button == "Get Genres From Netflix") { DatabaseTools.NetflixGenres(); ViewBag.Message = "Genres downloaded fron Netflix"; } if (button == "Update Genres In DB") { Tools.UpdateGenreList(System.Web.HttpContext.Current.Server.MapPath("~/dbfiles/fixedAPI.NFPOX")); ViewBag.Message = "Update Genres List"; } if (button == "Full DB Build") { ViewBag.Message = "Full Db Build / Update Complete"; DatabaseTools.FullDbBuild(); } if (button == "Join Lines") { Tools.JoinLines(System.Web.HttpContext.Current.Server.MapPath("~/dbfiles/fixedAPI.NFPOX")); } if (button == "omdb") { MovieDbContext db = new MovieDbContext(); var omdbZIP = System.Web.HttpContext.Current.Server.MapPath("~/dbfiles/omdb.zip"); var omdbDUMP = System.Web.HttpContext.Current.Server.MapPath("~/dbfiles/omdb.DUMP"); var omdbTXT = System.Web.HttpContext.Current.Server.MapPath("~/dbfiles/omdb.txt"); var tomatoesTXT = System.Web.HttpContext.Current.Server.MapPath("~/dbfiles/tomatoes.txt"); //download the omdbapi Omdb.DownloadOmdbZipAndExtract(omdbZIP); //parse it for omdbentrys, serialize it to file Tools.SerializeOmdbTsv(omdbDUMP, omdbTXT, tomatoesTXT); //deserialize the file, turn it into omdb // can't remember if it does it here or not, but marry the omdbs and movie Tools.RebuildOmdbsFromProtobufDump(omdbDUMP); Tools.MarryMovieToOmdb(db); Tools.RebuildOmdbsFromProtobufDump(omdbDUMP); } return(View()); }
public static void Zip() { Omdb.DownloadOmdbZipAndExtract(@"omdb.zip"); }