flashblast-0.0.4.0: src/FlashBlast/YouTubeDL.hs
{-# LANGUAGE TemplateHaskell #-}
module FlashBlast.YouTubeDL where
import Polysemy
import RIO
import Path
import qualified Turtle as S
import Path.Utils
data YouTubeDL m a where
YouTubeDL' :: Text -> Path Rel File -> Text -> YouTubeDL m ()
makeSem ''YouTubeDL
interpretYouTubeDL :: Member (Embed IO) effs => Sem (YouTubeDL ': effs) a -> Sem effs a
interpretYouTubeDL = interpret \case
YouTubeDL' x k f -> S.sh $ S.inproc "youtube-dl" [x, "-o", toFilePathText k, "-f", f] mempty