@fiss_cmd<EOL>def attr_delete(args):
if args.entity_type and args.entities:<EOL><INDENT>entities = _entity_paginator(args.project, args.workspace,<EOL>args.entity_type,<EOL>page_size=<NUM_LIT:1000>, filter_terms=None,<EOL>sort_direction="<STR_LIT>")<EOL>if args.entities:<EOL><INDENT>entities = [e for e in entities if e['<STR_LIT:name>'] in args.entities]<EOL><DEDENT>attrs = sorted(args.attributes)<EOL>etype = args.entity_type<EOL>entity_data = []<EOL>for entity_dict in entities:<EOL><INDENT>name = entity_dict['<STR_LIT:name>']<EOL>line = name<EOL>if etype == "<STR_LIT>":<EOL><INDENT>line += "<STR_LIT:\t>" + entity_dict['<STR_LIT>']['<STR_LIT>']['<STR_LIT>']<EOL><DEDENT>for attr in attrs:<EOL><INDENT>line += "<STR_LIT>"<EOL><DEDENT>entity_data.append(line)<EOL><DEDENT>entity_header = ["<STR_LIT>" + etype + "<STR_LIT>"]<EOL>if etype == "<STR_LIT>":<EOL><INDENT>entity_header.append("<STR_LIT>")<EOL><DEDENT>entity_header = '<STR_LIT:\t>'.join(entity_header + list(attrs))<EOL>message = "<STR_LIT>" +'<STR_LIT:U+002C>'.join(args.attributes) + "<STR_LIT>"<EOL>if args.entities:<EOL><INDENT>message += '<STR_LIT>'.format(args.entity_type) +'<STR_LIT:U+002CU+0020>'.join(args.entities)<EOL><DEDENT>else:<EOL><INDENT>message += '<STR_LIT>'.format(args.entity_type)<EOL><DEDENT>message += "<STR_LIT>".format(args.project, args.workspace)<EOL>if not args.yes and not _confirm_prompt(message):<EOL><INDENT>return <NUM_LIT:0><EOL><DEDENT>if args.verbose:<EOL><INDENT>print("<STR_LIT>" + str(len(entity_data)) + "<STR_LIT>")<EOL><DEDENT>chunk_len = <NUM_LIT><EOL>total = int(len(entity_data) / chunk_len) + <NUM_LIT:1><EOL>batch = <NUM_LIT:0><EOL>for i in range(<NUM_LIT:0>, len(entity_data), chunk_len):<EOL><INDENT>batch += <NUM_LIT:1><EOL>if args.verbose:<EOL><INDENT>print("<STR_LIT>".format(<EOL>i+<NUM_LIT:1>, min(i+chunk_len, len(entity_data)), batch, total<EOL>))<EOL><DEDENT>this_data = entity_header + '<STR_LIT:\n>' + '<STR_LIT:\n>'.join(entity_data[i:i+chunk_len])<EOL>r = fapi.upload_entities(args.project, args.workspace, this_data)<EOL>fapi._check_response_code(r, <NUM_LIT:200>)<EOL><DEDENT><DEDENT>else:<EOL><INDENT>message = "<STR_LIT>" +"<STR_LIT>".format(args.project, args.workspace) +"<STR_LIT>".join(args.attributes)<EOL>if not (args.yes or _confirm_prompt(message)):<EOL><INDENT>return <NUM_LIT:0><EOL><DEDENT>updates = [fapi._attr_rem(a) for a in args.attributes]<EOL>r = fapi.update_workspace_attributes(args.project, args.workspace,<EOL>updates)<EOL>fapi._check_response_code(r, <NUM_LIT:200>)<EOL><DEDENT>return <NUM_LIT:0><EOL>
Delete key=value attributes: if entity name & type are specified then
    attributes will be deleted from that entity, otherwise the attribute will
    be removed from the workspace