RecordingHelper.cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using MediaBrowser.Controller.LiveTv;
  2. using System;
  3. using System.Globalization;
  4. namespace Emby.Server.Implementations.LiveTv.EmbyTV
  5. {
  6. internal class RecordingHelper
  7. {
  8. public static DateTime GetStartTime(TimerInfo timer)
  9. {
  10. return timer.StartDate.AddSeconds(-timer.PrePaddingSeconds);
  11. }
  12. public static string GetRecordingName(TimerInfo info)
  13. {
  14. var name = info.Name;
  15. if (info.IsProgramSeries)
  16. {
  17. var addHyphen = true;
  18. if (info.SeasonNumber.HasValue && info.EpisodeNumber.HasValue)
  19. {
  20. name += string.Format(" S{0}E{1}", info.SeasonNumber.Value.ToString("00", CultureInfo.InvariantCulture), info.EpisodeNumber.Value.ToString("00", CultureInfo.InvariantCulture));
  21. addHyphen = false;
  22. }
  23. else if (info.OriginalAirDate.HasValue)
  24. {
  25. name += " " + info.OriginalAirDate.Value.ToString("yyyy-MM-dd");
  26. }
  27. else
  28. {
  29. name += " " + DateTime.Now.ToString("yyyy-MM-dd");
  30. }
  31. if (!string.IsNullOrWhiteSpace(info.EpisodeTitle))
  32. {
  33. if (addHyphen)
  34. {
  35. name += " -";
  36. }
  37. name += " " + info.EpisodeTitle;
  38. }
  39. }
  40. else if (info.IsMovie && info.ProductionYear != null)
  41. {
  42. name += " (" + info.ProductionYear + ")";
  43. }
  44. else
  45. {
  46. name += " " + info.StartDate.ToString("yyyy-MM-dd");
  47. }
  48. return name;
  49. }
  50. }
  51. }