Ejemplo n.º 1
0
        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);
            }
        }
Ejemplo n.º 2
0
        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);
            }
        }
Ejemplo n.º 3
0
        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();
        }
Ejemplo n.º 4
0
        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);
            }
        }