diff options
Diffstat (limited to 'Command/AddUrl.hs')
-rw-r--r-- | Command/AddUrl.hs | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/Command/AddUrl.hs b/Command/AddUrl.hs index 986736943..0b4131067 100644 --- a/Command/AddUrl.hs +++ b/Command/AddUrl.hs @@ -90,13 +90,12 @@ url2file :: URI -> Maybe Int -> FilePath url2file url pathdepth = case pathdepth of Nothing -> filesize $ escape fullurl Just depth - | depth > 0 -> filesize $ join "/" $ - fromend depth $ map escape $ - filter (not . null) $ split "/" fullurl - | otherwise -> error "bad --pathdepth value" + | depth > 0 -> frombits $ drop depth + | otherwise -> frombits $ reverse . take (negate depth) . reverse where fullurl = uriRegName auth ++ uriPath url ++ uriQuery url + frombits a = filesize $ join "/" $ a urlbits + urlbits = map escape $ filter (not . null) $ split "/" fullurl auth = fromMaybe (error $ "bad url " ++ show url) $ uriAuthority url filesize = take 255 escape = replace "/" "_" . replace "?" "_" - fromend n = reverse . take n . reverse |