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
|
url2file url pathdepth = case pathdepth of
|
||||||
Nothing -> filesize $ escape fullurl
|
Nothing -> filesize $ escape fullurl
|
||||||
Just depth
|
Just depth
|
||||||
| depth > 0 -> filesize $ join "/" $
|
| depth > 0 -> frombits $ drop depth
|
||||||
fromend depth $ map escape $
|
| otherwise -> frombits $ reverse . take (negate depth) . reverse
|
||||||
filter (not . null) $ split "/" fullurl
|
|
||||||
| otherwise -> error "bad --pathdepth value"
|
|
||||||
where
|
where
|
||||||
fullurl = uriRegName auth ++ uriPath url ++ uriQuery url
|
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
|
auth = fromMaybe (error $ "bad url " ++ show url) $ uriAuthority url
|
||||||
filesize = take 255
|
filesize = take 255
|
||||||
escape = replace "/" "_" . replace "?" "_"
|
escape = replace "/" "_" . replace "?" "_"
|
||||||
fromend n = reverse . take n . reverse
|
|
||||||
|
|
|
@ -150,9 +150,10 @@ subdirectories).
|
||||||
To avoid immediately downloading the url, specify --fast.
|
To avoid immediately downloading the url, specify --fast.
|
||||||
|
|
||||||
Normally the filename is based on the full url, so will look like
|
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",
|
--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.
|
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
|
This changes the behavior; now all the specified urls are recorded as
|
||||||
|
|
Loading…
Reference in a new issue