diff options
| author | Daniel Widrick <daniel-widrick@users.noreply.github.com> | 2019-03-03 06:46:03 -0500 |
|---|---|---|
| committer | Bond-009 <bond.009@outlook.com> | 2019-03-03 12:46:03 +0100 |
| commit | 5982cdad90d834a785afcec37efb0bfd3f4f83a9 (patch) | |
| tree | 9878df80b2ae26e5ca6cd2e6852e5d8ecbaa9688 | |
| parent | c328417d29300859e5369e78e17ad06306769b4b (diff) | |
Implement SxxExx EpisodeNum Processing (#1009)
**Changes**
Implement and use SxxExx Episode numbering system from guide data if available.
**Issues**
Fixes #1008
| -rw-r--r-- | Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs b/Emby.XmlTv/Emby.XmlTv/Classes/XmlTvReader.cs index 52ec7a135..46bf6cc21 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 - // <episode-num system="SxxExx">S03E12</episode-num> - 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) + { + // <episode-num system="SxxExx">S012E32</episode-num> + + 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) { // <episode-num system="thetvdb.com">series/248841</episode-num> |
