public static IAsyncEnumerable <ExtraBroadcast> ListAllExtraBroadcastsAsync(this ISverigesRadioApiClient apiClient, DateTime?date = null)
 {
     return(apiClient.ListAllExtraBroadcastsAsync(new ExtraBroadcastListRequest
     {
         Date = date
     }));
 }
예제 #2
0
 public Worker(ILogger <Worker> logger, SrWorker srWorker, IStorage storage, ISverigesRadioApiClient sverigesRadioApiClient)
 {
     _logger   = logger;
     _srWorker = srWorker;
     _storage  = storage;
     _sverigesRadioApiClient = sverigesRadioApiClient;
 }
 public static IAsyncEnumerable <Episode> SearchAllEpisodesAsync(this ISverigesRadioApiClient apiClient, EpisodeSearchRequest request)
 {
     return(apiClient.ListAllAsync <Episode, EpisodeSearchRequest>(request, async(listRequest, pagination) =>
     {
         var result = await apiClient.SearchEpisodesAsync(request, pagination);
         return (result.Episodes, result.Pagination);
     }));
 }
 public static IAsyncEnumerable <ExtraBroadcast> ListAllExtraBroadcastsAsync(this ISverigesRadioApiClient apiClient, ExtraBroadcastListRequest request)
 {
     return(apiClient.ListAllAsync <ExtraBroadcast, ExtraBroadcastListRequest>(request, async(listRequest, pagination) =>
     {
         var result = await apiClient.ListExtraBroadcastsAsync(request, pagination);
         return (result.Broadcasts, result.Pagination);
     }));
 }
 public static IAsyncEnumerable <Channel> ListAllChannelsAsync(this ISverigesRadioApiClient apiClient, ChannelListRequest request)
 {
     return(apiClient.ListAllAsync <Channel, ChannelListRequest>(request, async(listRequest, pagination) =>
     {
         var result = await apiClient.ListChannelsAsync(request, pagination);
         return (result.Channels, result.Pagination);
     }));
 }
 public static IAsyncEnumerable <Program> ListAllProgramsAsync(this ISverigesRadioApiClient apiClient, ProgramListRequest request)
 {
     return(apiClient.ListAllAsync <Program, ProgramListRequest>(request, async(listRequest, pagination) =>
     {
         var result = await apiClient.ListProgramsAsync(request, pagination);
         return (result.Programs, result.Pagination);
     }));
 }
 public static IAsyncEnumerable <Program> ListAllProgramsAsync(this ISverigesRadioApiClient apiClient, int?channelId, int?programCategoryId = null)
 {
     return(apiClient.ListAllProgramsAsync(new ProgramListRequest
     {
         ChannelId = channelId,
         ProgramCategoryId = programCategoryId
     }));
 }
        public static IAsyncEnumerable <Episode> SearchAllEpisodesAsync(this ISverigesRadioApiClient apiClient, string searchQuery, int?programId = null, int?channelId = null)
        {
            if (searchQuery == null)
            {
                throw new ArgumentNullException(nameof(searchQuery));
            }

            return(apiClient.SearchAllEpisodesAsync(new EpisodeSearchRequest(searchQuery)
            {
                ProgramId = programId,
                ChannelId = channelId
            }));
        }
        public SrEpisodeCollector(string cloudBlobContainerName, IStorageTransfer storageTransfer, ISverigesRadioApiClient sverigesRadioApiClient, ILogger <SrEpisodeCollector> logger, IStorage storage, string ffMpegLocation)
        {
            _cloudBlobContainerName = cloudBlobContainerName;
            _sverigesRadioApiClient = sverigesRadioApiClient;
            _logger          = logger;
            _storage         = storage;
            _ffMpegLocation  = ffMpegLocation;
            _storageTransfer = storageTransfer;

            _httpClientNoRedirect = new HttpClient(new HttpClientHandler
            {
                AllowAutoRedirect = false
            });
        }
예제 #10
0
 public SrEpisodesLister(ISverigesRadioApiClient sverigesRadioApiClient, ILogger <SrEpisodeCollector> logger)
 {
     _sverigesRadioApiClient = sverigesRadioApiClient;
     _logger = logger;
 }
 public static IAsyncEnumerable <EpisodeGroupEpisode> ListAllEpisodeGroupsAsync(this ISverigesRadioApiClient apiClient, int groupId)
 {
     return(apiClient.ListAllEpisodeGroupsAsync(new EpisodeGroupListRequest(groupId)));
 }
 public static IAsyncEnumerable <Broadcast> ListAllBroadcastsAsync(this ISverigesRadioApiClient apiClient, int programId)
 {
     return(apiClient.ListAllBroadcastsAsync(new BroadcastListRequest(programId)));
 }
 public static IAsyncEnumerable <Podfile> ListAllPodfilesAsync(this ISverigesRadioApiClient apiClient, int programId)
 {
     return(apiClient.ListAllPodfilesAsync(new PodfileListRequest(programId)));
 }
 private static async IAsyncEnumerable <TItem> ListAllAsync <TItem, TRequest>(this ISverigesRadioApiClient apiClient, TRequest request, Func <TRequest, ListPagination, Task <(IEnumerable <TItem>, ListResponsePagination)> > getItems) where TRequest : ListRequestBase
 public static IAsyncEnumerable <Models.Response.ProgramCategories.ProgramCategory> ListAllProgramCategoriesAsync(this ISverigesRadioApiClient apiClient, ProgramCategoryListRequest request)
 {
     return(apiClient.ListAllAsync <Models.Response.ProgramCategories.ProgramCategory, ProgramCategoryListRequest>(request, async(listRequest, pagination) =>
     {
         var result = await apiClient.ListProgramCategoriesAsync(request, pagination);
         return (result.ProgramCategories, result.Pagination);
     }));
 }
 public static IAsyncEnumerable <Models.Response.ProgramCategories.ProgramCategory> ListAllProgramCategoriesAsync(this ISverigesRadioApiClient apiClient)
 {
     return(apiClient.ListAllProgramCategoriesAsync(new ProgramCategoryListRequest()));
 }
 public static IAsyncEnumerable <Channel> ListAllChannelsAsync(this ISverigesRadioApiClient apiClient)
 {
     return(apiClient.ListAllChannelsAsync(new ChannelListRequest()));
 }