From 7e44c31152f50368e33d216544b99aa7cf2ec97e Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Tue, 13 Dec 2016 14:00:07 +0200 Subject: [PATCH] Prefer ZIP files for Windows --- Handler/DownloadStack.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Handler/DownloadStack.hs b/Handler/DownloadStack.hs index 52011e0..0d2f83f 100644 --- a/Handler/DownloadStack.hs +++ b/Handler/DownloadStack.hs @@ -35,7 +35,7 @@ getLatestMatcher man = do let pattern' = pattern ++ "." Object top <- return val Array assets <- lookup "assets" top - getFirst $ fold $ map (First . findMatch pattern') assets + headMay $ preferZip $ catMaybes $ map (findMatch pattern') assets where findMatch pattern' (Object o) = do String name <- lookup "name" o @@ -44,3 +44,6 @@ getLatestMatcher man = do String url <- lookup "browser_download_url" o Just url findMatch _ _ = Nothing + + preferZip = map snd . sortBy (comparing fst) . map + (\x -> (if ".zip" `isSuffixOf` x then 0 else 1 :: Int, x))