importfeed: Avoid using youtube-dl when a feed does not contain an enclosure, but only a link to an url which youtube-dl does not support
This is common in some feeds, which might mix some items with enclosures, with others that link to posts or whatever. Before this, it would try to use youtube-dl and fail, or if youtube-dl was not allowed, it would incorrectly complain that an url was supported by youtube-dl.
This commit is contained in:
parent
16315b7812
commit
ed68a2166d
2 changed files with 26 additions and 21 deletions
|
@ -20,6 +20,8 @@ git-annex (8.20201128) UNRELEASED; urgency=medium
|
||||||
* Fix reversion in 8.20201116 that made include= and exclude= in
|
* Fix reversion in 8.20201116 that made include= and exclude= in
|
||||||
preferred/required content expressions match a path relative to the
|
preferred/required content expressions match a path relative to the
|
||||||
current directory, rather than the path from the top of the repository.
|
current directory, rather than the path from the top of the repository.
|
||||||
|
* importfeed: Avoid using youtube-dl when a feed does not contain an
|
||||||
|
enclosure, but only a link to an url which youtube-dl does not support.
|
||||||
|
|
||||||
-- Joey Hess <id@joeyh.name> Mon, 30 Nov 2020 12:55:49 -0400
|
-- Joey Hess <id@joeyh.name> Mon, 30 Nov 2020 12:55:49 -0400
|
||||||
|
|
||||||
|
|
|
@ -308,7 +308,8 @@ performDownload addunlockedmatcher opts cache todownload = case location todownl
|
||||||
|
|
||||||
downloadmedia linkurl mediaurl mediakey
|
downloadmedia linkurl mediaurl mediakey
|
||||||
| rawOption (downloadOptions opts) = downloadlink
|
| rawOption (downloadOptions opts) = downloadlink
|
||||||
| otherwise = do
|
| otherwise = ifM (youtubeDlSupported linkurl)
|
||||||
|
( do
|
||||||
r <- withTmpWorkDir mediakey $ \workdir -> do
|
r <- withTmpWorkDir mediakey $ \workdir -> do
|
||||||
dl <- youtubeDl linkurl (fromRawFilePath workdir) nullMeterUpdate
|
dl <- youtubeDl linkurl (fromRawFilePath workdir) nullMeterUpdate
|
||||||
case dl of
|
case dl of
|
||||||
|
@ -321,14 +322,16 @@ performDownload addunlockedmatcher opts cache todownload = case location todownl
|
||||||
addWorkTree canadd addunlockedmatcher webUUID mediaurl f mediakey (Just (toRawFilePath mediafile))
|
addWorkTree canadd addunlockedmatcher webUUID mediaurl f mediakey (Just (toRawFilePath mediafile))
|
||||||
return (Just [mediakey])
|
return (Just [mediakey])
|
||||||
return (Just ok)
|
return (Just ok)
|
||||||
-- youtude-dl didn't support it, so
|
-- youtube-dl didn't support it, so
|
||||||
-- download it as if the link were
|
-- download it as if the link were
|
||||||
-- an enclosure.
|
-- an enclosure.
|
||||||
Right Nothing -> Just <$> downloadlink
|
Right Nothing -> Just <$> downloadlink
|
||||||
Left msg -> do
|
Left msg -> do
|
||||||
warning msg
|
warning $ linkurl ++ ": " ++ msg
|
||||||
return Nothing
|
return Nothing
|
||||||
return (fromMaybe False r)
|
return (fromMaybe False r)
|
||||||
|
, downloadlink
|
||||||
|
)
|
||||||
where
|
where
|
||||||
downloadlink = performDownload addunlockedmatcher opts cache todownload
|
downloadlink = performDownload addunlockedmatcher opts cache todownload
|
||||||
{ location = Enclosure linkurl }
|
{ location = Enclosure linkurl }
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue