diff --git a/Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs b/Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs
index 52ec7a135d..46bf6cc21c 100644
--- a/Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs
+++ b/Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs
@@ -495,9 +495,7 @@ namespace Emby.XmlTv.Classes
ParseMovieDbSystem(reader, result);
break;
case "SxxExx":
- // TODO
- // S03E12
- reader.Skip();
+ ParseSxxExxSystem(reader, result);
break;
default: // Handles empty string and nulls
reader.Skip();
@@ -505,6 +503,29 @@ namespace Emby.XmlTv.Classes
}
}
+ public void ParseSxxExxSystem(XmlReader reader, XmlTvProgram result)
+ {
+ // S012E32
+
+ var value = reader.ReadElementContentAsString();
+ var res = Regex.Match(value, "s([0-9]+)e([0-9]+)", RegexOptions.IgnoreCase);
+
+ if (res.Success)
+ {
+ int parsedInt;
+
+ if (int.TryParse(res.Groups[1].Value, out parsedInt))
+ {
+ result.Episode.Series = parsedInt;
+ }
+
+ if (int.TryParse(res.Groups[2].Value, out parsedInt))
+ {
+ result.Episode.Episode = parsedInt;
+ }
+ }
+ }
+
public void ParseMovieDbSystem(XmlReader reader, XmlTvProgram result)
{
// series/248841