Add verbosity flags

This commit is contained in:
Juan Pedro Villa Isaza 2016-09-24 11:45:03 -05:00
parent 72f3659db1
commit 3c75a4966a
2 changed files with 13 additions and 8 deletions

View File

@ -64,6 +64,7 @@ liArgs s =
} }
&= program s &= program s
&= summary (unwords ["licensor", Version.showVersion version]) &= summary (unwords ["licensor", Version.showVersion version])
&= verbosity
-- | -- |
@ -74,6 +75,8 @@ main :: IO ()
main = do main = do
LiArgs <- cmdArgsRun . liArgs =<< getProgName LiArgs <- cmdArgsRun . liArgs =<< getProgName
quiet <- fmap not isNormal
maybePackage <- getPackage maybePackage <- getPackage
pid <- pid <-
@ -105,7 +108,7 @@ main = do
Just dependencies -> do Just dependencies -> do
(dependenciesByLicense', failed) <- (dependenciesByLicense', failed) <-
orderPackagesByLicense pid dependencies orderPackagesByLicense quiet pid dependencies
let dependenciesByLicense = fmap (Set.map display) dependenciesByLicense' let dependenciesByLicense = fmap (Set.map display) dependenciesByLicense'

View File

@ -24,6 +24,7 @@ module Licensor
-- base -- base
import qualified Control.Exception as Exception import qualified Control.Exception as Exception
import Control.Monad (unless)
import Data.Monoid ((<>)) import Data.Monoid ((<>))
import Data.Version (Version) import Data.Version (Version)
import System.IO import System.IO
@ -130,9 +131,9 @@ getDependencies = do
-- --
-- --
getPackageLicense :: PackageIdentifier -> IO (Maybe LiLicense) getPackageLicense :: Bool -> PackageIdentifier -> IO (Maybe LiLicense)
getPackageLicense p@PackageIdentifier{..} = do getPackageLicense quiet p@PackageIdentifier{..} = do
putStr $ display p ++ "..." unless quiet (putStr $ display p ++ "...")
let let
url = url =
"GET https://hackage.haskell.org/package/" "GET https://hackage.haskell.org/package/"
@ -157,7 +158,7 @@ getPackageLicense p@PackageIdentifier{..} = do
hClose handle hClose handle
removeFile file removeFile file
putStrLn $ display license unless quiet (putStrLn $ display license)
return $ Just (LiLicense license) return $ Just (LiLicense license)
@ -167,16 +168,17 @@ getPackageLicense p@PackageIdentifier{..} = do
-- --
orderPackagesByLicense orderPackagesByLicense
:: Maybe PackageIdentifier :: Bool
-> Maybe PackageIdentifier
-> Set PackageIdentifier -> Set PackageIdentifier
-> IO (Map LiLicense (Set PackageIdentifier), Set PackageIdentifier) -> IO (Map LiLicense (Set PackageIdentifier), Set PackageIdentifier)
orderPackagesByLicense maybeP = orderPackagesByLicense quiet maybeP =
let let
cond = cond =
maybe (const False) (==) maybeP maybe (const False) (==) maybeP
insertPackage package orderedPackages' = do insertPackage package orderedPackages' = do
maybeLicense <- getPackageLicense package maybeLicense <- getPackageLicense quiet package
(orderedPackages, failed) <- orderedPackages' (orderedPackages, failed) <- orderedPackages'
return $ return $