diff options
Diffstat (limited to 'Backend/URL.hs')
-rw-r--r-- | Backend/URL.hs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/Backend/URL.hs b/Backend/URL.hs index b3411bac5..b98974cb4 100644 --- a/Backend/URL.hs +++ b/Backend/URL.hs @@ -10,6 +10,8 @@ module Backend.URL ( fromUrl ) where +import Data.Hash.MD5 + import Common.Annex import Types.Backend import Types.Key @@ -26,7 +28,14 @@ backend = Backend { fromUrl :: String -> Maybe Integer -> Key fromUrl url size = stubKey - { keyName = url + { keyName = key , keyBackendName = "URL" , keySize = size } + where + -- when it's not too long, use the url as the key name + -- 256 is the absolute filename max, but use a shorter + -- length because this is not the entire key filename. + key + | length url < 128 = url + | otherwise = take 128 url ++ "-" ++ md5s (Str url) |