fbrnch-1.0.0: src/Cmd/Repoquery.hs
module Cmd.Repoquery
(repoqueryCmd)
where
import Branches
import Common.System
import Package
import qualified Data.List as L
repoqueryCmd :: (BranchesReq, [String]) -> IO ()
repoqueryCmd (breq, pkgs) = do
query <- if null pkgs
then pure <$> getDirectoryName
else return pkgs
brs <- listOfBranches True False breq
sysbr <- systemBranch
mapM_ (repoquery_ sysbr query) brs
where
repoquery_ :: Branch -> [String] -> Branch -> IO ()
repoquery_ sysbr query br = do
let qf = ["--queryformat=%{repoid}: %{name}-%{version}-%{release}.%{arch}"
| not (any ("--qf" `L.isPrefixOf`) query)]
repoquery sysbr br (qf ++ query) >>= putStrLn