wrongmove/crawler/main.py
2025-05-11 19:13:19 +00:00

35 lines
1,021 B
Python

import click
import importlib
dump_listings_module = importlib.import_module('1_dump_listings')
dump_detail_module = importlib.import_module('2_dump_detail')
dump_images_module = importlib.import_module('3_dump_images')
detect_floorplan_module = importlib.import_module('4_detect_floorplan')
routing_module = importlib.import_module('5_routing')
steps_to_handlers = {
'dump_listings': dump_listings_module.dump_listings,
'dump_detail': dump_detail_module.dump_detail,
'dump_images': dump_images_module.dump_images,
'detect_floorplan': detect_floorplan_module.detect_floorplan,
'routing': routing_module.calculate_route,
}
@click.command()
@click.option(
'--step',
default=[],
help='Scraping step to run',
multiple=True,
type=click.Choice(steps_to_handlers.keys())
)
def main(step: list[str]):
click.echo(f'Running steps: {step}')
for s in step:
click.echo(f'Calling handler for step: {s}')
steps_to_handlers[s]()
if __name__ == '__main__':
main()