def main()

in meter-data/generate_meter_data.py [0:0]


def main(start, count):
    # set variable for data generation

    # total meter count - make sure this number is fully divisible by batch size i.e.
    # total_meter_count/batch_size shouldn't be a float value. Otherwise some meters
    # will be left without any data generated.
    total_meter_count = count
    start_date = dt(2019, 1, 1)  # YYYY,MM,DD
    end_date = dt(2019, 12, 31)

    local_dir = 'data'
    s3bucket = 'fake-meter-data-partitioned'
    # generate and upload data in a batch size of below
    batch_size = 1

    # Error record generation initialization
    initialize_error_record_generation(2, 3, dt.fromisoformat('2019-01-03T09:15:00'),
                                       dt.fromisoformat('2019-01-03T15:25:00'))

    starting_meter_no = start
    ending_meter_no = starting_meter_no + (batch_size - 1)
    while ending_meter_no <= total_meter_count:
        generate_records(starting_meter_no, ending_meter_no, start_date, end_date, local_dir)
        logging.info('Records generated for meter {} to {}'.format(starting_meter_no, ending_meter_no))
        s3path = 'm' + str(starting_meter_no) + '-' + str(ending_meter_no)
        # upload_to_s3(local_dir, s3bucket, s3path)
        # empty_dir(local_dir)

        starting_meter_no = ending_meter_no + 1
        ending_meter_no = ending_meter_no + batch_size