Sha256: 18cef3687f1671bb28c50a7f52471b8cd05a1e7efbea8d8da8465964034fe65b

Contents?: true

Size: 1.15 KB

Versions: 11

Compression:

Stored size: 1.15 KB

Contents

from javonet.core.protocol.TypeSerializer import TypeSerializer
from javonet.utils.Command import Command
from javonet.utils.RuntimeName import RuntimeName
from javonet.utils.connectionData.IConnectionData import IConnectionData


class CommandSerializer:
    buffer = []

    def serialize(self, root_command: Command, connection_data: IConnectionData, runtime_version=0):
        self.insert_into_buffer([root_command.runtime_name.value, runtime_version])
        self.insert_into_buffer(connection_data.serialize_connection_data())
        self.insert_into_buffer([RuntimeName.python.value, root_command.command_type.value])
        self.serialize_recursively(root_command)
        return self.buffer

    def serialize_recursively(self, command):
        for item in command.get_payload():
            if isinstance(item, Command):
                self.insert_into_buffer(TypeSerializer.serialize_command(item))
                self.serialize_recursively(item)
            else:
                self.insert_into_buffer(TypeSerializer.serialize_primitive(item))

        return

    def insert_into_buffer(self, arguments):
        self.buffer = self.buffer + arguments

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
javonet-ruby-sdk-2.5.13 lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py
javonet-ruby-sdk-2.5.12 lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py
javonet-ruby-sdk-2.5.11 lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py
javonet-ruby-sdk-2.5.10 lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py
javonet-ruby-sdk-2.5.9 lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py
javonet-ruby-sdk-2.5.8 lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py
javonet-ruby-sdk-2.5.7 lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py
javonet-ruby-sdk-2.5.6 lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py
javonet-ruby-sdk-2.5.5 lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py
javonet-ruby-sdk-2.5.4 lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py
javonet-ruby-sdk-2.5.3 lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py