Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 5
0
        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");
 }