diff options
| author | Luis Miguel Almánzar <ruisu15@gmail.com> | 2013-10-28 20:35:01 -0400 |
|---|---|---|
| committer | Luis Miguel Almánzar <ruisu15@gmail.com> | 2013-10-28 20:35:01 -0400 |
| commit | d77122ba0f3c3ca71bfa4c8fa5b25bb3c3f0f1dc (patch) | |
| tree | 11c740f40e5ade69dcd738fe7aab37d922919b54 | |
| parent | e7a1f523734d1fc6e7808c2f703dbe543410ffe1 (diff) | |
add support to movie names with dot notation
| -rw-r--r-- | MediaBrowser.Providers/Movies/MovieDbProvider.cs | 3 | ||||
| -rw-r--r-- | MediaBrowser.Tests/MediaBrowser.Tests.csproj | 5 | ||||
| -rw-r--r-- | MediaBrowser.Tests/Providers/MovieDbProviderTests.cs | 36 |
3 files changed, 43 insertions, 1 deletions
diff --git a/MediaBrowser.Providers/Movies/MovieDbProvider.cs b/MediaBrowser.Providers/Movies/MovieDbProvider.cs index 9ed0860b2..63a237d2c 100644 --- a/MediaBrowser.Providers/Movies/MovieDbProvider.cs +++ b/MediaBrowser.Providers/Movies/MovieDbProvider.cs @@ -189,6 +189,7 @@ namespace MediaBrowser.Providers.Movies static readonly Regex[] NameMatches = new[] { new Regex(@"(?<name>.*)\((?<year>\d{4})\)"), // matches "My Movie (2001)" and gives us the name and the year + new Regex(@"(?<name>.*)(\.(?<year>\d{4})(\.|$)).*$"), new Regex(@"(?<name>.*)") // last resort matches the whole string as the name }; @@ -320,7 +321,7 @@ namespace MediaBrowser.Providers.Movies /// <param name="name">The name.</param> /// <param name="justName">Name of the just.</param> /// <param name="year">The year.</param> - protected void ParseName(string name, out string justName, out int? year) + public static void ParseName(string name, out string justName, out int? year) { justName = null; year = null; diff --git a/MediaBrowser.Tests/MediaBrowser.Tests.csproj b/MediaBrowser.Tests/MediaBrowser.Tests.csproj index a7a7ac243..95e55fda0 100644 --- a/MediaBrowser.Tests/MediaBrowser.Tests.csproj +++ b/MediaBrowser.Tests/MediaBrowser.Tests.csproj @@ -50,6 +50,7 @@ </Otherwise> </Choose> <ItemGroup> + <Compile Include="Providers\MovieDbProviderTests.cs" /> <Compile Include="Resolvers\MovieResolverTests.cs" /> <Compile Include="Resolvers\TvUtilTests.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> @@ -63,6 +64,10 @@ <Project>{7eeeb4bb-f3e8-48fc-b4c5-70f0fff8329b}</Project> <Name>MediaBrowser.Model</Name> </ProjectReference> + <ProjectReference Include="..\MediaBrowser.Providers\MediaBrowser.Providers.csproj"> + <Project>{442B5058-DCAF-4263-BB6A-F21E31120A1B}</Project> + <Name>MediaBrowser.Providers</Name> + </ProjectReference> </ItemGroup> <Choose> <When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'"> diff --git a/MediaBrowser.Tests/Providers/MovieDbProviderTests.cs b/MediaBrowser.Tests/Providers/MovieDbProviderTests.cs new file mode 100644 index 000000000..f7a87c9d4 --- /dev/null +++ b/MediaBrowser.Tests/Providers/MovieDbProviderTests.cs @@ -0,0 +1,36 @@ +using MediaBrowser.Providers.Movies; +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace MediaBrowser.Tests.Providers { + [TestClass] + public class MovieDbProviderTests { + [TestMethod] + public void TestNameMatches() { + var name = string.Empty; + int? year = null; + MovieDbProvider.ParseName("My Movie (2013)", out name, out year); + Assert.AreEqual("My Movie", name); + Assert.AreEqual(2013, year); + name = string.Empty; + year = null; + MovieDbProvider.ParseName("My Movie 2 (2013)", out name, out year); + Assert.AreEqual("My Movie 2", name); + Assert.AreEqual(2013, year); + name = string.Empty; + year = null; + MovieDbProvider.ParseName("My Movie 2001 (2013)", out name, out year); + Assert.AreEqual("My Movie 2001", name); + Assert.AreEqual(2013, year); + name = string.Empty; + year = null; + MovieDbProvider.ParseName("My Movie - 2 (2013)", out name, out year); + Assert.AreEqual("My Movie - 2", name); + Assert.AreEqual(2013, year); + name = string.Empty; + year = null; + MovieDbProvider.ParseName("curse.of.chucky.2013.stv.unrated.multi.1080p.bluray.x264-rough", out name, out year); + Assert.AreEqual("curse.of.chucky", name); + Assert.AreEqual(2013, year); + } + } +}
\ No newline at end of file |
