Accept imgur URL as album hash parameter

This commit is contained in:
JayPiKay 2018-04-30 23:16:51 +02:00
parent 2b7e9ad592
commit 43cf22f4b8
2 changed files with 13 additions and 8 deletions

View File

@ -8,29 +8,31 @@ Downloads complete albums from IMGUR.com.
Calling `imgurdl.py` without any arguments:
```bash
$ python imgurdl.py
usage: imgurdl.py [-h] ALBUM_HASH OUTPUT_DIR
imgurdl.py: error: the following arguments are required: ALBUM_HASH, OUTPUT_DIR
usage: imgurdl.py [-h] OUTPUT_DIR ALBUM_HASH
imgurdl.py: error: the following arguments are required: OUTPUT_DIR, ALBUM_HASH
```
Display the usage help for `imgurdl.py` with argument `-h`.
```bash
usage: imgurdl.py [-h] ALBUM_HASH OUTPUT_DIR
usage: imgurdl.py [-h] OUTPUT_DIR ALBUM_HASH
Imgur Album Downloader
positional arguments:
ALBUM_HASH The album hash identifier to download
OUTPUT_DIR Download the album into OUTPUT_DIR
ALBUM_HASH The album hash identifier to download
optional arguments:
-h, --help show this help message and exit
```
The `imgurdl.py` will also accept an URL as `ALBUM_HASH`.
### Usage
To download and save all images from album `RwwP1gT` in the directory `album` use:
```bash
$ python imgurdl.py RwwP1gT album
$ python imgurdl.py album RwwP1gT
Download: 9X8BR6s.jpg 100% |#######################| Time: 0:00:00 25.4 MiB/s
Download: ZIt8BCG.jpg 100% |#######################| Time: 0:00:00 2.5 MiB/s
Download: aYClgll.jpg 100% |#######################| Time: 0:00:00 1.9 MiB/s

View File

@ -13,6 +13,7 @@
import os
import requests
import argparse
from urllib.parse import urlparse
from progressbar import (Bar, ETA, FileTransferSpeed, Percentage, ProgressBar)
@ -20,10 +21,10 @@ IMAGE_BASEURL = 'https://i.imgur.com/'
parser = argparse.ArgumentParser(description='Imgur Album Downloader')
parser.add_argument('album', metavar='ALBUM_HASH', type=str,
help='The album hash identifier to download')
parser.add_argument('outdir', metavar='OUTPUT_DIR', type=str,
help='Download the album into OUTPUT_DIR')
parser.add_argument('album', metavar='ALBUM_HASH', type=str,
help='The album hash identifier to download')
args = parser.parse_args()
@ -57,7 +58,9 @@ def get_ajaxalbum(album_id, out_directory):
if __name__ == '__main__':
get_ajaxalbum(args.album, args.outdir)
parsed_url = urlparse(args.album)
album = os.path.split(parsed_url.path)[-1]
get_ajaxalbum(album, args.outdir)
# album_id = 'ThiBLHO'
# out_directory = 'album'
# get_ajaxalbum(album_id, out_directory)