classify 2008.11.13 → 2008.11.17
raw patch · 3 files changed
+12/−4 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- classify.cabal +1/−1
- src/Data/Classify/Parser.hs +2/−1
- src/Data/Classify/Rank.hs +9/−2
classify.cabal view
@@ -1,5 +1,5 @@ Name: classify-Version: 2008.11.13+Version: 2008.11.17 Copyright: 2004-2008, Lemmih Build-Depends: base, mtl, containers Build-Type: Simple
src/Data/Classify/Parser.hs view
@@ -95,7 +95,7 @@ oneOf "XxEe." e <- many1 digit return (makeVersion s e, 0)- , do s <- count 1 digit +++ count 2 digit+ , do s <- count 2 digit +++ count 1 digit e <- count 2 digit return (makeVersion s e, 0) , do oneOf "sS"@@ -122,6 +122,7 @@ many anyChar separator (v,s) <- parseVersion+ satisfy (not.isDigit) separator (t,l) <- choice [do { t <- manyTill anyChar (do char '.'
src/Data/Classify/Rank.hs view
@@ -31,7 +31,8 @@ = sum [ score elt, cleanExtension ==> 2, cleanTitle ==> 1,- unrealVersion (version elt)+ unrealVersion (version elt),+ numLength (version elt) ] where cleanExtension = all isAlpha (lastname elt)@@ -39,11 +40,15 @@ unrealVersion (Version season episode) = sum [ episode > 0 ==> 1 , episode > 50 ==> negate 2- , season > 0 ==> 1+ , season < 1 ==> negate 10 , season > 30 ==> negate 1 ] unrealVersion (DateVersion year month day) = 0 +numLength (Version season episode) = sum [ floor $ logBase 10 (fromIntegral season)+ , floor $ logBase 10 (fromIntegral episode) ]+numLength _ = 0+ infix 2 ==> True ==> n = n False ==> _ = 0@@ -97,6 +102,8 @@ , ("Heroes.S03E05.HDTV.XviD-LOL.avi", "Heroes", Version 3 5) , ("Californication.S02E04.720p.HDTV.X264-DIMENSION.mkv", "Californication", Version 2 4) , ("Psych - 1x09 - Forget Me Not.avi", "Psych", Version 1 9)+ , ("south.park.1109.dsr.xvid-sys.[VTV].avi", "South Park", Version 11 9)+ , ("South Park - 12x09 - Breast Cancer Show Ever.avi", "South Park", Version 12 9) ] runTests = flip mapM_ testData $ \(str, series, expectedVersion) ->