forked from Mirrors/humblebundle-downloader
Added ci for releasing new versions to pypi
This commit is contained in:
53
humblebundle_downloader/cli.py
Normal file
53
humblebundle_downloader/cli.py
Normal file
@@ -0,0 +1,53 @@
|
||||
import os
|
||||
import logging
|
||||
import argparse
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
LOG_LEVEL = os.environ.get('HBD_LOGLEVEL', 'INFO').upper()
|
||||
logging.basicConfig(
|
||||
level=LOG_LEVEL,
|
||||
format='%(message)s',
|
||||
)
|
||||
|
||||
|
||||
def cli():
|
||||
parser = argparse.ArgumentParser()
|
||||
subparsers = parser.add_subparsers(dest='action')
|
||||
subparsers.required = True
|
||||
|
||||
###
|
||||
# Generate cookie
|
||||
###
|
||||
parser_gencookie = subparsers.add_parser('gen-cookie',
|
||||
help="Generate cookie used to access your library")
|
||||
parser_gencookie.add_argument('-c', '--cookie-file', type=str,
|
||||
help='Location of the file to store the cookie',
|
||||
default='hbd-cookies.txt')
|
||||
|
||||
###
|
||||
# Download Library
|
||||
###
|
||||
# TODO: for download: have option to only get types, ebooks, videos, etc do not enforce,
|
||||
# but lower and just string match to the type in the api
|
||||
parser_download = subparsers.add_parser('download',
|
||||
help="Download content in your humble bundle library")
|
||||
parser_download.add_argument('-c', '--cookie-file', type=str,
|
||||
help='Location of the file to store the cookie',
|
||||
default='hbd-cookies.txt')
|
||||
parser_download.add_argument('-l', '--library-path', type=str,
|
||||
help='Folder to download all content to',
|
||||
required=True)
|
||||
parser_download.add_argument('--progress', action='store_true',
|
||||
help="Display progress bar for downloads")
|
||||
|
||||
cli_args = parser.parse_args()
|
||||
|
||||
if cli_args.action == 'gen-cookie':
|
||||
from . import generate_cookie
|
||||
generate_cookie(cli_args.cookie_file)
|
||||
|
||||
elif cli_args.action == 'download':
|
||||
from . import download_library
|
||||
download_library(cli_args.cookie_file, cli_args.library_path,
|
||||
progress_bar=cli_args.progress)
|
||||
Reference in New Issue
Block a user