Commit Graph

60 Commits

Author SHA1 Message Date
Shadowghost 79a6ac6d82 Don't read episode markers in episode titles as a multi-episode range 2026-09-06 08:04:34 +02:00
Nils Lehnen f8ffccae7f Use InvariantCulture when parsing machine-generated dates
DateTime.TryParse without an IFormatProvider falls back to the current
thread culture, so the same string can parse differently (or fail)
depending on the server's locale. None of these call sites deal with
user-entered text - they parse dates that come from filenames, an
HTTP header, ffprobe metadata and values the app itself wrote to the
auth database - so InvariantCulture is the correct provider everywhere
here.

Fixes the S6580 / CA1305 warnings on these call sites.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 23:55:31 +02:00
theguymadmax 64e02c0e28 Apply review feedback 2026-06-17 15:41:31 -04:00
theguymadmax 068bbb7981 Fix series year lost during parsing 2026-06-15 11:42:17 -04:00
theguymadmax 0028104ed9 Consolidate kewords 2026-05-06 20:58:40 -04:00
theguymadmax f6ac1d9f38 Fix folders being identified as seasons in mixed libraries 2026-05-06 18:35:23 -04:00
Biosias 31e8e197cf Add differen Slovak and Czech translation of Season for parsing 2026-04-16 13:14:59 +02:00
Bond_009 b346370dfc Fix build 2026-02-15 11:28:42 +01:00
Niels van Velzen 8c02c3be93 Merge pull request #14824 from CodyEngel/fix-numeric-titles
Fix TV Series parsing containing only numbers.
2025-11-27 16:32:11 +01:00
theguymadmax 6c5f448787 Backport pull request #15404 from jellyfin/release-10.11.z
Improve season folder parsing

Original-merge: 2e5ced5098

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-11-17 14:08:54 -05:00
Shadowghost 87b02b1316 Backport pull request #15326 from jellyfin/release-10.11.z
Skip too large extracted season numbers

Original-merge: e7dbb3afec

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2025-11-02 21:58:45 -05:00
theguymadmax 3c4dc16003 Backport pull request #15102 from jellyfin/release-10.11.z
Make season paths case-insensitive

Original-merge: 305b0fdca3

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Bond_009 <bond.009@outlook.com>
2025-10-27 15:43:12 -04:00
Cody Engel 2508e8349b update summary docs
Signed-off-by: Cody Engel <cengel815@gmail.com>
2025-09-23 08:22:00 -06:00
Cody Engel bd9a44ce7d remove explicit ‘-‘ support in series name 2025-09-20 18:00:44 -06:00
Cody Engel da31d0c6a6 support series that are numeric only
updates SeriesResolver to handle series names that only contain numbers such as 1923.
2025-09-20 14:04:00 -06:00
Tim Eisele dfb485d1f2 Rework season folder parsing (#11748) 2025-03-23 10:05:40 -06:00
Josh Soref 40da2ccac5 Fix spelling (#13444)
* spelling: anamorphic

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: associated

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: channelinfo

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: eagerly

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: enumerable

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: greater than/less than

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: greater

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: lineup

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: logs out

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: names

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: paging

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: playlist

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: sanitized

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

* spelling: saving

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>

---------

Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2025-01-28 11:27:34 +01:00
Bond_009 0a0de6708e Enable more analyser rules as errors
Also deduplicates a bit of code inside of SeasonPathParser and adds some more tests
2024-08-01 17:17:10 +02:00
Shadowghost 30b4ddeddf Backport pull request #11808 from jellyfin/release-10.9.z
Add Canceled to ended state

Original-merge: 4a54e5ddeb

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-25 11:46:29 -04:00
Shadowghost b063dfd2e3 Backport pull request #11648 from jellyfin/release-10.9.z
Fix series status parsing

Original-merge: c6c48a2b47

Merged-by: nielsvanvelzen <nielsvanvelzen@users.noreply.github.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-05-17 13:51:42 -04:00
Bond_009 b5f0760db8 Use RegexGenerator where possible 2023-06-28 17:07:57 +02:00
Bond-009 5b493e14ac Improve alternate ordering (#9336) 2023-02-20 08:07:51 -07:00
Bond_009 48263078b4 Reduce string allocations by regex 2023-02-17 15:00:06 +01:00
Bond_009 52194f56b5 Replace != null with is not null 2022-12-05 15:01:13 +01:00
Cody Robibero 7bfc6b5679 Remove more warnings 2021-12-27 07:38:06 -07:00
Bond_009 ea8f40e84a More cleanup 2021-12-27 14:20:05 +00:00
cvium b880dc8a4a Use our own Contains extension 2021-12-20 13:31:07 +01:00
Fredrik Lindberg ea439c5ccf Improve series name matching
Add a series path resolver that attempts to extract only the series
name from a path that contains more information that just the name.
2021-09-13 17:59:33 +02:00
cvium 42a2cc1747 Remove some unnecessary allocations 2021-05-24 00:30:41 +02:00
cvium 381db60ed3 fix test 2021-04-09 15:05:39 +02:00
cvium 457229c56d Simplification 2021-04-09 13:43:40 +02:00
Bond_009 8a6242826f 100% branch coverage for Emby.Naming 2021-02-13 11:38:17 +01:00
Stepan 158eff62d7 Xml-doc part2 2020-11-10 19:23:10 +01:00
Stepan 693760e38a Xml-doc part1 2020-11-10 17:11:48 +01:00
Stepan f22e0800e2 Episode parsing coverage 2020-11-07 11:02:12 +01:00
Stepan 60b49e67ea Re-Sharper inspection issues 2020-11-01 11:19:22 +01:00
Stepan 59619b6ea7 Enable nullable in Emby.Naming 2020-11-01 10:47:31 +01:00
Bond_009 febb6bced6 Review usage of string.Substring (part 1)
Reduced allocations by replacing string.Substring with ReadOnlySpan<char>.Slice
2020-07-22 13:39:24 +02:00
crobibero 261a2e1989 revert xml docs indentation 2020-03-25 14:31:03 -06:00
crobibero cb68fbeb0a Fix warnings in Emby.Naming 2020-03-25 10:53:03 -06:00
Bond_009 07cc4be6a7 Fix some warnings
* Add analyzers to MediaBrowser.XbmcMetadata
* Enable TreatWarningsAsErrors for MediaBrowser.XbmcMetadata
* Add analyzers to MediaBrowser.WebDashboard
* Enable TreatWarningsAsErrors for MediaBrowser.WebDashboard
* Disable SA1600 in favor of CS1591
2020-02-23 12:11:43 +01:00
Bond_009 adc9fc282c Minor improvements 2020-02-19 23:08:58 +01:00
Bond_009 dc62e436c4 Clean up Emby.Naming 2020-01-22 22:18:56 +01:00
dkanada e700fc8a07 fix and remove a few more tests 2020-01-19 00:18:55 +09:00
Bond_009 5a8e972952 Enable TreatWarningsAsErrors for some projects
Analyzers are only run in debug build, so setting TreatWarningsAsErrors
for release build will catch the compiler warnings until we resolve all
analyzer warnings.
2019-12-13 20:11:37 +01:00
Bond-009 b477b3874e Fix some warnings 2019-11-22 16:15:31 +01:00
Bond_009 516933aab5 Move to netcore3.0 2019-10-11 18:32:13 +02:00
Bond_009 08ac5b6ec3 Fix build 2019-06-01 11:34:28 +02:00
Bond-009 a6f9ceedd8 Fix more warnings 2019-06-01 11:31:27 +02:00
Bond-009 9993dafe54 Don't mix LINQ and roreach loops for readability 2019-03-01 17:12:22 +01:00