コード例 #1
0
ファイル: SonarrClient.cs プロジェクト: Hertizch/SonarrSharp
        /// <summary>
        /// Initializes a new instance of the <see cref="SonarrClient"/> class.
        /// </summary>
        /// <param name="host">The host.</param>
        /// <param name="port">The port.</param>
        /// <param name="apiKey">The API key.</param>
        /// <param name="urlBase">The URL base.</param>
        /// <param name="useSsl">if set to <c>true</c> [use SSL].</param>
        public SonarrClient(string host, int port, string apiKey, [Optional] string urlBase, [Optional] bool useSsl)
        {
            // Initialize properties
            Host    = host;
            Port    = port;
            ApiKey  = apiKey;
            UrlBase = urlBase;
            UseSsl  = useSsl;

            // Set API URL
            ApiUrl = $"http{(UseSsl ? "s" : "")}://{Host}:{Port}{("/" + UrlBase ?? "")}/api";

            // Initialize endpoints
            Calendar          = new Calendar(this);
            Command           = new Command(this);
            Diskspace         = new Diskspace(this);
            Episode           = new Episode(this);
            EpisodeFile       = new EpisodeFile(this);
            History           = new History(this);
            Wanted            = new Wanted(this);
            Queue             = new Queue(this);
            Parse             = new Parse(this);
            Profile           = new Profile(this);
            Release           = new Release(this);
            ReleasePush       = new ReleasePush(this);
            Rootfolder        = new Rootfolder(this);
            Series            = new Series(this);
            SeriesLookup      = new SeriesLookup(this);
            SystemStatus      = new SystemStatus(this);
            SystemBackup      = new SystemBackup(this);
            Log               = new Log(this);
            QualityDefinition = new QualityDefinition(this);
        }
コード例 #2
0
        public void Setup()
        {
            _movie = Builder <Movie> .CreateNew().Build();

            _qualityType = Builder <QualityDefinition> .CreateNew()
                           .With(q => q.MinSize = 2)
                           .With(q => q.MaxSize = 10)
                           .With(q => q.Quality = Quality.SDTV)
                           .Build();

            _remoteMovie = new RemoteMovie
            {
                Movie           = _movie,
                Release         = new ReleaseInfo(),
                ParsedMovieInfo = new ParsedMovieInfo {
                    Quality = new QualityModel(Quality.SDTV, new Revision(version: 2))
                },
            };

            Mocker.GetMock <IQualityDefinitionService>()
            .Setup(v => v.Get(It.IsAny <Quality>()))
            .Returns <Quality>(v => Quality.DefaultQualityDefinitions.First(c => c.Quality == v));

            Mocker.GetMock <IQualityDefinitionService>().Setup(s => s.Get(Quality.SDTV)).Returns(_qualityType);
        }
コード例 #3
0
 public MJpegServer(int port, VideoSource source, QualityDefinition qualityDefinition)
 {
     this._server = new ThreadedServer(port, System.Net.IPAddress.Parse("127.0.0.1"), 100);
     this._server.ClientDataReceived += new ThreadedServer.ClientDataReceivedEventHandler(this.OnClientDataReceived);
     this._server.SocketError        += new ThreadedServer.SocketErrorEventHandler(this.OnSocketError);
     this._streamer = new MJPEGStreamer(source, qualityDefinition);
 }
コード例 #4
0
ファイル: SimpleServer.cs プロジェクト: whble/LibMJPEGServer
 public SimpleServer(int port, VideoSource source, QualityDefinition qualityDefinition)
 {
     _server = new ThreadedServer(port);
     _server.ClientDataReceived += OnClientDataReceived;
     _server.SocketError        += OnSocketError;
     _streamer = new MJPEGStreamer(source, qualityDefinition);
 }
コード例 #5
0
ファイル: CachedEncoder.cs プロジェクト: whble/LibMJPEGServer
        public CachedEncoder(VideoSource source, QualityDefinition qualityDefinition)
        {
            Source            = source;
            QualityDefinition = qualityDefinition;

            Source.FrameCaptured += OnFrameCaptured;

            _jpegEncoder = ImageCodecInfo.GetImageEncoders().First(c => c.FormatID == ImageFormat.Jpeg.Guid);
        }
コード例 #6
0
        public void Setup()
        {
            series = Builder <Series> .CreateNew()
                     .Build();

            parseResultMultiSet = new RemoteEpisode
            {
                Series            = series,
                Release           = new ReleaseInfo(),
                ParsedEpisodeInfo = new ParsedEpisodeInfo {
                    Quality = new QualityModel(Quality.SDTV, true)
                },
                Episodes = new List <Episode> {
                    new Episode(), new Episode(), new Episode(), new Episode(), new Episode(), new Episode()
                }
            };

            parseResultMulti = new RemoteEpisode
            {
                Series            = series,
                Release           = new ReleaseInfo(),
                ParsedEpisodeInfo = new ParsedEpisodeInfo {
                    Quality = new QualityModel(Quality.SDTV, true)
                },
                Episodes = new List <Episode> {
                    new Episode(), new Episode()
                }
            };

            parseResultSingle = new RemoteEpisode
            {
                Series            = series,
                Release           = new ReleaseInfo(),
                ParsedEpisodeInfo = new ParsedEpisodeInfo {
                    Quality = new QualityModel(Quality.SDTV, true)
                },
                Episodes = new List <Episode> {
                    new Episode()
                }
            };

            qualityType = Builder <QualityDefinition> .CreateNew()
                          .With(q => q.MinSize = 2)
                          .With(q => q.MaxSize = 10)
                          .With(q => q.Quality = Quality.SDTV)
                          .Build();

            Mocker.GetMock <IQualityDefinitionService>().Setup(s => s.Get(Quality.SDTV)).Returns(qualityType);
        }
コード例 #7
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RadarrClient" /> class.
        /// </summary>
        /// <param name="host">The host.</param>
        /// <param name="port">The port.</param>
        /// <param name="apiKey">The API key.</param>
        /// <param name="urlBase">The URL base.</param>
        /// <param name="useSsl">if set to <c>true</c> [use SSL].</param>
        public RadarrClient(string host, int port, string apiKey, [Optional] string urlBase, [Optional] bool useSsl)
        {
            // Initialize properties
            Host    = host;
            Port    = port;
            ApiKey  = apiKey;
            UrlBase = urlBase;
            UseSsl  = useSsl;

            // Set API URL
            var sb = new StringBuilder();

            sb.Append("http");
            if (UseSsl)
            {
                sb.Append("s");
            }
            sb.Append($"://{host}:{Port}");
            if (UrlBase != null)
            {
                sb.Append($"/{UrlBase}");
            }
            sb.Append("/api");
            ApiUrl = sb.ToString();

            // Initialize endpoints
            Calendar          = new Calendar(this);
            Command           = new Command(this);
            Diskspace         = new Diskspace(this);
            History           = new History(this);
            Movie             = new Movie(this);
            SystemStatus      = new SystemStatus(this);
            Profile           = new Profile(this);
            Wanted            = new Wanted(this);
            Log               = new Log(this);
            Queue             = new Queue(this);
            Release           = new Release(this);
            QualityDefinition = new QualityDefinition(this);
            Indexer           = new Indexer(this);
            Restriction       = new Restriction(this);
            Blacklist         = new Blacklist(this);
            Notification      = new Notification(this);
            RootFolder        = new RootFolder(this);
            Config            = new Config(this);
            ExtraFile         = new ExtraFile(this);
            CustomFormat      = new CustomFormat(this);
        }
コード例 #8
0
        public static QualityDefinitionResource ToResource(this QualityDefinition model)
        {
            if (model == null)
            {
                return(null);
            }

            return(new QualityDefinitionResource
            {
                Id = model.Id,
                Quality = model.Quality,
                Title = model.Title,
                Weight = model.Weight,
                MinSize = model.MinSize,
                MaxSize = model.MaxSize
            });
        }
コード例 #9
0
        public void Setup()
        {
            series = Builder <Series> .CreateNew()
                     .Build();

            parseResultMultiSet = new RemoteEpisode
            {
                Series            = series,
                Release           = new ReleaseInfo(),
                ParsedEpisodeInfo = new ParsedEpisodeInfo {
                    Quality = new QualityModel(Quality.SDTV, new Revision(version: 2))
                },
                Episodes = new List <Episode> {
                    new Episode(), new Episode(), new Episode(), new Episode(), new Episode(), new Episode()
                }
            };

            parseResultMulti = new RemoteEpisode
            {
                Series            = series,
                Release           = new ReleaseInfo(),
                ParsedEpisodeInfo = new ParsedEpisodeInfo {
                    Quality = new QualityModel(Quality.SDTV, new Revision(version: 2))
                },
                Episodes = new List <Episode> {
                    new Episode(), new Episode()
                }
            };

            parseResultSingle = new RemoteEpisode
            {
                Series            = series,
                Release           = new ReleaseInfo(),
                ParsedEpisodeInfo = new ParsedEpisodeInfo {
                    Quality = new QualityModel(Quality.SDTV, new Revision(version: 2))
                },
                Episodes = new List <Episode> {
                    new Episode()
                    {
                        Id = 2
                    }
                }
            };

            Mocker.GetMock <IQualityDefinitionService>()
            .Setup(v => v.Get(It.IsAny <Quality>()))
            .Returns <Quality>(v => Quality.DefaultQualityDefinitions.First(c => c.Quality == v));

            qualityType = Builder <QualityDefinition> .CreateNew()
                          .With(q => q.MinSize = 2)
                          .With(q => q.MaxSize = 10)
                          .With(q => q.Quality = Quality.SDTV)
                          .Build();

            Mocker.GetMock <IQualityDefinitionService>().Setup(s => s.Get(Quality.SDTV)).Returns(qualityType);

            Mocker.GetMock <IEpisodeService>().Setup(
                s => s.GetEpisodesBySeason(It.IsAny <int>(), It.IsAny <int>()))
            .Returns(new List <Episode>()
            {
                new Episode(), new Episode(), new Episode(), new Episode(), new Episode(),
                new Episode(), new Episode(), new Episode(), new Episode()
                {
                    Id = 2
                }, new Episode()
            });
        }
コード例 #10
0
        public void Setup()
        {
            artist = Builder <Artist> .CreateNew()
                     .Build();

            parseResultMultiSet = new RemoteAlbum
            {
                Artist          = artist,
                Release         = new ReleaseInfo(),
                ParsedAlbumInfo = new ParsedAlbumInfo {
                    Quality = new QualityModel(Quality.MP3_192, new Revision(version: 2))
                },
                Albums = new List <Album> {
                    AlbumBuilder(), AlbumBuilder(), AlbumBuilder(), AlbumBuilder(), AlbumBuilder(), AlbumBuilder()
                }
            };

            parseResultMulti = new RemoteAlbum
            {
                Artist          = artist,
                Release         = new ReleaseInfo(),
                ParsedAlbumInfo = new ParsedAlbumInfo {
                    Quality = new QualityModel(Quality.MP3_192, new Revision(version: 2))
                },
                Albums = new List <Album> {
                    AlbumBuilder(), AlbumBuilder()
                }
            };

            parseResultSingle = new RemoteAlbum
            {
                Artist          = artist,
                Release         = new ReleaseInfo(),
                ParsedAlbumInfo = new ParsedAlbumInfo {
                    Quality = new QualityModel(Quality.MP3_192, new Revision(version: 2))
                },
                Albums = new List <Album> {
                    AlbumBuilder(2)
                }
            };

            Mocker.GetMock <IQualityDefinitionService>()
            .Setup(v => v.Get(It.IsAny <Quality>()))
            .Returns <Quality>(v => Quality.DefaultQualityDefinitions.First(c => c.Quality == v));

            qualityType = Builder <QualityDefinition> .CreateNew()
                          .With(q => q.MinSize = 150)
                          .With(q => q.MaxSize = 210)
                          .With(q => q.Quality = Quality.MP3_192)
                          .Build();

            Mocker.GetMock <IQualityDefinitionService>().Setup(s => s.Get(Quality.MP3_192)).Returns(qualityType);

            Mocker.GetMock <IAlbumService>().Setup(
                s => s.GetAlbumsByArtist(It.IsAny <int>()))
            .Returns(new List <Album>()
            {
                AlbumBuilder(), AlbumBuilder(), AlbumBuilder(), AlbumBuilder(), AlbumBuilder(),
                AlbumBuilder(), AlbumBuilder(), AlbumBuilder(), AlbumBuilder(2), AlbumBuilder()
            });
        }
コード例 #11
0
 public MJPEGStreamer(VideoSource source, QualityDefinition qualityDefinition)
 {
     Encoder = new CachedEncoder(Source = source, QualityDefinition = qualityDefinition);
 }