Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
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());
        }
Ejemplo n.º 3
0
 public static void Zip()
 {
     Omdb.DownloadOmdbZipAndExtract(@"omdb.zip");
 }