Download MovieFinder.Scraper/DataService.cs from niobures/VideoSearch: direct link, hf CLI and curl.
- Browser
- Download file 3.42 kB
-
https://huggingface.co/niobures/VideoSearch/resolve/main/MovieFinder.Scraper/DataService.cs
- Command line
-
hf download hf://niobures/VideoSearch/MovieFinder.Scraper/DataService.cs
-
curl -L -o DataService.cs https://huggingface.co/niobures/VideoSearch/resolve/main/MovieFinder.Scraper/DataService.cs
3.42 kB
| using System; | |
| using System.Collections.Generic; | |
| using System.Text; | |
| using System.Data.SQLite; | |
| using System.IO; | |
| using System.Linq; | |
| namespace MovieFinder.Scraper | |
| { | |
| public class DataService | |
| { | |
| private static SQLiteConnection connection; | |
| private static object sync = new object(); | |
| public DataService(string name) | |
| { | |
| connection = new SQLiteConnection(String.Format("Data Source={0};Version=3;", name)); | |
| connection.Open(); | |
| } | |
| //private DataService() { } | |
| //public static DataService Create() | |
| //{ | |
| // return new DataService(); | |
| //} | |
| public void ShutDown() | |
| { | |
| connection.Dispose(); | |
| } | |
| public void AddMovie(MovieFinder.Data.Movie movie) | |
| { | |
| using (var cmd = new SQLiteCommand(connection)) | |
| { | |
| cmd.CommandText = String.Format("INSERT INTO MOVIE(ID,Name,ImageUrl,ReleaseDate,LanguageCode,Description, CreatedDate,ModifiedDate, Version, UniqueID, HasSubtitle) " + | |
| "VALUES({0},'{1}','{2}','{3}','{4}','{5}','{6}','{7}',{8},'{9}',{10})", | |
| movie.ID, Sanitize(movie.Name), movie.ImageUrl, movie.ReleaseDate.ToString("yyyy-MM-dd"), | |
| movie.LanguageCode,Sanitize( movie.Description), | |
| movie.CreateDate.ToString("yyyy-MM-dd"), | |
| movie.ModifiedDate != null ? | |
| movie.ModifiedDate.Value.ToString("yyyy-MM-dd") : null, movie.Version, | |
| movie.UniqueID, movie.MovieLinks.Any(x => x.HasSubtitle) ? 1 : 0); | |
| cmd.ExecuteNonQuery(); | |
| foreach (var link in movie.MovieLinks) | |
| { | |
| if (link.FailedAttempts > 3) | |
| continue; | |
| cmd.CommandText = String.Format("INSERT INTO MOVIELINK(ID,MovieID,LinkTitle,PageUrl,PageSiteID,DownloadUrl,DownloadSiteID,Version, HasSubtitle) " + | |
| "VALUES({0},{1},'{2}','{3}','{4}','{5}','{6}',{7},{8})", | |
| link.ID, link.MovieID, Sanitize(link.LinkTitle), link.PageUrl, link.PageSiteID, link.DowloadUrl, link.DownloadSiteID, | |
| link.Version, link.HasSubtitle ? 1 : 0); | |
| cmd.ExecuteNonQuery(); | |
| } | |
| } | |
| } | |
| public void UpdateMovieSettings(int version, DateTime createdDate) | |
| { | |
| using (var cmd = new SQLiteCommand(connection)) | |
| { | |
| cmd.CommandText = String.Format("UPDATE SETTINGS SET Version = {0}, CreatedDate= '{1}' ", version, createdDate.ToString("yyyy-MM-dd hh:mm:ss")); | |
| cmd.ExecuteNonQuery(); | |
| } | |
| } | |
| public int MovieDBVersion | |
| { | |
| get | |
| { | |
| using (var cmd = new SQLiteCommand(connection)) | |
| { | |
| cmd.CommandText = "SELECT * FROM Settings LIMIT 1"; | |
| using (var reader = cmd.ExecuteReader()) | |
| { | |
| reader.Read(); | |
| return (int)reader["Version"]; | |
| } | |
| } | |
| } | |
| } | |
| private string Sanitize(string text) | |
| { | |
| return text.Replace("'", "''"); | |
| } | |
| } | |
| } | |