summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Annex/YoutubeDl.hs13
-rw-r--r--CHANGELOG2
2 files changed, 13 insertions, 2 deletions
diff --git a/Annex/YoutubeDl.hs b/Annex/YoutubeDl.hs
index 43e63dfd6..95b6bf762 100644
--- a/Annex/YoutubeDl.hs
+++ b/Annex/YoutubeDl.hs
@@ -24,6 +24,7 @@ import Utility.HtmlDetect
import Logs.Transfer
import Network.URI
+import Control.Concurrent.Async
-- Runs youtube-dl in a work directory, to download a single media file
-- from the url. Reutrns the path to the media file in the work directory.
@@ -168,8 +169,16 @@ youtubeDlFileName' url
, Param "--get-filename"
, Param "--no-warnings"
]
- (output, ok) <- liftIO $ processTranscript "youtube-dl"
- (toCommand opts) Nothing
+ (Nothing, Just o, Just e, pid) <- liftIO $ createProcess
+ (proc "youtube-dl" (toCommand opts))
+ { std_out = CreatePipe
+ , std_err = CreatePipe
+ }
+ output <- liftIO $ fmap fst $
+ hGetContentsStrict o
+ `concurrently`
+ hGetContentsStrict e
+ ok <- liftIO $ checkSuccessProcess pid
return $ case (ok, lines output) of
(True, (f:_)) | not (null f) -> Right f
_ -> nomedia
diff --git a/CHANGELOG b/CHANGELOG
index 34b91d00f..97c94d9a3 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -8,6 +8,8 @@ git-annex (6.20171215) UNRELEASED; urgency=medium
* addurl: When the file youtube-dl will download is already an annexed
file, don't download it again and fail to overwrite it, instead just do
nothing, like it used to when quvi was used.
+ * addurl: Fix encoding of filename queried from youtube-dl when in
+ --fast mode.
-- Joey Hess <id@joeyh.name> Wed, 20 Dec 2017 12:11:46 -0400