From 48185bdf0e7230f5e5fefefd9ee4439bd7d9202c Mon Sep 17 00:00:00 2001 From: Michael Snoyman Date: Mon, 17 Nov 2014 14:19:20 +0200 Subject: [PATCH] Improved memory usage --- Data/Hackage.hs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/Data/Hackage.hs b/Data/Hackage.hs index 42afa35..5bda8d3 100644 --- a/Data/Hackage.hs +++ b/Data/Hackage.hs @@ -39,6 +39,8 @@ import Data.Foldable (foldMap) import qualified Data.Traversable as T import qualified Data.Version import Text.ParserCombinators.ReadP (readP_to_S) +import Text.Blaze.Html.Renderer.Utf8 (renderHtml) +import Text.Blaze.Html (unsafeByteString) sinkUploadHistory :: Monad m => Consumer (Entity Uploaded) m UploadHistory sinkUploadHistory = @@ -244,6 +246,7 @@ getMetadata name version hash' gpd = do #else [PD.licenseFile pd] #endif + let collapseHtml = unsafeByteString . toStrict . renderHtml return Metadata { metadataName = name , metadataVersion = version @@ -266,9 +269,9 @@ getMetadata name version hash' gpd = do , metadataExes = length $ PD.executables pd , metadataTestSuites = length $ PD.testSuites pd , metadataBenchmarks = length $ PD.benchmarks pd - , metadataReadme = fromMaybe (toHtml $ Textarea $ pack $ PD.description pd) mreadme - , metadataChangelog = mchangelog - , metadataLicenseContent = mlicenseContent + , metadataReadme = collapseHtml $ fromMaybe (toHtml $ Textarea $ pack $ PD.description pd) mreadme + , metadataChangelog = collapseHtml <$> mchangelog + , metadataLicenseContent = collapseHtml <$> mlicenseContent } where goTree (PD.CondNode _ deps comps) = concatMap goDep deps ++ concatMap goComp comps