diff --git a/Main.hs b/Main.hs index 270dcff..072aa4d 100644 --- a/Main.hs +++ b/Main.hs @@ -7,8 +7,13 @@ import Database import Data.List import System.Environment (getArgs) import qualified Data.Text.IO as TIO (putStrLn) +import qualified Control.Monad as M main = do - term <- getArgs - result <- search $ intercalate " " term - mapM_ addSingle result + args <- getArgs + let mode = head args + let searchTerm = intercalate " " $ tail args + case mode of + "single" -> M.join (addSingle <$> firstResult searchTerm) >> return () + "all" -> M.join (mapM_ addSingle <$> search searchTerm) >> return () + _ -> error "unknown mode" diff --git a/Utils.hs b/Utils.hs index 13fcb47..f5b4008 100644 --- a/Utils.hs +++ b/Utils.hs @@ -16,7 +16,6 @@ isSep = choice [string "by", repeated "-", repeated "|"] - isTrack = do artist <- manyTill anyChar isSep title <- many1 anyChar