def test_blank_to_none(self): test_data = { 'ccode': '6090', 'info': '', 'identify': ['hoge', '', 'huga', ''], 'tweets': [ { 'id': '1', 'data': 'あああ' }, { 'id': '2', 'data': 'いいい' }, { 'id': '3', 'data': '' }, ], 'repo': { 'id': 'repo_1', 'date': '20180101', 'items': ['a', '', 'b'], 'name': '' } } expected = { 'ccode': '6090', 'info': None, 'identify': ['hoge', None, 'huga', None], 'tweets': [ { 'id': '1', 'data': 'あああ' }, { 'id': '2', 'data': 'いいい' }, { 'id': '3', 'data': None }, ], 'repo': { 'id': 'repo_1', 'date': '20180101', 'items': ['a', None, 'b'], 'name': None } } Util.blank_to_none(test_data) assert test_data == expected
def insert(self, items): err_items = [] with self.tbl.batch_writer() as batch: for item in items: Util.blank_to_none(item) Util.date_to_str(item) try: batch.put_item(Item=item) except ClientError: try: self.tbl.put_item(Item=item) except ClientError as e: print(e) err_items.append(item) print("err_items: {}".format(err_items)) return err_items