diff options
author | 2013-12-29 15:52:20 -0400 | |
---|---|---|
committer | 2013-12-29 15:52:20 -0400 | |
commit | cbd86a2f2c9c666f718fbd72901f7216acf6557f (patch) | |
tree | 57724f6a985cd4ca9b3aac971ba91b282c2c1fb6 /Command/AddUrl.hs | |
parent | ceeff9ec03a1674ac7d5389ecafb3a2a5b3a4993 (diff) |
importfeed: Support youtube playlists.
Diffstat (limited to 'Command/AddUrl.hs')
-rw-r--r-- | Command/AddUrl.hs | 33 |
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 |