put [:tablename] [!fieldname:expectedvalue] {json-body} [{json-body}, {json-body}...]

def do_put(self, line):
        "put [:tablename] [!fieldname:expectedvalue] {json-body} [{json-body}, {json-body}...]"
        table, line = self.get_table_params(line)
        expected, line = self.get_expected(line)
        if expected:
            print "expected: not yet implemented"
            return

        if line.startswith('(') or line.startswith('['):
            print "batch: not yet implemented"
            return

            list = self.get_list(line)
            wlist = self.conn.new_batch_write_list()
            wlist.add_batch(table, [ table.new_item(None, None, item) for item in list ])
            response = self.conn.batch_write_item(wlist)
            consumed = response['Responses'][table.table_name]['ConsumedCapacityUnits']

            if 'UnprocessedItems' in response and response['UnprocessedItems']:
                print ""
                print "unprocessed: ", response['UnprocessedItems']
                print ""
        else:
            item = json.loads(line)
            table.put_item(item)
            consumed = None

        if self.consumed and consumed:
            print "consumed units:", consumed