allow pathdepth to drop from the front or take from the end (negative)
This commit is contained in:
parent
c2245260b1
commit
346c934409
2 changed files with 7 additions and 7 deletions
|
@ -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
|
||||
|
|
|
@ -150,9 +150,10 @@ subdirectories).
|
|||
To avoid immediately downloading the url, specify --fast.
|
||||
|
||||
Normally the filename is based on the full url, so will look like
|
||||
"www.example.com_subdir_bigfile". For a shorter filename, specify
|
||||
"www.example.com_dir_subdir_bigfile". For a shorter filename, specify
|
||||
--pathdepth=N. For example, --pathdepth=2 will use "subdir/bigfile",
|
||||
while --parhdepth=1 will use "bigfile".
|
||||
while --pathdepth=3 will use "bigfile". It can also be negative;
|
||||
--pathdepth=-2 will use the last two parts of the url.
|
||||
|
||||
Or, to directly specify what file the url is added to, specify --file.
|
||||
This changes the behavior; now all the specified urls are recorded as
|
||||
|
|
Loading…
Reference in a new issue