percentage library

This commit is contained in:
Joey Hess 2012-04-29 17:48:07 -04:00
parent d2bfba6324
commit 0c9c14b52f
2 changed files with 40 additions and 6 deletions

View file

@ -12,7 +12,6 @@ module Command.Status where
import Control.Monad.State.Strict
import qualified Data.Map as M
import Text.JSON
import Data.Ratio
import Common.Annex
import qualified Types.Backend as B
@ -31,6 +30,7 @@ import Logs.UUID
import Logs.Trust
import Remote
import Config
import Utility.Percentage
-- a named computation that produces a statistic
type Stat = StatState (Maybe (String, StatState String))
@ -161,7 +161,7 @@ bloom_info = stat "bloom filter size" $ json id $ do
let note = aside $
if localkeys >= capacity
then "appears too small for this repository; adjust annex.bloomcapacity"
else show (floor (percentage capacity localkeys) :: Integer) ++ "% full"
else showPercentage 1 (percentage capacity localkeys) ++ " full"
-- Two bloom filters are used at the same time, so double the size
-- of one.
@ -170,10 +170,6 @@ bloom_info = stat "bloom filter size" $ json id $ do
return $ size ++ note
where
percentage :: Integer -> Integer -> Double
percentage full have = 100 * (fromRational $ have % full)
disk_size :: Stat
disk_size = stat "available local disk space" $ json id $ lift $
calcfree