Skip to content

Commit f26c81a

Browse files
committed
Use unpackUTF8 instead of various unpackUtf8
1 parent 3679c5a commit f26c81a

4 files changed

Lines changed: 10 additions & 41 deletions

File tree

src/Distribution/Server/Features/PackageCandidates.hs

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ import Distribution.Server.Packages.PackageIndex (PackageIndex)
3232
import qualified Distribution.Server.Framework.ResponseContentTypes as Resource
3333
import Distribution.Server.Features.Security.Migration
3434

35+
import Distribution.Server.Util.Parse (unpackUTF8)
3536
import Distribution.Server.Util.ServeTarball
3637
import Distribution.Server.Util.Markdown (renderMarkdown, supposedToBeMarkdown)
3738
import Distribution.Server.Pages.Template (hackagePage)
@@ -41,9 +42,6 @@ import Distribution.Package
4142
import Distribution.Version
4243

4344
import qualified Data.Text as T
44-
import qualified Data.Text.Encoding as T
45-
import qualified Data.Text.Encoding.Error as T
46-
import qualified Data.ByteString.Lazy as BS (ByteString, toStrict)
4745
import qualified Text.XHtml.Strict as XHtml
4846
import Text.XHtml.Strict ((<<), (!))
4947
import Data.Aeson (Value (..), object, toJSON, (.=))
@@ -596,7 +594,7 @@ candidatesFeature ServerEnv{serverBlobStore = store}
596594
<< if supposedToBeMarkdown filename
597595
then renderMarkdown filename contents
598596
else XHtml.thediv ! [XHtml.theclass "preformatted"]
599-
<< unpackUtf8 contents
597+
<< unpackUTF8 contents
600598
]
601599

602600

@@ -614,8 +612,3 @@ candidatesFeature ServerEnv{serverBlobStore = store}
614612
["index.html"] (display (packageId pkg)) fp index
615613
[Public, maxAgeMinutes 5] etag Nothing
616614
requireUserContent userFeatureServerEnv (tarServeResponse tarServe)
617-
618-
unpackUtf8 :: BS.ByteString -> String
619-
unpackUtf8 = T.unpack
620-
. T.decodeUtf8With T.lenientDecode
621-
. BS.toStrict

src/Distribution/Server/Features/PackageContents.hs

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,13 @@ import Distribution.Server.Packages.Render
1818
import Distribution.Server.Features.Users
1919
import Distribution.Server.Util.ServeTarball
2020
import Distribution.Server.Util.Markdown (renderMarkdown, supposedToBeMarkdown)
21+
import Distribution.Server.Util.Parse (unpackUTF8)
2122
import Distribution.Server.Pages.Template (hackagePage)
2223

2324
import Distribution.Text
2425
import Distribution.Package
2526
import Distribution.PackageDescription
2627

27-
import qualified Data.Text as T
28-
import qualified Data.Text.Encoding as T
29-
import qualified Data.Text.Encoding.Error as T
30-
import qualified Data.ByteString.Lazy as BS (ByteString, toStrict)
3128
import qualified Text.XHtml.Strict as XHtml
3229
import qualified Distribution.Utils.ShortText as ST
3330
import Text.XHtml.Strict ((<<), (!))
@@ -160,7 +157,7 @@ packageContentsFeature CoreFeature{ coreResource = CoreResource{
160157
<< if supposedToBeMarkdown filename
161158
then renderMarkdown filename contents
162159
else XHtml.thediv ! [XHtml.theclass "preformatted"]
163-
<< unpackUtf8 contents
160+
<< unpackUTF8 contents
164161
]
165162

166163
serveReadmeText :: DynamicPath -> ServerPartE Response
@@ -194,7 +191,7 @@ packageContentsFeature CoreFeature{ coreResource = CoreResource{
194191
<< if supposedToBeMarkdown filename
195192
then renderMarkdown filename contents
196193
else XHtml.thediv ! [XHtml.theclass "preformatted"]
197-
<< unpackUtf8 contents
194+
<< unpackUTF8 contents
198195
]
199196

200197
-- return: not-found error or tarball
@@ -212,11 +209,6 @@ packageContentsFeature CoreFeature{ coreResource = CoreResource{
212209
[Public, maxAgeDays 30] etag Nothing
213210
requireUserContent userFeatureServerEnv (tarServeResponse tarServe)
214211

215-
unpackUtf8 :: BS.ByteString -> String
216-
unpackUtf8 = T.unpack
217-
. T.decodeUtf8With T.lenientDecode
218-
. BS.toStrict
219-
220212
-- TODO: this helper is defined in at least two other places; consolidate
221213
-- | URL describing a package.
222214
packageURL :: PackageIdentifier -> XHtml.URL

src/Distribution/Server/Features/PackageFeed.hs

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Distribution.Server.Packages.ChangeLog
1010
import Distribution.Server.Packages.Types
1111
import qualified Distribution.Server.Users.Users as Users
1212
import Distribution.Server.Users.Users (Users)
13+
import Distribution.Server.Util.Parse (unpackUTF8)
1314
import Distribution.Server.Util.ServeTarball (loadTarEntry)
1415
import Distribution.Server.Util.Markdown (renderMarkdown, supposedToBeMarkdown)
1516
import Distribution.Server.Pages.Package () -- for ShortText html instance, for now.
@@ -19,13 +20,9 @@ import Distribution.PackageDescription
1920
import Distribution.Text
2021
import Distribution.Utils.ShortText (fromShortText)
2122

22-
import qualified Data.ByteString.Lazy as BS (ByteString, toStrict)
2323
import Data.List (sortOn)
2424
import Data.Maybe (listToMaybe)
2525
import Data.Ord (Down(..))
26-
import qualified Data.Text as T
27-
import qualified Data.Text.Encoding as T
28-
import qualified Data.Text.Encoding.Error as T
2926
import Data.Time.Clock (UTCTime, getCurrentTime)
3027
import Data.Time.Format
3128
import Network.URI( URI(..), uriToString )
@@ -96,7 +93,7 @@ packageFeedFeature ServerEnv{..}
9693
Right (_, content) ->
9794
if supposedToBeMarkdown filename
9895
then return (pkg, renderMarkdown filename content)
99-
else return (pkg, XHtml.pre << unpackUtf8 content)
96+
else return (pkg, XHtml.pre << unpackUTF8 content)
10097

10198
renderPackageFeed :: Users -> URI -> UTCTime -> PackageName -> [(PkgInfo, XHtml.Html)] -> RSS
10299
renderPackageFeed users hostURI now name pkgs = RSS title uri desc (channel updated) items
@@ -139,9 +136,3 @@ feedItems users hostURI (pkgInfo, chlog) =
139136
uploader = display $ Users.userIdToName users uploaderId
140137
pd = packageDescription (pkgDesc pkgInfo)
141138
d dt dd = XHtml.dterm (XHtml.toHtml dt) +++ XHtml.ddef (XHtml.toHtml dd)
142-
143-
144-
unpackUtf8 :: BS.ByteString -> String
145-
unpackUtf8 = T.unpack
146-
. T.decodeUtf8With T.lenientDecode
147-
. BS.toStrict

src/Distribution/Server/Pages/PackageFromTemplate.hs

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import Distribution.Server.Packages.Types
2020
import Distribution.Server.Features.PackageCandidates
2121
import Distribution.Server.Users.Types (UserInfo, userStatus, userName, isActiveAccount)
2222
import Distribution.Server.Util.Markdown (renderMarkdown, supposedToBeMarkdown)
23+
import Distribution.Server.Util.Parse (unpackUTF8)
2324
import Data.TarIndex (TarIndex)
2425
import Distribution.Server.Features.Distro.Types
2526

@@ -37,10 +38,7 @@ import Data.List (intercalate, intersperse)
3738
import System.FilePath.Posix ((</>), takeFileName, dropTrailingPathSeparator)
3839
import Data.Time.Format (defaultTimeLocale, formatTime)
3940

40-
import qualified Data.Text as T
41-
import qualified Data.Text.Encoding as T
42-
import qualified Data.Text.Encoding.Error as T
43-
import qualified Data.ByteString.Lazy as BS (ByteString, toStrict)
41+
import qualified Data.ByteString.Lazy as BS (ByteString)
4442

4543
import qualified Distribution.Server.Pages.Package as Old
4644
import Data.Time.Clock (UTCTime)
@@ -500,15 +498,10 @@ readmeSection PackageRender { rendReadme = Just (_, _etag, _, filename), rendPkg
500498
[ thediv ! [theclass "embedded-author-content"]
501499
<< if supposedToBeMarkdown filename
502500
then renderMarkdown (display pkgid) content
503-
else pre << unpackUtf8 content
501+
else pre << unpackUTF8 content
504502
]
505503
readmeSection _ _ = []
506504

507-
508-
unpackUtf8 :: BS.ByteString -> String
509-
unpackUtf8 = T.unpack
510-
. T.decodeUtf8With T.lenientDecode
511-
. BS.toStrict
512505
-----------------------------------------------------------------------------
513506
commaList :: [Html] -> Html
514507
commaList = concatHtml . intersperse (toHtml ", ")

0 commit comments

Comments
 (0)