public void ImdbWithSeriesTest() { //Walking Dead: tt1520211 //Game Of Thrones: tt0944947 var scrapper = new ImdbScrapper(_xPathRepository); var movie = scrapper.GetMovie("tt0944947"); }
public void ImdbNormalLayout() { //Spiderman: tt0468569 //Dial M For Murder (old movie): tt0046912 var scrapper = new ImdbScrapper(_xPathRepository); var movie = scrapper.GetMovie("tt0381838"); }
public void ImdbWithPosterTest() { //Spiderman: tt0145487 //Inception: tt1375666 var scrapper = new ImdbScrapper(_xPathRepository); var movie = scrapper.GetMovie("tt0046912"); }
public ActionResult SearchImdbTitle(string key) { var scrapper = new ImdbScrapper(_movieXPathRepository); var movies = scrapper.SearchMovieByTitle(key); return(View(movies)); }
public JsonResult GetHdImage(string url, string imdbId) { var scrapper = new ImdbScrapper(_movieXPathRepository); var hdUrl = scrapper.GetHdImage(url, imdbId); return(Json(hdUrl)); }
public MovieBase() { _databaseFactory = new DatabaseFactory(new MovieContext()); _unitOfWork = new UnitOfWork(_databaseFactory); _movieXPathRepository = new MovieXPathRepository(_databaseFactory, null); _movieRepository = new MovieRepository(_databaseFactory); _imdbScrapper = new ImdbScrapper(_movieXPathRepository); }
public void Process() { var movieInfoDirectoryPath = ConfigurationManager.AppSettings["MovieInfoDownloadedPath"]; var movieRemarksDirectoryPath = ConfigurationManager.AppSettings["MovieRemarksDownloadedPath"]; var downloadMovieInfo = Convert.ToBoolean(ConfigurationManager.AppSettings["DownloadMovieInfo"]); var downloadMovieRemarks = Convert.ToBoolean(ConfigurationManager.AppSettings["DownloadMovieRemarks"]); if (!Directory.Exists(movieInfoDirectoryPath)) { Directory.CreateDirectory(movieInfoDirectoryPath); } var dirMovieInfo = new DirectoryInfo(movieInfoDirectoryPath); var dirMovieRemarks = new DirectoryInfo(movieRemarksDirectoryPath); var downloadedMovieInfo = downloadMovieInfo ? dirMovieInfo.GetFiles().Select(fileInfo => fileInfo.Name).ToList() : new List <string>(); var downloadedRemarks = downloadMovieRemarks ? dirMovieRemarks.GetFiles().Select(fileInfo => fileInfo.Name).ToList() : new List <string>(); var scrapper = new ImdbScrapper(_movieXPathRepository); var movies = _movieRepository.GetAll().Where(x => String.IsNullOrEmpty(x.Poster)).OrderBy(x => x.Title).Take(250).ToList(); foreach (var movie in movies) { if (downloadMovieInfo && !downloadedMovieInfo.Contains(movie.ImdbId)) { try { Console.WriteLine("*****Downloading {0}. {1}/{2}", movie.ImdbId, downloadedMovieInfo.Count, movies.Count); var document = _imdbScrapper.GetMovieDocument(movie.ImdbId); var fullPath = String.Format("{0}/{1}.txt", movieInfoDirectoryPath, movie.ImdbId); using (var outputFile = new StreamWriter(fullPath)) { outputFile.WriteLine(document); } downloadedMovieInfo.Add(movie.ImdbId); Console.WriteLine("*****Movie {0} has been successfully downloaded", movie.ImdbId); } catch (Exception ex) { Console.WriteLine("Error downloading movie {0}\n{1}", movie.ImdbId, ex.Message); Console.WriteLine("*****"); } } if (downloadMovieRemarks && !downloadedRemarks.Contains(movie.ImdbId)) { //download from rotten tomato //save downloadedRemarks.Add(movie.ImdbId); } } }
public Movie Get(string imdbId) { var movie = _movieRepository.GetByImdbId(imdbId); //Get from IMDB website if (movie == null) { var scrapper = new ImdbScrapper(_movieXPathRepository); movie = scrapper.GetMovie(imdbId); } return(movie); }
public void UpdateMoviesFromFiles() { //get the imdbids from the files string documentPath = String.Format("{0}/Documents", Environment.CurrentDirectory); var dirInfo = new DirectoryInfo(documentPath); var scrapper = new ImdbScrapper(_xPathRepository); foreach (var fileInfo in dirInfo.GetFiles("*.txt")) { var updatedMovie = scrapper.LoadMovieFromFile(fileInfo.FullName); var movie = _movieRepository.GetByImdbId(fileInfo.Name); UpdateMovie(movie, updatedMovie); _unitOfWork.Commit(); } //update the data }
public void UpdateNotUpdatedMovies() { var scrapper = new ImdbScrapper(_xPathRepository); var toUpdateMovies = _movieRepository.GetAll().Where(x => String.IsNullOrEmpty(x.Poster) && String.IsNullOrEmpty(x.Writers)).OrderBy(x => x.Title).Take(529).ToList(); foreach (var movie in toUpdateMovies) { string xmlDocument; var updatedMovie = scrapper.GetMovie(movie.ImdbId, out xmlDocument); UpdateMovie(movie, updatedMovie); var documentPath = String.Format("{0}/Documents", Environment.CurrentDirectory); var imagePath = String.Format("{0}/Images", Environment.CurrentDirectory); if (!Directory.Exists(imagePath)) { Directory.CreateDirectory(imagePath); } if (!Directory.Exists(documentPath)) { Directory.CreateDirectory(documentPath); } var uploadPath = String.Format("/Resources/images/{0}.jpg", movie.ImdbId); var documentFullPath = String.Format("{0}/{1}.txt", documentPath, movie.ImdbId); var fullPath = String.Format("{0}/{1}.jpg", imagePath, movie.ImdbId); if (!String.IsNullOrEmpty(updatedMovie.Poster)) { using (var client = new WebClient()) { client.DownloadFile(updatedMovie.Poster, fullPath); movie.Poster = uploadPath; } } using (var file = new StreamWriter(documentFullPath)) { file.WriteLine(xmlDocument); } _unitOfWork.Commit(); } }
public ActionResult Search(string key) { Movie movie; key = key.Trim(); if (key.IsIMDB() || key.IsIMDBUrl()) { if (key.IsIMDBUrl()) { key = ImdbHelper.GetImdbId(key); } //search for local record movie = _movieRepository.GetByImdbId(key); if (movie == null) { var scrapper = new ImdbScrapper(_movieXPathRepository); //movie = scrapper.LoadMovieFromFile("C:/GOT.txt"); movie = scrapper.GetMovie(key); } } else { movie = _movieRepository.GetByMovieName(key); if (movie == null) { movie = _movieRepository.GetMovieByAKA(key); } if (movie == null) { movie = new Movie(); TempData["NoSearchResult"] = true; } } ViewBag.Search = key; var viewModel = movie.MapItem <MovieViewModel>(); return(View("Index", viewModel)); }
public ActionResult MovieUpdate(int id) { var viewModel = new MovieViewModel(); if (id > 0) { var movie = _movieRepository.GetById(id); var scrapper = new ImdbScrapper(_movieXPathRepository); var scrappedMovie = scrapper.GetMovie(movie.ImdbId); viewModel = scrappedMovie.MapItem <MovieViewModel>(); viewModel.DateCreated = movie.DateCreated; viewModel.FileName = movie.FileName; viewModel.Location = movie.Location; viewModel.FileSize = movie.FileSize; viewModel.Remarks = movie.Remarks; viewModel.MovieId = movie.MovieId; viewModel.UpdateImage = true; } return(View("Index", viewModel)); }
public void FilipinoMoviesTest() { //Ang tanging ina: tt0368323 var scrapper = new ImdbScrapper(_xPathRepository); var movie = scrapper.GetMovie("tt0368323"); }
public void LoadMovieFromFile() { var scrapper = new ImdbScrapper(_xPathRepository); var movie = scrapper.LoadMovieFromFile(@"C:\tt1038988.txt"); }
public void SearchImdbMovieByTitle() { var key = "Edge of Tomorrow"; var scrapper = new ImdbScrapper(_xPathRepository); var movies = scrapper.SearchMovieByTitle(key); }