|
@@ -25,6 +25,12 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings.Emby
|
|
|
|
|
|
public async Task<IEnumerable<ProgramInfo>> GetProgramsAsync(ListingsProviderInfo info, string channelNumber, DateTime startDateUtc, DateTime endDateUtc, CancellationToken cancellationToken)
|
|
|
{
|
|
|
+ var url = "https://data.emby.media/service/listings?id=" + info.ListingsId;
|
|
|
+ url += "&start=" + startDateUtc.ToString("s", System.Globalization.CultureInfo.InvariantCulture);
|
|
|
+ url += "&end=" + endDateUtc.ToString("s", System.Globalization.CultureInfo.InvariantCulture);
|
|
|
+
|
|
|
+ var response = await GetResponse<ListingInfo[]>(url).ConfigureAwait(false);
|
|
|
+
|
|
|
return new List<ProgramInfo>();
|
|
|
}
|
|
|
|
|
@@ -53,7 +59,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings.Emby
|
|
|
Name = GetName(i),
|
|
|
Id = i.lineupID
|
|
|
|
|
|
- }).ToList();
|
|
|
+ }).OrderBy(i => i.Name).ToList();
|
|
|
}
|
|
|
|
|
|
private string GetName(LineupInfo info)
|
|
@@ -139,5 +145,58 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings.Emby
|
|
|
public string country { get; set; }
|
|
|
public List<Station> stations { get; set; }
|
|
|
}
|
|
|
+
|
|
|
+ private class ListingInfo
|
|
|
+ {
|
|
|
+ public string number { get; set; }
|
|
|
+ public int channelNumber { get; set; }
|
|
|
+ public int subChannelNumber { get; set; }
|
|
|
+ public int stationID { get; set; }
|
|
|
+ public string name { get; set; }
|
|
|
+ public string callsign { get; set; }
|
|
|
+ public string network { get; set; }
|
|
|
+ public string stationType { get; set; }
|
|
|
+ public string webLink { get; set; }
|
|
|
+ public string logoFilename { get; set; }
|
|
|
+ public int listingID { get; set; }
|
|
|
+ public string listDateTime { get; set; }
|
|
|
+ public int duration { get; set; }
|
|
|
+ public int showID { get; set; }
|
|
|
+ public int seriesID { get; set; }
|
|
|
+ public string showName { get; set; }
|
|
|
+ public string episodeTitle { get; set; }
|
|
|
+ public string episodeNumber { get; set; }
|
|
|
+ public int parts { get; set; }
|
|
|
+ public int partNum { get; set; }
|
|
|
+ public bool seriesPremiere { get; set; }
|
|
|
+ public bool seasonPremiere { get; set; }
|
|
|
+ public bool seriesFinale { get; set; }
|
|
|
+ public bool seasonFinale { get; set; }
|
|
|
+ public bool repeat { get; set; }
|
|
|
+ public bool @new { get; set; }
|
|
|
+ public string rating { get; set; }
|
|
|
+ public bool captioned { get; set; }
|
|
|
+ public bool educational { get; set; }
|
|
|
+ public bool blackWhite { get; set; }
|
|
|
+ public bool subtitled { get; set; }
|
|
|
+ public bool live { get; set; }
|
|
|
+ public bool hd { get; set; }
|
|
|
+ public bool descriptiveVideo { get; set; }
|
|
|
+ public bool inProgress { get; set; }
|
|
|
+ public string showTypeID { get; set; }
|
|
|
+ public int breakoutLevel { get; set; }
|
|
|
+ public string showType { get; set; }
|
|
|
+ public string year { get; set; }
|
|
|
+ public string guest { get; set; }
|
|
|
+ public string cast { get; set; }
|
|
|
+ public string director { get; set; }
|
|
|
+ public int starRating { get; set; }
|
|
|
+ public string description { get; set; }
|
|
|
+ public string league { get; set; }
|
|
|
+ public string team1 { get; set; }
|
|
|
+ public string team2 { get; set; }
|
|
|
+ public string @event { get; set; }
|
|
|
+ public string location { get; set; }
|
|
|
+ }
|
|
|
}
|
|
|
}
|