if __name__ == '__main__':


    parser = build_argparser()
    args = parser.parse_args()

    n_pull = int(args.n_pull)
    offset = int(args.offset)
    report_interval = int(args.report_interval) if args.report_interval else 250
    create_table = args.create_table
    limit = args.search_limit if args.search_limit else 15


    yelp_restuarants_tb = YelpRestaurantsTableBuilder()
    yelp_categories_tb = YelpCategoriesTableBuilder()
    yelp_neighborhoods_tb = YelpNeighborhoodsTableBuilder()


    api_phone_interfacer = YelpApiPhoneInterfacer(report_interval = report_interval)
    first_coordinator = YelpApiFirstPassCoordinator(api_interfacer = api_phone_interfacer, start_read = offset)


    # first pass

    extracts = first_coordinator.read_next_n(n = n_pull)
    matched_extracts = ByPhoneExtractMatcher().match_all(extracts)

    if create_table:

        yelp_restuarants_tb.create_table()