From d1f9bdf0ec6adb87ab49e31ed646133c17ee063c Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Sat, 24 Nov 2012 00:42:30 -0800 Subject: [PATCH 1/3] Empty searches in search history now show Fixed: Empty searches will show up in search history --- NzbDrone.Core/Providers/SearchHistoryProvider.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NzbDrone.Core/Providers/SearchHistoryProvider.cs b/NzbDrone.Core/Providers/SearchHistoryProvider.cs index 4fb7e97a8..f746d18a3 100644 --- a/NzbDrone.Core/Providers/SearchHistoryProvider.cs +++ b/NzbDrone.Core/Providers/SearchHistoryProvider.cs @@ -70,7 +70,7 @@ namespace NzbDrone.Core.Providers ON Series.SeriesId = SearchHistory.SeriesId LEFT JOIN Episodes ON Episodes.EpisodeId = SearchHistory.EpisodeId - INNER JOIN SearchHistoryItems + LEFT JOIN SearchHistoryItems ON SearchHistoryItems.SearchHistoryId = SearchHistory.Id GROUP BY SearchHistory.Id, SearchHistory.SeriesId, SearchHistory.SeasonNumber, SearchHistory.EpisodeId, SearchHistory.SearchTime, From 22bc0e96ffb0c74308748d43d732245c6d85a863 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Sun, 25 Nov 2012 21:52:38 -0800 Subject: [PATCH 2/3] Added mobile device icons --- .../Content/Images/apple-touch-icon-114.png | Bin 0 -> 2421 bytes .../Content/Images/apple-touch-icon-144.png | Bin 0 -> 2752 bytes .../Views/Shared/_ReferenceLayout.cshtml | 10 ++++++++++ 3 files changed, 10 insertions(+) create mode 100644 NzbDrone.Web/Content/Images/apple-touch-icon-114.png create mode 100644 NzbDrone.Web/Content/Images/apple-touch-icon-144.png diff --git a/NzbDrone.Web/Content/Images/apple-touch-icon-114.png b/NzbDrone.Web/Content/Images/apple-touch-icon-114.png new file mode 100644 index 0000000000000000000000000000000000000000..22cfed2642ee6c78b7c2d018d71c9149007c1951 GIT binary patch literal 2421 zcmdT``&*LP7T#P0)q>J&zB!2 z3?>sDhyVcch7jJjaNRfe5ODDKcz5n$xR~z^*_Hx;#s0Ymm9)6(1>D3Y1cn9zP;uG~rfcbk)?r7lyKp5G;3*2(xRZQ&B z=}E0zE-w^^06tEcwU(NB{iI0raYD|H(3>;$x%DEECk|nU>UZijYfD6?8J|+sFd>k|eEWjEiJPVt@IoQ1J ztOuX)8PEH)i0oSjM8$@fLCZHxJb`wPb24A^W|HluY;7deGmj)rWX@8)4Yv;AF+s86eCMxmfo z&CfOMPNLz_exb6ld^kA8^?C}OSr8~zJAIgorg_~tl~IxZW;9vk)#m5$zb$x#X_o8h zUa-Lopm-5iCq_>#7fnUu1*_+BByuzqr^`CM3m#yty1I`y7M+pXZB?|TD4*6|y7CS7 zWj>NNItkb)a6FvHWqxmuZL9XzgTQF!Eo_nP0DbDI( zbb;Ry1_cW{!GqzSwZeD316NAA*uQKEhti?H-662GL80>!*YEGeSzSrG$1Y)+5AfKM z`HFTWnGH+avLMMUJyaOMO&M@UhzR)%v9iwoBP=fbu+b?%vbW4`sQ2j&^LSw_Rz<#B zwJ8X4d`^Gd}#@sIsk zD{jh)yh#@-wq5F{7DeHj;T`&j+MHF7Dk;)77MuiFqwGe~0=qW8d*u1RP^bf@fqSrZ zxnt?QaZ(~0Mwz$tk?M6N#l!Q7&J_@7+9qrE`h+gRgf=0}2C{XproD!W)L{n?;(TG@ z;9?~qn)l$hXGyHXX2T?F-4wpFtFTvj7aY6KnOJK1=>gTqA@8{@!o=sU_Hv=w9UH@JO*!7(+fmlMRrI_? zP&I5F`=O^W4tepaowOpEyg6?E94YWGtiH(lGn- zfjuAPxv$KYXU!L+sxRHE9T5|V8~1&+Sf#Vy-p75oa#vTct4|}HeaBj^={TA* zWna3e?9esaKEM{^>?T+D#{c0?YdDG`vcfvU9r9_gTRNyd_(6eCgirIYoeCfl(!IE1 zGa@UIM<>96FcH6&tH2>0W*(!baeG(o8H1Uf-w{3fdG_$VhlM+vQU;DeBi>k!lXR+& za40xvfer|VzuVUOE(LD^=DRAo9fRf; zCHqVqXRW4xnNOKlhY&IiHq~$m>A#t-jM@ven73Ph2>Me0;iC1~9vKlc;-8=7OxnmZ zFU1*fjp6KG!rM*oo~%9^WFP&Dy|T`tGLBLG7kiR!46KyqXxms<%mG@mw`a%? zY2!=kO}S^E-^El*a~7Il$?FQiU>xJUiM@WXQtIdFSUPB$CQ&u#pB?BT)SJeG@lL~e zej6VbV;T?jc{wX(S8AlOI@5SD7KBJJc@FT%KGTuzyqp2SH(E96y(#1?iuoR(X^_S; zP3n{`(zHg~(2LY0t*N8{y7j`-IdJ2$Y2y&x`WN4(dTFfQG}bPQsiz}h(EIQ}L9h&< z7l=P-<(-Unr8QVk^I^o(FnT>rwEXI1X&|R+lMDQ0K>(&i&$%2_oC!aXz=j|p@5VY& G_WuFbDw0wF literal 0 HcmV?d00001 diff --git a/NzbDrone.Web/Content/Images/apple-touch-icon-144.png b/NzbDrone.Web/Content/Images/apple-touch-icon-144.png new file mode 100644 index 0000000000000000000000000000000000000000..e606a1c5edab67568d4dcc581ea9071d182ff9ea GIT binary patch literal 2752 zcmeH}`&&|Z9>>4ufC?somrC#wnubm3gCiMZPNEXhY&d33&5T{pyfAH+v|4609i$Wt z%(8jLElkAOC$*gxyRuq|DQYu~LKiE$3T|54?r64?lP3GsbAH%AVt+WC=X{^<=kxyD zUY`ebN^%m-o#hSypsf-MQ{lT}`k}bO-yxCR1YguV@mGHWV0QlWgZwe%LLWRN=fq3m z0ca}UKe46~ezUiVQzZZtg#v&n0r=es-!B0u-~#YU3P4O10P}Vp-(nE~;2yn77{9Kt zKO^(V#JggJLUAgck7kQXob!K;n%sPb$L_n}`edtga6_hae4-}3s`zgJ=|Drqv8u{+ z9}W8P`7i;9MAWTy16=oR@<9YueZ%t*A)$bciM*|0dI}(0Whl$V2f+YKBB;ZH0Ygwn zmHDKQ0V?AmTC@xZfOesNjldI7^fofjJq!g1?<6KdR{r0~|JFpfA4RMCdT(@_yKhpi zCtw3k*>jp7DEmXU?D6@ExmN%p%ttdavogouy#?(xiHAL$aZhrj(j0%<_yCH@sby^U()4^%R{(eR zA_Qh3UpD1D^T^}iZa#O?`KCgl$i28HdU#)&nU7lL@Ov9oQ2f`y*uLc z%71gYyEF?8Z6^x_a#GoXyp4!M!-C^eA6+r-{193aw=Y=aZIgZ;tLLMgb1uP=TT>A7 z-q~`&qxGE-4R|lj*U7lZ2)~ykeheI{lhdXvz8iJ^i&^rl1x@NwyRK0(edg);h=q0u z5dd3e#B1k-O>Str{YB}~v8$~D@5KOBWmh)TIfSH|!urUbL^%2kNseRM_*}oCk53PR zb>wa7iHu1WK6^U%QrBJzgu?K1k=`Z`j@fgsfsflfnR`N8?rmE%nzC0{%7B?RpA-8B za15UM0o+IamfJDV#|PJ_aNGy0VyO-4-u-9eouU~NJ(9LA4qn-7ukFHZNX?74=Id0G z+m38@#2$kA)5b5KhPt@4@_LqE04KQVY;u=8FacJ;^_R{Y@Jg^Zy_(Qj zw|p&3Cl5pXaT9B9ZeRfC#&#}!5SLNz+BrGQ_cWYcVI^ex+vkWT`8GC_5UJ^j%zzcK z5%;GGzxQ04%%czjUPC0UN^XdcnJI;};uGn%FOPcD?07&Wcd1$JyLB?g(J{vKk{B#E z`R#THmHY9egZ7H-Mka@a64DP7qf4PQgOC>2+>XiYQkPh9>BOn3XF*V!Oi0fi64KRj zLl7>_7^PCyB~DJosQmhrg*sW7b_}yu9qNOX^Q^|EoKwB#9|kSvu*}#(I9CB2Rhw>aON3&FP_snIP8IC%g(2$sE|&1H@_4yq z3GDIlMx!%sDvJB2fonAF$dC@+_wTsJ+^!oY8Cz~G#Wod082wx)`1G)dHo3b7a#@*r z7$Gyh(aI{?S~0aM>9oS)0M>+i@sF3c+#K0=Hk{OcrHeE~(LZ4?^LQZ-Oz|&vc=?{u zo3hwVFWe|>(Ph)Y8U>I3^6#@gX8gAA>_46d{w#elz2y%KK9sB;9Bbqni{|G@pZg%q zm4DsbH4l>A>PJ7%kVPK3?=`bE>k^4eO0}PYiwRJ|E@#0V8tkKxcVoVO{j&rbQ)g{60~R3?RUPd`^U>{N9%y3x$`Ka*2b}*G8celQJ6+emSIHY-f@Qo2QOV zqH(@WO7N6dL+2$xlPTiyZD{fR(#LN^=)n{k4Wdhe#CH^~jP z(Re+K{DyDqHQqD}u{DxVxDtek1$c!Aj$u}B8{3b=`iT&$A(JISWv)(EPwbVeUX0ZC zA}(}6G@&F1E#5uqwo4~7;hp5|_h#@sX&ro99t#h#ki(W0hOCQD&?fA{?laMW8&Z|Dy1P^qLmwt;p1fOUM;Xj ztO$iPWZ|hCJB8`hDjmGR!!z$r7Fb_tPQU{q2pNhZ!Ch*R9WPuRm2&OK(XBe!4|p5M zp9yZ&wVAO!I#~$J9ozy4x%syVmx{JeS#!nM;bQ~N`x`tCMsG_rO>I!nvYTwt^o8T@ b3@Iq0m;PnhuCZ_7zfG`eWwP*Gg0%R*IlKhc literal 0 HcmV?d00001 diff --git a/NzbDrone.Web/Views/Shared/_ReferenceLayout.cshtml b/NzbDrone.Web/Views/Shared/_ReferenceLayout.cshtml index d6c1a3fe6..b3dfbc37f 100644 --- a/NzbDrone.Web/Views/Shared/_ReferenceLayout.cshtml +++ b/NzbDrone.Web/Views/Shared/_ReferenceLayout.cshtml @@ -6,6 +6,16 @@ @this.InitClientTimings() + + + + + + + + + + @Html.IncludeCss("jQueryUI/jquery-ui-1.8.16.custom.css") From 0758a5eb1ec03493e13535f39684e878f7831a29 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Sun, 25 Nov 2012 23:13:55 -0800 Subject: [PATCH 3/3] Better parsing of full season releases on disk --- NzbDrone.Core.Test/ParserFixture/ParserTest.cs | 4 +++- NzbDrone.Core/Parser.cs | 16 ++++------------ NzbDrone.Web/NzbDrone.Web.csproj | 2 ++ 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/NzbDrone.Core.Test/ParserFixture/ParserTest.cs b/NzbDrone.Core.Test/ParserFixture/ParserTest.cs index 81bb1bead..18d4a621a 100644 --- a/NzbDrone.Core.Test/ParserFixture/ParserTest.cs +++ b/NzbDrone.Core.Test/ParserFixture/ParserTest.cs @@ -13,8 +13,8 @@ using NzbDrone.Test.Common; namespace NzbDrone.Core.Test.ParserFixture { - [TestFixture] // ReSharper disable InconsistentNaming + [TestFixture] public class ParserTest : CoreTest { /*Fucked-up hall of shame, @@ -189,6 +189,7 @@ namespace NzbDrone.Core.Test.ParserFixture [TestCase("Parks.and.Recreation.S02.720p.x264-DIMENSION", "Parks.and.Recreation", 2)] [TestCase("The.Office.US.S03.720p.x264-DIMENSION", "The.Office.US", 3)] [TestCase(@"Sons.of.Anarchy.S03.720p.BluRay-CLUE\REWARD", "Sons.of.Anarchy", 3)] + [TestCase("Adventure Time S02 720p HDTV x264 CRON", "Adventure Time", 2)] public void full_season_release_parse(string postTitle, string title, int season) { var result = Parser.ParseTitle(postTitle); @@ -285,6 +286,7 @@ namespace NzbDrone.Core.Test.ParserFixture [TestCase("The Daily Show With Jon Stewart -", "dailyshowwithjonstewart")] [TestCase("The Venture Bros. (2004)", "venturebros2004")] [TestCase("Castle (2011)", "castle2011")] + [TestCase("Adventure Time S02 720p HDTV x264 CRON", "adventuretime")] public void parse_series_name(string postTitle, string title) { var result = Parser.ParseSeriesName(postTitle); diff --git a/NzbDrone.Core/Parser.cs b/NzbDrone.Core/Parser.cs index 04bc153ce..ea1890f49 100644 --- a/NzbDrone.Core/Parser.cs +++ b/NzbDrone.Core/Parser.cs @@ -236,20 +236,12 @@ namespace NzbDrone.Core { Logger.Trace("Parsing string '{0}'", title); - foreach (var regex in ReportTitleRegex) - { - var match = regex.Matches(title); + var parseResult = ParseTitle(title); - if (match.Count != 0) - { - var seriesName = NormalizeTitle(match[0].Groups["title"].Value); + if(parseResult == null) + return NormalizeTitle(title); - Logger.Trace("Series Parsed. {0}", seriesName); - return seriesName; - } - } - - return NormalizeTitle(title); + return parseResult.CleanTitle; } internal static QualityModel ParseQuality(string name) diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj index 8a0c7b4a3..c49922708 100644 --- a/NzbDrone.Web/NzbDrone.Web.csproj +++ b/NzbDrone.Web/NzbDrone.Web.csproj @@ -161,6 +161,8 @@ + +