addurl: Refuse to overwrite any existing, non-annexed file.
This commit is contained in:
parent
b52cf5697b
commit
1d1cb16fe0
3 changed files with 14 additions and 0 deletions
|
@ -259,6 +259,7 @@ performQuvi relaxed pageurl videourl file = ifAnnexed file addurl geturl
|
|||
#ifdef WITH_QUVI
|
||||
addUrlFileQuvi :: Bool -> URLString -> URLString -> FilePath -> Annex (Maybe Key)
|
||||
addUrlFileQuvi relaxed quviurl videourl file = do
|
||||
checkDoesNotExist file
|
||||
let key = Backend.URL.fromUrl quviurl Nothing
|
||||
ifM (pure relaxed <||> Annex.getState Annex.fast)
|
||||
( do
|
||||
|
@ -309,12 +310,19 @@ addUrlChecked relaxed url u checkexistssize key
|
|||
|
||||
addUrlFile :: Bool -> URLString -> Url.UrlInfo -> FilePath -> Annex (Maybe Key)
|
||||
addUrlFile relaxed url urlinfo file = do
|
||||
checkDoesNotExist file
|
||||
liftIO $ createDirectoryIfMissing True (parentDir file)
|
||||
ifM (Annex.getState Annex.fast <||> pure relaxed)
|
||||
( nodownload url urlinfo file
|
||||
, downloadWeb url urlinfo file
|
||||
)
|
||||
|
||||
checkDoesNotExist :: FilePath -> Annex ()
|
||||
checkDoesNotExist file = go =<< liftIO (catchMaybeIO $ getSymbolicLinkStatus file)
|
||||
where
|
||||
go Nothing = return ()
|
||||
go (Just _) = error $ file ++ " already exists and is not annexed; not overwriting"
|
||||
|
||||
downloadWeb :: URLString -> Url.UrlInfo -> FilePath -> Annex (Maybe Key)
|
||||
downloadWeb url urlinfo file = do
|
||||
let dummykey = addSizeUrlKey urlinfo $ Backend.URL.fromUrl url Nothing
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue