codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
data AppOperation = NoOperation | QueryOperation | SyncOperation data AppState = AppState{ dbpath :: String, operation :: AppOperation } argsselect' (state,pkgs) ('S':s) = (state {operation=SyncOperation} , pkgs ) argsselect' (state,pkgs) ('Q':s) = (state {operation=QueryOperation} , pkgs ) argsselect (state,pkgs) ('-':s) = argsselect' (state,pkgs ) s argsselect (state,pkgs) s = (state,pkgs++[s] ) main :: IO () main = do args <- getArgs let (state,pkgs) = foldl argsselect (AppState {dbpath="/var/lib/pacman/",operation=NoOperation},[]) args case (operation state) of SyncOperation -> getDirectoryContents' ((dbpath state)++"sync/") >>= mapM_ (\x -> listPkg state ("sync/"++x) >>= mapM_ printPkg) QueryOperation -> listPkg state "local/" >>= mapM_ printPkg _ -> putStrLn $ "Usage: m <operation> [...] \n\t-S sync [packages]\n\t-Q query [packages]"
Private
[
?
]
Run code