Beispiel #1
0
        public async Task <List <IPlexMovieMetadata> > GetMovieLibraryMetadataAsync(IPlexClient client, string libraryId)
        {
            // TODO - Supplying an invalid subset (all, on deck, newest, ...) results in HTTP 200 and an empty list.
            // TODO - Similar with sections => e.g. sectionsssss
            // TODO - Maybe this should be handled here with a warning or something.
            var mediaContainer = await GetResponseData <MediaContainer>(client, $"/library/sections/{libraryId}/all");

            return(mediaContainer.Videos
                   .Select(x => new PlexMovieMetadata
            {
                Title = x.Title,
                TitleSort = x.TitleSort,

                ViewCount = x.ViewCount,
                LastViewedAt = x.LastViewedAt,

                ThumbUri = CreateAbsoluteUri(client.BaseUrl, x.Thumb),
                ArtUri = CreateAbsoluteUri(client.BaseUrl, x.Art),

                Collections = x.Collections
                              .Select(c => c.Name).ToList(),

                Filenames = x.Medias
                            .SelectMany(m => m.Parts)
                            .Select(p => Path.GetFileName(p.FileName))
                            .ToList()
            } as IPlexMovieMetadata)
                   .ToList());
        }
Beispiel #2
0
        public async Task <string> GetLibraryIdAsync(IPlexClient client, string libraryName)
        {
            var mediaContainer = await GetResponseData <MediaContainer>(client, "/library/sections/all");

            return(mediaContainer.Directories
                   .Where(x => Equals(x.Title, libraryName))
                   .Select(x => x.Key)
                   .FirstOrDefault());
        }
 public LoginController(ILogger <LoginController> logger,
                        IPlexClient plexClient,
                        IAuthValidator authValidator)
 {
     _logger           = logger;
     _plexClient       = plexClient;
     _authValidator    = authValidator;
     _serverIdentifier = plexClient.GetPlexServerIdentifier();
 }
Beispiel #4
0
        private void SignIn()
        {
            plexApi = ServiceProvider.GetService <IPlexClient>();

            var login    = ConfigurationManager.AppSettings["PlexLogin"];
            var password = ConfigurationManager.AppSettings["PlexPassword"];

            plexUser = plexApi.SignIn(login, password).Result;
        }
Beispiel #5
0
 public PlexService(
     IPlexClient plexClient,
     ILogger <PlexService> logger,
     ILocalStorageService localStorageService,
     IApiService apiService)
 {
     _plexClient          = plexClient;
     _logger              = logger;
     _localStorageService = localStorageService;
     _apiService          = apiService;
 }
        public LoginController(ILogger <LoginController> logger,
                               IPlexClient plexClient,
                               IAuthValidator authValidator,
                               IConfigurationService configuration)
        {
            this._logger        = logger;
            this._plexClient    = plexClient;
            this._authValidator = authValidator;

            var id = configuration.GetConfig().ServerIdentifier;

            if (id == null)
            {
                var pref = configuration.GetConfig().PlexPreferencesFile;
                serverIdentifier = plexClient.GetLocalServerIdentifier(pref ?? "Preferences.xml");
            }
            else
            {
                serverIdentifier = new ServerIdentifier(id);
            }
        }
Beispiel #7
0
 public AccountController(IPlexClient plexClient)
 {
     _plexClient = plexClient;
 }
Beispiel #8
0
 public PlexInfoController(IPlexClient plexClient)
 {
     _plexClient = plexClient;
 }
Beispiel #9
0
 public PlexService(IAppLogger logger, IPlexClient client, IPlexRepository repository)
 {
     _logger     = logger;
     _client     = client;
     _repository = repository;
 }
Beispiel #10
0
 public PlexService(IPlexClient plexClient, IMapper mapper)
 {
     _plexClient = plexClient;
     _mapper     = mapper;
 }
 public ServerController(IPlexService plexService, IPlexClient plexClient)
 {
     _plexService = plexService;
     _plexClient  = plexClient;
 }