GetRange
Gets specified indexes of a list.
- Type
- python
- Pack
- FiltersAndTransformers
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.