Source code for nanome.api.macro.messages

from . import serializers
from nanome._internal import serializer_fields

macro_serializer = serializers.MacroSerializer()
string_serializer = serializer_fields.StringField()


[docs]class SaveMacro(serializer_fields.TypeSerializer): _macro_serializer = macro_serializer _string_serializer = string_serializer
[docs] def version(self): return 0
[docs] def name(self): return "SaveMacro"
[docs] def serialize(self, version, value, context): context.write_using_serializer(self._macro_serializer, value[0]) context.write_bool(value[1]) context.write_using_serializer(self._string_serializer, value[2])
[docs] def deserialize(self, version, context): raise NotImplementedError
[docs]class DeleteMacro(serializer_fields.TypeSerializer): _macro_serializer = macro_serializer _string_serializer = string_serializer
[docs] def version(self): return 0
[docs] def name(self): return "DeleteMacro"
[docs] def serialize(self, version, value, context): context.write_using_serializer(self._macro_serializer, value[0]) context.write_bool(value[1]) context.write_using_serializer(self._string_serializer, value[2])
[docs] def deserialize(self, version, context): raise NotImplementedError
[docs]class RunMacro(serializer_fields.TypeSerializer): _macro_serializer = macro_serializer _string_serializer = string_serializer
[docs] def version(self): return 1
[docs] def name(self): return "RunMacro"
[docs] def serialize(self, version, value, context): context.write_using_serializer(self._macro_serializer, value)
[docs] def deserialize(self, version, context): if version < 1: return return context.read_bool()
[docs]class GetMacros(serializer_fields.TypeSerializer): _macro_serializer = macro_serializer _string_serializer = string_serializer
[docs] def version(self): return 0
[docs] def name(self): return "GetMacros"
[docs] def serialize(self, version, value, context): context.write_using_serializer(self._string_serializer, value)
[docs] def deserialize(self, version, context): raise NotImplementedError
[docs]class GetMacrosResponse(serializer_fields.TypeSerializer): _macro_serializer = macro_serializer _string_serializer = string_serializer def __init__(self): self._array_serializer = serializer_fields.ArrayField() self._array_serializer.set_type(self._macro_serializer)
[docs] def version(self): return 0
[docs] def name(self): return "GetMacrosResponse"
[docs] def serialize(self, version, value, context): raise NotImplementedError
[docs] def deserialize(self, version, context): return context.read_using_serializer(self._array_serializer)
[docs]class StopMacro(serializer_fields.TypeSerializer): _macro_serializer = macro_serializer _string_serializer = string_serializer
[docs] def version(self): return 0
[docs] def name(self): return "StopMacro"
[docs] def serialize(self, version, value, context): context.write_using_serializer(self._string_serializer, value)
[docs] def deserialize(self, version, context): raise NotImplementedError