def METHOD_NAME(ol_config: str, filename: str, batch_size=5000, dry_run=False):
    if not dry_run:
        load_config(ol_config)
        date = datetime.date.today()
        batch_name = f"pressbooks-{date:%Y%m}"
        batch = Batch.find(batch_name) or Batch.new(batch_name)
    with open(filename, 'rb') as f:
        book_items = []
        books = json.load(f)
        for line_num, record in enumerate(books):
            # try:
            b = convert_pressbooks_to_ol(record)
            book_items.append({'ia_id': b['source_records'][0], 'data': b})
            # except (AssertionError, IndexError) as e:
            #    logger.info(f"Error: {e} from {line}")
            if dry_run:
                print(json.dumps(b))
            # If we have enough items, submit a batch
            elif not ((line_num + 1) % batch_size):
                batch.add_items(book_items)
                book_items = []  # clear added items
        # Add any remaining book_items to batch
        if not dry_run and book_items:
            batch.add_items(book_items)