From 5cb2a6a296120ce9a8875b262127937695304d7b Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Wed, 24 Dec 2014 09:23:38 +0200 Subject: [PATCH] Docs fallback --- Handler/StackageSdist.hs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/Handler/StackageSdist.hs b/Handler/StackageSdist.hs index c738d47..1c93a23 100644 --- a/Handler/StackageSdist.hs +++ b/Handler/StackageSdist.hs @@ -42,12 +42,18 @@ getStackageSdistR slug (PNVNameVersion name version) = packagePage name (Just version) (do Entity sid _ <- getBy404 $ UniqueSnapshot slug - selectFirst - [ DocsName ==. name - , DocsVersion ==. version - , DocsSnapshot ==. Just sid + let loop [] = return Nothing + loop (x:xs) = do + mdocs <- selectFirst x [] + case mdocs of + Nothing -> loop xs + Just _ -> return mdocs + loop + [ [DocsName ==. name, DocsVersion ==. version, DocsSnapshot ==. Just sid] + , [DocsName ==. name, DocsVersion ==. version] + , [DocsName ==. name] ] - []) >>= sendResponse + ) >>= sendResponse addDownload :: Maybe PackageSetIdent -> Maybe HackageView