public Collection <ApiAudioAlbum> GetAlbums() { _parent.Trace("JRiver GetAlbums Running"); var albums = new Collection <ApiAudioAlbum>(); return(albums); try { getallItems("/MCWS/v1/Files/Search?Action=mpl&ActiveFile=-1&Zone=-1&ZoneType=ID&Query=[Media%20Type]=[Audio]"); foreach (var Field in Allitems) { string result = ""; if (Field.TryGetValue("Album", out result)) { if (result != "" & result != null) { //Only take Artists from those entries that have Album Name - string Name = Field.ValueOrDefault("Name"); long Year; if (Field.ValueOrDefault("Year") != "") { Year = Convert.ToInt64(Field.ValueOrDefault("Date (readable)")); } else { Year = 1900; } string FileKey = ""; string Thumb2 = ""; string Fanart2 = ""; string cdart = ""; string Frontjpg = ""; if (Field.TryGetValue("Key", out FileKey)) { Thumb2 = "http://" + _parent.IP + ":" + _parent.Port + "/MCWS/v1/File/GetImage?File=" + FileKey + "&FileType=Key&Type=Thumbnail&Format=jpg&Token=" + _parent.JRiverAuthToken ?? ""; Fanart2 = "http://" + _parent.IP + ":" + _parent.Port + "/MCWS/v1/File/GetImage?File=" + FileKey + "&FileType=Key&Type=Full&Format=jpg&Token=" + _parent.JRiverAuthToken ?? ""; } // use directory for fanart if exists var filename = Field.ValueOrDefault("Filename"); if (filename != null & filename != "") { FileInfo[] fiJpgs = new System.IO.FileInfo(filename).Directory.GetFiles("*.jpg"); FileInfo[] fiPngs = new System.IO.FileInfo(filename).Directory.GetFiles("*.png"); if (fiJpgs.Length == 0 && fiPngs.Length == 0) { _parent.Trace("No Jpgs or PngsFound"); } else { if (fiJpgs.Any(item => item.FullName.Contains("Front"))) { Thumb2 = fiJpgs.First(item => item.FullName.Contains("Front")).FullName; } else if (fiJpgs.Any(item => item.FullName.Contains("folder"))) { Thumb2 = fiJpgs.First(item => item.FullName.Contains("folder")).FullName; } else if (fiPngs.Any(item => item.FullName.Contains("cdart"))) { Thumb2 = fiPngs.First(item => item.FullName.Contains("cdart")).FullName; } else if (fiJpgs.Any(item => item.FullName.Contains("jpg"))) { Thumb2 = fiJpgs.First(item => item.FullName.Contains("jpg")).FullName; } // **************************************************** if (fiJpgs.Any(item => item.FullName.Contains("fanart"))) { Fanart2 = fiJpgs.First(item => item.FullName.Contains(@"*fanart*")).FullName; } else if (fiPngs.Any(item => item.FullName.Contains("fanart.png"))) { Fanart2 = fiPngs.First(item => item.FullName.Contains("fanart")).FullName; } else if (fiJpgs.Any(item => item.FullName.Contains("jpg"))) { Fanart2 = fiJpgs.First(item => item.FullName.Contains("jpg")).FullName; } //var filePath = Path.GetDirectoryName(Field.ValueOrDefault("Filename")); //var fanartPath = Path.Combine(filePath, "fanart.jpg"); //var cdartpath = Path.Combine(filePath, "cdart.png"); //var ThumbPath = Path.Combine(filePath, "folder.jpg"); //var BannerPath = Path.Combine(filePath, "banner.jpg"); //var Frontpath = Path.Combine(filePath, "*Front.jpg"); //System.IO.FileInfo fi = new System.IO.FileInfo(fanartPath); //System.IO.FileInfo ficdart = new System.IO.FileInfo(cdartpath); //System.IO.FileInfo fiThumb = new System.IO.FileInfo(ThumbPath); //if (fi.Exists) //{ // Fanart2 = fanartPath; //if fanart.jpg exisits in directory with movie use this otherwise default to JRiver Thumb //} //if (fiThumb.Exists) //{ // Thumb2 = ThumbPath; //} } } _parent.Trace("GetAlbum Art: " + Thumb2); string GenreName = "Unknown"; if (Field.TryGetValue("Genre", out result)) { GenreName = Field.ValueOrDefault("Genre"); } string Album = "Unknown"; if (Field.TryGetValue("Album", out result)) { Album = Field.ValueOrDefault("Album"); } string Artist = "Unknown"; if (Field.TryGetValue("Artist", out result)) { Artist = Field.ValueOrDefault("Artist"); } if (Album != "" && Album != null) { var album = new ApiAudioAlbum { IdAlbum = (long)Xbmc.IDstringtoNumber(Album), Title = Album, IdGenre = (long)Xbmc.IDstringtoNumber(GenreName), IdArtist = (long)Xbmc.IDstringtoNumber(Artist), Artist = Artist, Genre = GenreName, Year = Year, Thumb = Thumb2, Fanart = Fanart2, Hash = Xbmc.Hash(Album) }; if (!albums.Any(a => a.Title == Album)) { albums.Add(album); } } } } } return(albums); } catch (Exception ex) { _parent.Trace("JRiver GetALbums:" + ex); return(albums); } }
private static void BuildFileCompareResultExistInOneFolderOnly(IEnumerable<string> fileNotExistInOtherFolder, FileInfo[] fileInFolder , FeatureFolderCompareResult featureCompareResult, bool isFirstFolder) { foreach (var fileName in fileNotExistInOtherFolder) { var fileInfo = fileInFolder.First(x => x.Name == fileName); var fileCompareResult = new DataFileCompareResult(); fileCompareResult.FileName = fileName; fileCompareResult.FullName = fileInfo.FullName; fileCompareResult.Status = isFirstFolder ? FileCompareStatus.FirstFolderOnly : FileCompareStatus.SecondFolderOnly; featureCompareResult.ListDataFileCompareResult.Add(fileCompareResult); } }
static void Main(string[] args) { string path = @"D:\Sherlock.S03E01.HDTV.x264-ChameE";//\Sherlock.S03E01.HDTV.x264-ChameE.mkv"; string finalPath = string.Empty; FileInfo[] fileList = new FileInfo[] { }; List<string> patterns = new List<string>(); patterns.Add("*.avi"); patterns.Add("*.mp4"); patterns.Add("*.mkv"); patterns.Add("*.mpg"); patterns.Add("*.mpeg"); DirectoryInfo dir = new DirectoryInfo(path); foreach (string pattern in patterns) { if (dir.GetFiles(pattern).Count() > 0) { fileList = dir.GetFiles(pattern); } } finalPath = fileList.First().FullName; foreach (FileInfo file in fileList) { if (file.Length > new FileInfo(finalPath).Length) finalPath = file.FullName; } PythonInstance py = new PythonInstance(); py.CallMethod("somemethod"); var hash = py.CallFunction("get_hash", finalPath); string url = "http://api.thesubdb.com/?action=download&hash=" + hash + "&language=en"; //WebClient client = new WebClient(); //client.BaseAddress = url; //client.Headers.Add("UserAgent", "SubDB/1.0 (subtitle-downloader/1.0; http://github.com/manojmj92/subtitle-downloader)"); //byte[] data = client.DownloadData(url); HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url); webRequest.UserAgent = "SubDB/1.0 (movie-subtitles/1.0; https://github.com/nalawade41/movie-subtitles)"; WebResponse response = webRequest.GetResponse(); Console.WriteLine(hash); Console.ReadLine(); }
private static void CompareFileContent(FileInfo[] filesInFirstFolder, string fileName, FileInfo[] filesInSecondFolder, FeatureFolderCompareResult featureCompareResult) { //compare file content with just read content as string and compare string var file1 = filesInFirstFolder.First(x => x.Name == fileName); var file2 = filesInSecondFolder.First(x => x.Name == fileName); var fileContent1 = File.ReadAllText(file1.FullName); var fileContent2 = File.ReadAllText(file2.FullName); // Compare the JSON versions of the file var json1 = JsonConvert.DeserializeObject(fileContent1) as JToken; var json2 = JsonConvert.DeserializeObject(fileContent2) as JToken; // To compare strings, use: // if (String.CompareOrdinal(fileContent1, fileContent2) != 0) if (!JToken.DeepEquals(json1, json2)) { //content is different var fileCompareResult = new DataFileCompareResult(); fileCompareResult.FileName = fileName; fileCompareResult.Status = FileCompareStatus.DifferentContent; featureCompareResult.ListDataFileCompareResult.Add(fileCompareResult); } }