class documentation

class twisted.protocols.amp.Argument: (source)

Known subclasses: twisted.protocols.amp.AmpList, twisted.protocols.amp.Boolean, twisted.protocols.amp.DateTime, twisted.protocols.amp.Decimal, twisted.protocols.amp.Float, twisted.protocols.amp.Integer, twisted.protocols.amp.ListOf, twisted.protocols.amp.String

Implements interfaces: twisted.protocols.amp.IArgumentType

View In Hierarchy

Base-class of all objects that take values from Amp packets and convert them into objects for Python functions.

This implementation of IArgumentType provides several higher-level hooks for subclasses to override. See toString and fromString which will be used to define the behavior of IArgumentType.toBox and IArgumentType.fromBox, respectively.

Instance Variable optional Undocumented
Method __init__ Create an Argument.
Method retrieve Retrieve the given key from the given dictionary, removing it if found.
Method fromBox Populate an 'out' dictionary with mapping names to Python values decoded from an 'in' AmpBox mapping strings to string values.
Method toBox Populate an 'out' AmpBox with strings encoded from an 'in' dictionary mapping names to Python values.
Method fromStringProto Convert a string to a Python value.
Method toStringProto Convert a Python object to a string.
Method fromString Convert a string to a Python object. Subclasses must implement this.
Method toString Convert a Python object into a string for passing over the network.
optional = (source)

Undocumented

def __init__(self, optional=False): (source)

Create an Argument.

Parametersoptionala boolean indicating whether this argument can be omitted in the protocol.
def retrieve(self, d, name, proto): (source)

Retrieve the given key from the given dictionary, removing it if found.

Parametersda dictionary.
namea key in d.
protoan instance of an AMP.
Returnsd[name].
RaisesKeyErrorif I am not optional and no value was found.
def fromBox(self, name, strings, objects, proto): (source)

Populate an 'out' dictionary with mapping names to Python values decoded from an 'in' AmpBox mapping strings to string values.

Parametersnamethe argument name to retrieve (type: bytes)
stringsThe AmpBox to read string(s) from, a mapping of argument names to string values. (type: AmpBox)
objectsThe dictionary to write object(s) to, a mapping of names to Python objects. Keys will be native strings. (type: dict)
protoan AMP instance.
def toBox(self, name, strings, objects, proto): (source)

Populate an 'out' AmpBox with strings encoded from an 'in' dictionary mapping names to Python values.

Parametersnamethe argument name to retrieve (type: bytes)
stringsThe AmpBox to write string(s) to, a mapping of argument names to string values. (type: AmpBox)
objectsThe dictionary to read object(s) from, a mapping of names to Python objects. Keys should be native strings. (type: dict)
protothe protocol we are converting for. (type: AMP)
def fromStringProto(self, inString, proto): (source)

Convert a string to a Python value.

ParametersinStringthe string to convert. (type: bytes)
protothe protocol we are converting for. (type: AMP)
Returnsa Python object.
def toStringProto(self, inObject, proto): (source)

Convert a Python object to a string.

ParametersinObjectthe object to convert.
protothe protocol we are converting for. (type: AMP)
def fromString(self, inString): (source)

Convert a string to a Python object. Subclasses must implement this.

ParametersinStringthe string to convert. (type: bytes)
Returnsthe decoded value from inString
def toString(self, inObject): (source)

Convert a Python object into a string for passing over the network.

ParametersinObjectan object of the type that this Argument is intended to deal with.
Returnsthe wire encoding of inObject (type: bytes)
API Documentation for Twisted, generated by pydoctor 20.12.1 at 2021-02-28 19:53:36.