on master help sign in
Even better filterForbidden
commit7849ced880373b451d182a11808e2660c1a600d6 authorMichael Snoyman <michael@snoyman.com> dateSun 7 Jul 2013, 22:32 (13 years ago) parentc02e3ff
1 file changed+10−6
Stackage/Uploads.hs+10−6
Stackage/Uploads.hs+10−6
@@ -15,6 +15,7 @@ import Data.Monoid (Monoid (..))
1515import Data.Set (Set)
1616import qualified Data.Set as Set
1717import Data.Time (UTCTime, parseTime)
18+import Distribution.Text (display)
1819import Network.HTTP (getRequest, getResponseBody, simpleHTTP)
1920import qualified Stackage.Types as ST
2021import System.Directory (doesFileExist)
@@ -159,10 +160,13 @@ filterForbidden :: ST.BuildPlan
159160 -> Forbidden
160161 -> Forbidden
161162filterForbidden bp =
162− MonoidMap . Map.filterWithKey isIncluded . unMonoidMap
163+ MonoidMap . Map.mapMaybeWithKey isIncluded . unMonoidMap
163164 where
164− isIncluded pn _ = ST.PackageName pn `Set.member` allPackages
165− allPackages =
166− Map.keysSet (ST.bpPackages bp) `Set.union`
167− ST.bpCore bp `Set.union`
168− Map.keysSet (ST.bpOptionalCore bp)
165+ isIncluded :: PackageName
166+ -> PackageHistory
167+ -> Maybe PackageHistory
168+ isIncluded pn ph = do
169+ spi <- Map.lookup (ST.PackageName pn) $ ST.bpPackages bp
170+ let version = display $ ST.spiVersion spi
171+ tuple <- Map.lookup version ph
172+ Just $ Map.singleton version tuple