@@ -34,7 +34,6 @@ checkUploads allowedFP newAllowedFP = do
34 _ <- evaluate $ msize forbidden
34 _ <- evaluate $ msize forbidden
36 unless (Map.null $ unMonoidMap allowed') $ do
36 unless (Map.null $ unMonoidMap allowed') $ do
37− let fp = "new-allowed.txt"
38 putStrLn $ "Newly uploaded packages detected, writing to " ++ newAllowedFP
37 putStrLn $ "Newly uploaded packages detected, writing to " ++ newAllowedFP
39 writeAllowed newAllowedFP allowed'
38 writeAllowed newAllowedFP allowed'
@@ -47,9 +46,16 @@ instance (Ord k, Monoid v) => Monoid (MonoidMap k v) where
47 MonoidMap x `mappend` MonoidMap y = MonoidMap $ Map.unionWith mappend x y
46 MonoidMap x `mappend` MonoidMap y = MonoidMap $ Map.unionWith mappend x y
49-- And some helper functions.
48-- And some helper functions.
49+mlookup :: Ord k => k -> MonoidMap k v -> Maybe v
50mlookup k = Map.lookup k . unMonoidMap
50mlookup k = Map.lookup k . unMonoidMap
52+msingleton :: k -> v -> MonoidMap k v
51msingleton k = MonoidMap . Map.singleton k
53msingleton k = MonoidMap . Map.singleton k
55+mkeys :: MonoidMap k v -> [k]
52mkeys = Map.keys . unMonoidMap
56mkeys = Map.keys . unMonoidMap
58+msize :: MonoidMap k v -> Int
53msize = Map.size . unMonoidMap
59msize = Map.size . unMonoidMap
55type Version = String
61type Version = String
@@ -106,7 +112,7 @@ updateAllowed uploads allowed =
107 case (mlookup pkg uploads, mlookup pkg allowed) of
113 case (mlookup pkg uploads, mlookup pkg allowed) of
108 (Nothing, Nothing) -> assert False (mempty, mempty)
114 (Nothing, Nothing) -> assert False (mempty, mempty)
109− (Nothing, Just a) -> (mempty, mempty)
115+ (Nothing, Just _) -> (mempty, mempty)
110 (Just u, Nothing) -> (msingleton pkg $ getAllUsers u, mempty)
116 (Just u, Nothing) -> (msingleton pkg $ getAllUsers u, mempty)
111 (Just u, Just a) ->
117 (Just u, Just a) ->
112 let fval = mconcat $ map (check a) $ Map.toList u
118 let fval = mconcat $ map (check a) $ Map.toList u
@@ -119,8 +125,8 @@ updateAllowed uploads allowed =
119 getAllUsers = Set.fromList . map fst . Map.elems
125 getAllUsers = Set.fromList . map fst . Map.elems
121 check :: Set UserName -> (Version, (UserName, UTCTime)) -> Map Version (UserName, UTCTime)
127 check :: Set UserName -> (Version, (UserName, UTCTime)) -> Map Version (UserName, UTCTime)
122− check allowed (ver, (user, time))
128+ check allowed' (ver, (user, time))
123− | user `Set.member` allowed = Map.empty
129+ | user `Set.member` allowed' = Map.empty
124 | otherwise = Map.singleton ver (user, time)
130 | otherwise = Map.singleton ver (user, time)
126writeAllowed :: FilePath -> Allowed -> IO ()
132writeAllowed :: FilePath -> Allowed -> IO ()