"""TODO.""" import json MAX_ENTRIES = 25 DYNAMO_TABLE_NAME = 'prod_accounting_statement_export' OUTPUT_FILE_NAME_TEMPLATE = './dynamo_items_{}.json' def get_output_wrapper(): """Get empty wrapper.""" output_data = {} output_data[DYNAMO_TABLE_NAME] = [] return output_data def main(file_name): """Format rows of json objects from a file.""" output_data = get_output_wrapper() output_file_index = 0 with open(file_name, 'r') as json_file: for line in json_file: item = json.loads(line) output_data[DYNAMO_TABLE_NAME].append({ 'PutRequest': { 'Item': { 'file_type': {'S': item['file_type']}, 'period_ids': {'S': item['period_ids']}, 's3_path': {'S': item['s3_path']}, 'status': {'S': item['status']}, 'user_id_type': {'S': item['user_id_type']}, 'user_params': {'S': item['user_params']} } } }) if len(output_data[DYNAMO_TABLE_NAME]) == MAX_ENTRIES: output_file_name = OUTPUT_FILE_NAME_TEMPLATE.format( output_file_index) with open(output_file_name, 'w') as output_file_handle: output_file_handle.write(json.dumps(output_data)) output_data = get_output_wrapper() output_file_index = output_file_index + 1 if output_data[DYNAMO_TABLE_NAME]: output_file_name = OUTPUT_FILE_NAME_TEMPLATE.format( output_file_index) with open(output_file_name, 'w') as output_file_handle: output_file_handle.write(json.dumps(output_data)) if __name__ == '__main__': import sys try: main(sys.argv[1]) except IndexError: print('Missing required file name') except FileNotFoundError: print('File not found')