GetRange

Gets specified indexes of a list.

python · Filters And Transformers

Source

import traceback

import demistomock as demisto  # noqa: F401
from CommonServerPython import *  # noqa: F401


def get_range_command(indexes: List[str], val: List[Any]) -> List[Any]:
    """
    Filter list with a given range.
    Args:
        indexes (list): indexes to filter.
        val (list): list to filter .
    Returns:
        filtered list.
    """
    result = []
    for index in indexes:
        if "-" in str(index):
            start, end = index.split("-")
            start = int(start) if start else 0
            end = int(end) if end else len(val)
            for element in val[start : end + 1]:
                result.append(element)
        else:
            result.append(val[int(index)])
    return result


def main():
    try:
        args = demisto.args()
        val = safe_load_json(args.get("value", ""))
        indexes = argToList(args.get("range", ""))
        return_results(results=get_range_command(indexes, val))
    except Exception as ex:
        demisto.error(traceback.format_exc())  # print the traceback
        return_error(f"Failed to execute GetRange. Error: {ex!s}")


if __name__ in ("__main__", "__builtin__", "builtins"):
    main()

README

Get a range of indexes from a list.

Script Data


Name Description
Script Type python3
Tags transformer, general, entirelist
Cortex XSOAR Version 5.5.0

Inputs


Argument Name Description
range A comma-separated list of indexes or ranges of to retrieve (e.g., 0,1-3,6-7).
value The list to transform.

Outputs


There are no outputs for this script.