Sha256: a88ba06cda6e841324383e062f600163d4950b91dbbeb22b43fc04718e7c10ea

Contents?: true

Size: 951 Bytes

Versions: 5

Compression:

Stored size: 951 Bytes

Contents

from javonet.core.handler.AbstractCommandHandler import AbstractCommandHandler


class ArrayGetItemHandler(AbstractCommandHandler):
    def __init__(self):
        self._required_parameters_count = 2

    def process(self, command):
        try:
            if len(command.payload) < self._required_parameters_count:
                raise Exception("ArrayGetItemHandler parameters mismatch!")

            array = command.payload[0]
            if isinstance(command.payload[1], list):
                indexes = command.payload[1]
            else:
                indexes = command.payload[1:]

            array_copy = array.copy()
            for i in indexes:
                array_copy = array_copy[i]
            return array_copy

        except Exception as e:
            exc_type, exc_value = type(e), e
            new_exc = exc_type(exc_value).with_traceback(e.__traceback__)
            raise new_exc from None

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
javonet-ruby-sdk-2.4.10 lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/ArrayGetItemHandler.py
javonet-ruby-sdk-2.4.9 lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/ArrayGetItemHandler.py
javonet-ruby-sdk-2.4.8 lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/ArrayGetItemHandler.py
javonet-ruby-sdk-2.4.7 lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/ArrayGetItemHandler.py
javonet-ruby-sdk-2.4.6 lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/ArrayGetItemHandler.py