mirror of
https://github.com/bellingcat/snscrape.git
synced 2026-06-13 12:58:27 +03:00
Improve list of scrapers on --help output
Don't list all scrapers in the usage line, and provide a sorted readable list instead.
This commit is contained in:
@@ -212,14 +212,17 @@ def parse_args():
|
|||||||
parser.add_argument('--since', type = parse_datetime_arg, metavar = 'DATETIME', help = 'Only return results newer than DATETIME')
|
parser.add_argument('--since', type = parse_datetime_arg, metavar = 'DATETIME', help = 'Only return results newer than DATETIME')
|
||||||
parser.add_argument('--progress', action = 'store_true', default = False, help = 'Report progress on stderr')
|
parser.add_argument('--progress', action = 'store_true', default = False, help = 'Report progress on stderr')
|
||||||
|
|
||||||
subparsers = parser.add_subparsers(dest = 'scraper', help = 'The scraper you want to use', required = True)
|
subparsers = parser.add_subparsers(dest = 'scraper', metavar = 'SCRAPER', title = 'scrapers', required = True)
|
||||||
classes = snscrape.base.Scraper.__subclasses__()
|
classes = snscrape.base.Scraper.__subclasses__()
|
||||||
|
scrapers = {}
|
||||||
for cls in classes:
|
for cls in classes:
|
||||||
if cls.name is not None:
|
if cls.name is not None:
|
||||||
subparser = subparsers.add_parser(cls.name, formatter_class = argparse.ArgumentDefaultsHelpFormatter)
|
scrapers[cls.name] = cls
|
||||||
cls.setup_parser(subparser)
|
|
||||||
subparser.set_defaults(cls = cls)
|
|
||||||
classes.extend(cls.__subclasses__())
|
classes.extend(cls.__subclasses__())
|
||||||
|
for scraper, cls in sorted(scrapers.items()):
|
||||||
|
subparser = subparsers.add_parser(cls.name, help = '', formatter_class = argparse.ArgumentDefaultsHelpFormatter)
|
||||||
|
cls.setup_parser(subparser)
|
||||||
|
subparser.set_defaults(cls = cls)
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user