summaryrefslogtreecommitdiff
path: root/Command/AddUrl.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Command/AddUrl.hs')
-rw-r--r--Command/AddUrl.hs33
1 files changed, 19 insertions, 14 deletions
diff --git a/Command/AddUrl.hs b/Command/AddUrl.hs
index 27ca72d1a..28f6ff741 100644
--- a/Command/AddUrl.hs
+++ b/Command/AddUrl.hs
@@ -98,20 +98,25 @@ performQuvi relaxed pageurl videourl file = ifAnnexed file addurl geturl
where
quviurl = setDownloader pageurl QuviDownloader
addurl (key, _backend) = next $ cleanup quviurl file key Nothing
- geturl = do
- key <- Backend.URL.fromUrl quviurl Nothing
- ifM (pure relaxed <||> Annex.getState Annex.fast)
- ( next $ cleanup quviurl file key Nothing
- , do
- tmp <- fromRepo $ gitAnnexTmpLocation key
- showOutput
- ok <- Transfer.download webUUID key (Just file) Transfer.forwardRetry $ const $ do
- liftIO $ createDirectoryIfMissing True (parentDir tmp)
- downloadUrl [videourl] tmp
- if ok
- then next $ cleanup quviurl file key (Just tmp)
- else stop
- )
+ geturl = next $ addUrlFileQuvi relaxed quviurl videourl file
+#endif
+
+#ifdef WITH_QUVI
+addUrlFileQuvi :: Bool -> URLString -> URLString -> FilePath -> Annex Bool
+addUrlFileQuvi relaxed quviurl videourl file = do
+ key <- Backend.URL.fromUrl quviurl Nothing
+ ifM (pure relaxed <||> Annex.getState Annex.fast)
+ ( cleanup quviurl file key Nothing
+ , do
+ tmp <- fromRepo $ gitAnnexTmpLocation key
+ showOutput
+ ok <- Transfer.download webUUID key (Just file) Transfer.forwardRetry $ const $ do
+ liftIO $ createDirectoryIfMissing True (parentDir tmp)
+ downloadUrl [videourl] tmp
+ if ok
+ then cleanup quviurl file key (Just tmp)
+ else return False
+ )
#endif
perform :: Bool -> URLString -> FilePath -> CommandPerform