From 7fc705730d5d70e4c1ae03826503618e2bb82eda Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Wed, 5 Dec 2018 17:57:13 +0100 Subject: [PATCH] Minor cleanup --- src/Foundation.hs | 11 +++++++---- src/Handler/Utils/Rating.hs | 2 +- src/Utils/Lens.hs | 2 +- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/Foundation.hs b/src/Foundation.hs index a3a63fb55..ab9552bdf 100644 --- a/src/Foundation.hs +++ b/src/Foundation.hs @@ -721,11 +721,12 @@ instance Yesod UniWorX where UniWorX{appWidgetMemcached, appSettings} <- getYesod for ((,) <$> appWidgetMemcached <*> appWidgetMemcachedConf appSettings) $ \(mConn, WidgetMemcachedConf{ widgetMemcachedConnectInfo = _, .. }) -> do let expiry = (maybe 0 ceiling widgetMemcachedExpiry) - touch = liftIO $ Memcached.touch expiry fileName mConn - add = liftIO $ Memcached.add zeroBits expiry fileName content mConn + touch = liftIO $ Memcached.touch expiry (encodeUtf8 $ pack fileName) mConn + add = liftIO $ Memcached.add zeroBits expiry (encodeUtf8 $ pack fileName) content mConn + absoluteLink = unpack widgetMemcachedBaseUrl fileName C.catchIf Memcached.isKeyNotFound touch $ \_ -> C.handleIf Memcached.isKeyExists (\_ -> return ()) add - return . Left $ widgetMemcachedBaseUrl <> "/" <> decodeUtf8 fileName + return . Left $ pack absoluteLink where -- Generate a unique filename based on the content itself, this is used -- for deduplication so a collision resistant hash function is required @@ -734,7 +735,9 @@ instance Yesod UniWorX where -- -- Length of hash is 144 bits instead of MD5's 128, so as to avoid -- padding after base64-conversion - fileName = (<> ("." <> encodeUtf8 ext)) + fileName = (<.> unpack ext) + . unpack + . decodeUtf8 . Base64.encode . (convert :: Digest (SHAKE256 144) -> ByteString) . runIdentity diff --git a/src/Handler/Utils/Rating.hs b/src/Handler/Utils/Rating.hs index 8c8b4f273..fc4e88574 100644 --- a/src/Handler/Utils/Rating.hs +++ b/src/Handler/Utils/Rating.hs @@ -41,7 +41,7 @@ import qualified Database.Esqueleto as E import qualified Data.Conduit.List as Conduit -import Utils.Lens hiding ((<.>)) +import Utils.Lens instance HasResolution prec => Pretty (Fixed prec) where diff --git a/src/Utils/Lens.hs b/src/Utils/Lens.hs index 7d7df4350..7d71d63ef 100644 --- a/src/Utils/Lens.hs +++ b/src/Utils/Lens.hs @@ -1,7 +1,7 @@ module Utils.Lens ( module Utils.Lens ) where import Import.NoFoundation -import Control.Lens as Utils.Lens +import Control.Lens as Utils.Lens hiding ((<.>)) import Control.Lens.Extras as Utils.Lens (is) import Utils.Lens.TH as Utils.Lens (makeLenses_)