Handle Tar exceptions when grabbing extra files

@snoyberg
This commit is contained in:
Chris Done 2014-10-28 16:40:43 +01:00
parent e1dcab25e7
commit d77830555f

View File

@ -258,11 +258,12 @@ grabExtraFiles :: ( MonadActive m
-> m (Maybe Html, Maybe Html, Maybe Html) -- ^ README, changelog, license
grabExtraFiles name version lfiles = runResourceT $ do
msrc <- sourceHackageSdist name version
case msrc of
Nothing -> return mempty
Just src -> do
bss <- lazyConsume $ src $= ungzip
tarSource (Tar.read $ fromChunks bss) $$ foldlC go mempty
handle (\(_ :: Tar.FormatError) -> return (Nothing,Nothing,Nothing)) $
case msrc of
Nothing -> return mempty
Just src -> do
bss <- lazyConsume $ src $= ungzip
tarSource (Tar.read $ fromChunks bss) $$ foldlC go mempty
where
go trip@(mreadme, mchangelog, mlicense) entry =
case Tar.entryContent entry of