Add verbosity flags
This commit is contained in:
parent
72f3659db1
commit
3c75a4966a
5
Main.hs
5
Main.hs
@ -64,6 +64,7 @@ liArgs s =
|
||||
}
|
||||
&= program s
|
||||
&= summary (unwords ["licensor", Version.showVersion version])
|
||||
&= verbosity
|
||||
|
||||
|
||||
-- |
|
||||
@ -74,6 +75,8 @@ main :: IO ()
|
||||
main = do
|
||||
LiArgs <- cmdArgsRun . liArgs =<< getProgName
|
||||
|
||||
quiet <- fmap not isNormal
|
||||
|
||||
maybePackage <- getPackage
|
||||
|
||||
pid <-
|
||||
@ -105,7 +108,7 @@ main = do
|
||||
|
||||
Just dependencies -> do
|
||||
(dependenciesByLicense', failed) <-
|
||||
orderPackagesByLicense pid dependencies
|
||||
orderPackagesByLicense quiet pid dependencies
|
||||
|
||||
let dependenciesByLicense = fmap (Set.map display) dependenciesByLicense'
|
||||
|
||||
|
||||
@ -24,6 +24,7 @@ module Licensor
|
||||
|
||||
-- base
|
||||
import qualified Control.Exception as Exception
|
||||
import Control.Monad (unless)
|
||||
import Data.Monoid ((<>))
|
||||
import Data.Version (Version)
|
||||
import System.IO
|
||||
@ -130,9 +131,9 @@ getDependencies = do
|
||||
--
|
||||
--
|
||||
|
||||
getPackageLicense :: PackageIdentifier -> IO (Maybe LiLicense)
|
||||
getPackageLicense p@PackageIdentifier{..} = do
|
||||
putStr $ display p ++ "..."
|
||||
getPackageLicense :: Bool -> PackageIdentifier -> IO (Maybe LiLicense)
|
||||
getPackageLicense quiet p@PackageIdentifier{..} = do
|
||||
unless quiet (putStr $ display p ++ "...")
|
||||
let
|
||||
url =
|
||||
"GET https://hackage.haskell.org/package/"
|
||||
@ -157,7 +158,7 @@ getPackageLicense p@PackageIdentifier{..} = do
|
||||
hClose handle
|
||||
removeFile file
|
||||
|
||||
putStrLn $ display license
|
||||
unless quiet (putStrLn $ display license)
|
||||
|
||||
return $ Just (LiLicense license)
|
||||
|
||||
@ -167,16 +168,17 @@ getPackageLicense p@PackageIdentifier{..} = do
|
||||
--
|
||||
|
||||
orderPackagesByLicense
|
||||
:: Maybe PackageIdentifier
|
||||
:: Bool
|
||||
-> Maybe PackageIdentifier
|
||||
-> Set PackageIdentifier
|
||||
-> IO (Map LiLicense (Set PackageIdentifier), Set PackageIdentifier)
|
||||
orderPackagesByLicense maybeP =
|
||||
orderPackagesByLicense quiet maybeP =
|
||||
let
|
||||
cond =
|
||||
maybe (const False) (==) maybeP
|
||||
|
||||
insertPackage package orderedPackages' = do
|
||||
maybeLicense <- getPackageLicense package
|
||||
maybeLicense <- getPackageLicense quiet package
|
||||
|
||||
(orderedPackages, failed) <- orderedPackages'
|
||||
return $
|
||||
|
||||
Loading…
Reference in New Issue
Block a user