示例#1
0
        public void WhenGettingDirectory_WithInvalidDirectory_ItShouldReturnAnException()
        {
            var service = new KodiService();

            Assert.That(() => service.GetDirectory(new GetDirectoryParams {
                Directory = "invalid path"
            }), Throws.Exception.TypeOf <Exception>());
        }
示例#2
0
        public void WhenGettingDirectory_WithValidDirectory_ItShouldReturnADirectoryResult()
        {
            var service    = new KodiService();
            var parameters = new GetDirectoryParams
            {
                Directory  = "/media/gotham/series/Dark Matter/Season 01/",
                Properties = FileProperties.All()
            };
            var directory = service.GetDirectory(parameters);

            Assert.IsNotNull(directory);
            Assert.IsInstanceOf <JsonRpcResponse <GetDirectoryResponse> >(directory);
            Assert.AreEqual(directory.Result.Files.Count, 13);
            Assert.AreEqual(directory.Result.Files.FirstOrDefault(f => f.FilePath.Contains("S01E01"))?.FilePath, "/media/gotham/series/Dark Matter/Season 01/Dark Matter - S01E01 - Episode One.mkv");
        }
示例#3
0
        private static void Main()
        {
            try
            {
                Console.WriteLine("Connecting to Kodi JSON-RPC API/{0}.", Service.ApiVersion);
                Console.WriteLine("\tHost...........{0}:{1}", Service.Host, Service.Port);
                Console.WriteLine("\tUsername.......{0}", Service.Username);
                Console.WriteLine("\tPassword.......{0}", Service.Password);
                Console.WriteLine();
                Console.Write("Pinging Kodi....");

                var ping = Service.Ping();
                Console.WriteLine(ping.Result);

                var y = Service.GetDirectory(new GetDirectoryParams()
                {
                    Directory = "F:\\!Media\\Movies"
                });

                var x = Service.GetPlaylists();

                //    var parameters = new GetTvShowDetailsParams
                //    {
                //        TvShowId = 1,
                //        //Properties = new[] {TvShowProperties.Title, TvShowProperties.Premiered, TvShowProperties.Year}
                //        Properties = TvShowProperties.All()
                //    };

                //    Console.WriteLine();
                //    Console.WriteLine("Running VideoLibrary.GetTvShowDetails");

                //    var details = Service.GetTvShowDetails(parameters);

                //    Console.WriteLine("ID.................{0}", details.Id);
                //    Console.WriteLine("JsonRPC............{0}", details.JsonRpc);
                //    Console.WriteLine("ShowTitle..........{0}", details.Result.TvShowDetails.Title);
                //    Console.WriteLine("Studio.............{0}", details.Result.TvShowDetails.Premiered);
                //    Console.WriteLine("Premiered..........{0}", details.Result.TvShowDetails.Year);
                //    Console.WriteLine("Fanart.............{0}", details.Result.TvShowDetails.Fanart);
                //    Console.WriteLine("File...............{0}", details.Result.TvShowDetails.File);
                //    Console.WriteLine();

                //    Console.WriteLine();
                //    Console.Write("Scanning for new content...");
                //    var scan = Service.Scan(new ScanParams());
                //    Console.WriteLine(scan.Result);

                //    Console.WriteLine();
                //    Console.Write("Cleaning...");
                //    var clean = Service.Clean(new CleanParams());
                //    Console.WriteLine(clean.Result);

                //    Console.WriteLine();
                //    Console.WriteLine("Getting File details");

                //    var fileDetailParams = new GetFileDetailsParams
                //    {
                //        File = "/media/gotham/series/Dark Matter/Season 02/Dark Matter - S02E03 - I’ve Seen the Other Side of You.mkv",
                //        Properties = FileProperties.All()
                //    };

                //    Console.WriteLine();
                //    var fileDetails = Service.GetFileDetails(fileDetailParams);

                //    Console.WriteLine("File..............{0}", fileDetails.Result.FileDetails.FilePath);
                //    Console.WriteLine("FileName..........{0}", fileDetails.Result.FileDetails.Label);
                //    Console.WriteLine("MimeType..........{0}", fileDetails.Result.FileDetails.MimeType);
                //    Console.WriteLine("Size..............{0}", fileDetails.Result.FileDetails.Size);

                //    Console.WriteLine();
                //    Console.WriteLine("Preparing file for download");
                //    var prepareDownloadParam = new PrepareDownloadParams
                //    {
                //        Path = details.Result.TvShowDetails.Fanart
                //        //Path = fileDetails.Result.FileDetails.FilePath
                //    };
                //    var prepareDownload = Service.PrepareDownload(prepareDownloadParam);
                //    Console.WriteLine("Details...........{0}", prepareDownload.Result.Details.Path);
                //    Console.WriteLine("Protocol..........{0}", prepareDownload.Result.Protocol);
                //    Console.WriteLine("Mode..............{0}", prepareDownload.Result.Mode);

                //    Console.WriteLine();
                //    Console.WriteLine("Getting directory (directory)");
                //    var getDirectoryParams = new GetDirectoryParams
                //    {
                //        Directory = "/media/gotham/series/Dark Matter",
                //        Properties = FileProperties.All()
                //    };
                //    var getDirectory = Service.GetDirectory(getDirectoryParams);
                //    foreach (var file in getDirectory.Result.Files)
                //    {
                //        Console.WriteLine("....{0}", file.Label);
                //        Console.WriteLine("........Path..............{0}", file.FilePath);
                //        Console.WriteLine("........Type..............{0}", file.FileType);
                //    }

                //    Console.WriteLine();
                //    Console.WriteLine("Getting directory (files)");
                //    getDirectoryParams.Directory += "/Season 01/";
                //    getDirectoryParams.Properties = FileProperties.All();
                //    getDirectory = Service.GetDirectory(getDirectoryParams);

                //    var x = FileProperties.All().Aggregate("", (current, y) => current + (@",""" + y + @""""));

                //    foreach (var file in getDirectory.Result.Files)
                //    {
                //        Console.WriteLine("....{0}", file.Label);
                //        Console.WriteLine("........Path..............{0}", file.FilePath);
                //        Console.WriteLine("........Type..............{0}", file.FileType);
                //    }

                //    PressAnyKey();
            }
            catch (Exception e)
            {
                Console.WriteLine("An exception has occured: {0}", e.Message);
                PressAnyKey();
            }
        }