let url claims optionally include a suggested filename

This commit is contained in:
Joey Hess 2014-12-11 12:47:57 -04:00
parent 7c9149a44f
commit 85df9c30e9
11 changed files with 67 additions and 26 deletions

View file

@ -12,6 +12,7 @@ import qualified Annex
import Common.Annex
import Types.Remote
import Types.CleanupActions
import Types.URLClaim
import qualified Git
import Config
import Remote.Helper.Special
@ -421,12 +422,13 @@ getAvailability external r gc = maybe query return (remoteAnnexAvailability gc)
setRemoteAvailability r avail
return avail
claimurl :: External -> URLString -> Annex Bool
claimurl :: External -> URLString -> Annex (Maybe URLClaim)
claimurl external url =
handleRequest external (CLAIMURL url) Nothing $ \req -> case req of
CLAIMURL_SUCCESS -> Just $ return True
CLAIMURL_FAILURE -> Just $ return False
UNSUPPORTED_REQUEST -> Just $ return False
CLAIMURL_SUCCESS -> Just $ return $ Just URLClaimed
(CLAIMURL_AS f) -> Just $ return $ Just $ URLClaimedAs f
CLAIMURL_FAILURE -> Just $ return Nothing
UNSUPPORTED_REQUEST -> Just $ return Nothing
_ -> Nothing
checkurl :: External -> URLString -> Annex (Maybe Integer)

View file

@ -136,6 +136,7 @@ data Response
| INITREMOTE_SUCCESS
| INITREMOTE_FAILURE ErrorMsg
| CLAIMURL_SUCCESS
| CLAIMURL_AS FilePath
| CLAIMURL_FAILURE
| CHECKURL_SIZE Size
| CHECKURL_SIZEUNKNOWN
@ -158,6 +159,7 @@ instance Proto.Receivable Response where
parseCommand "INITREMOTE-SUCCESS" = Proto.parse0 INITREMOTE_SUCCESS
parseCommand "INITREMOTE-FAILURE" = Proto.parse1 INITREMOTE_FAILURE
parseCommand "CLAIMURL-SUCCESS" = Proto.parse0 CLAIMURL_SUCCESS
parseCommand "CLAIMURL-AS" = Proto.parse1 CLAIMURL_AS
parseCommand "CLAIMURL-FAILURE" = Proto.parse0 CLAIMURL_FAILURE
parseCommand "CHECKURL-SIZE" = Proto.parse1 CHECKURL_SIZE
parseCommand "CHECKURL-SIZEUNKNOWN" = Proto.parse0 CHECKURL_SIZEUNKNOWN