This commit is contained in:
Michael Snoyman 2015-05-13 14:55:30 +03:00
parent d77b87b6c2
commit 4564385c73
3 changed files with 38 additions and 10 deletions

View File

@ -50,11 +50,18 @@ packagePage mversion pname = do
deps' <- getDeps pname' deps' <- getDeps pname'
revdeps' <- getRevDeps pname' revdeps' <- getRevDeps pname'
Entity _ package <- getPackage pname' >>= maybe notFound return Entity _ package <- getPackage pname' >>= maybe notFound return
let mdocs :: Maybe (SnapName, Text, [Text])
mdocs = Nothing mdocs <-
{- case mversion of
mdocs <- error "mdocs" Just (sname, version) -> do
-} ms <- getPackageModules sname pname'
return $ Just (sname, toPathPiece version, ms)
Nothing ->
case latests of
li:_ -> do
ms <- getPackageModules (liSnapName li) pname'
return $ Just (liSnapName li, liVersion li, ms)
[] -> return Nothing
let ixInFavourOf = zip [0::Int ..] inFavourOf let ixInFavourOf = zip [0::Int ..] inFavourOf
displayedVersion = maybe (packageLatest package) (toPathPiece . snd) mversion displayedVersion = maybe (packageLatest package) (toPathPiece . snd) mversion

View File

@ -14,6 +14,7 @@ module Stackage.Database
, openStackageDatabase , openStackageDatabase
, ModuleListingInfo (..) , ModuleListingInfo (..)
, getSnapshotModules , getSnapshotModules
, getPackageModules
, SnapshotPackage (..) , SnapshotPackage (..)
, lookupSnapshotPackage , lookupSnapshotPackage
, getDeprecated , getDeprecated
@ -218,10 +219,10 @@ addPackage e =
, packageSynopsis = piSynopsis pi , packageSynopsis = piSynopsis pi
, packageDescription = renderContent (piDescription pi) (piDescriptionType pi) , packageDescription = renderContent (piDescription pi) (piDescriptionType pi)
, packageChangelog = renderContent (piChangeLog pi) (piChangeLogType pi) , packageChangelog = renderContent (piChangeLog pi) (piChangeLogType pi)
, packageAuthor = "FIXME author" , packageAuthor = piAuthor pi
, packageMaintainer = "FIXME maintainer" , packageMaintainer = piMaintainer pi
, packageHomepage = "FIXME homepage" , packageHomepage = piHomepage pi
, packageLicenseName = "FIXME license name" , packageLicenseName = piLicenseName pi
} }
forM_ (mapToList $ piBasicDeps pi) $ \(uses, range) -> insert_ Dep forM_ (mapToList $ piBasicDeps pi) $ \(uses, range) -> insert_ Dep
{ depUser = pid { depUser = pid
@ -390,6 +391,26 @@ getSnapshotModules sid = liftM (map toMLI) $ run $ do
, mliPackageVersion = concat [pkg, "-", version] , mliPackageVersion = concat [pkg, "-", version]
} }
getPackageModules
:: GetStackageDatabase m
=> SnapName
-> Text
-> m [Text]
getPackageModules sname pname = run $ do
sids <- selectKeysList [SnapshotName ==. sname] []
pids <- selectKeysList [PackageName ==. pname] []
case (,) <$> listToMaybe sids <*> listToMaybe pids of
Nothing -> return []
Just (sid, pid) -> do
spids <- selectKeysList
[ SnapshotPackageSnapshot ==. sid
, SnapshotPackagePackage ==. pid
] []
case spids of
spid:_ -> map (moduleName . entityVal)
<$> selectList [ModulePackage ==. spid] [Asc ModuleName]
[] -> return []
lookupSnapshotPackage lookupSnapshotPackage
:: GetStackageDatabase m :: GetStackageDatabase m
=> SnapshotId => SnapshotId

View File

@ -168,7 +168,7 @@ library
, classy-prelude-conduit , classy-prelude-conduit
, path-pieces , path-pieces
, persistent-sqlite , persistent-sqlite
, stackage-metadata , stackage-metadata >= 0.2
, filepath , filepath
executable stackage-server executable stackage-server