avoid warning when youtube-dl is not installed

If a user does not have it installed, don't warn on every imported item
about it.
This commit is contained in:
Joey Hess 2017-11-30 13:39:20 -04:00
parent a7b4358c05
commit 8a0038ec23
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
3 changed files with 13 additions and 15 deletions

View file

@ -80,9 +80,12 @@ youtubeDlTo key url dest = do
return False
Right r -> return r
youtubeDlSupported :: URLString -> Annex Bool
youtubeDlSupported url = either (const False) id <$> youtubeDlCheck url
-- Check if youtube-dl can still find media in an url.
youtubeDlSupported :: URLString -> Annex (Either String Bool)
youtubeDlSupported url = catchMsgIO $ do
youtubeDlCheck :: URLString -> Annex (Either String Bool)
youtubeDlCheck url = catchMsgIO $ do
opts <- map Param . annexYoutubeDlOptions <$> Annex.getGitConfig
let opts' = opts ++ [ Param url, Param "--simulate" ]
liftIO $ snd <$> processTranscript "youtube-dl" (toCommand opts') Nothing

View file

@ -286,18 +286,13 @@ performDownload opts cache todownload = case location todownload of
return False
Right b -> return b
addmediafast linkurl mediaurl mediakey =
youtubeDlSupported linkurl >>= \case
Right True ->
rundownload linkurl ".m" $ \f -> do
addmediafast linkurl mediaurl mediakey = ifM (youtubeDlSupported linkurl)
( rundownload linkurl ".m" $ \f -> do
addWorkTree webUUID mediaurl f mediakey Nothing
return [mediakey]
Right False ->
performDownload opts cache todownload
, performDownload opts cache todownload
{ location = Enclosure linkurl }
Left msg -> do
warning msg
return False
)
defaultTemplate :: String
defaultTemplate = "${feedtitle}/${itemtitle}${extension}"

View file

@ -106,7 +106,7 @@ checkKey' key us = firsthit us (Right False) $ \u -> do
let (u', downloader) = getDownloader u
showChecking u'
case downloader of
YoutubeDownloader -> youtubeDlSupported u'
YoutubeDownloader -> youtubeDlCheck u'
_ -> do
Url.withUrlOptions $ catchMsgIO .
Url.checkBoth u' (keySize key)