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
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. |
Create an Argument.
Parameters | optional | a boolean indicating whether this argument can be omitted in the protocol. |
Retrieve the given key from the given dictionary, removing it if found.
Parameters | d | a dictionary. |
name | a key in d. | |
proto | an instance of an AMP. | |
Returns | d[name]. | |
Raises | KeyError | if I am not optional and no value was found. |
Populate an 'out' dictionary with mapping names to Python values decoded from an 'in' AmpBox mapping strings to string values.
Parameters | name | the argument name to retrieve (type: bytes ) |
strings | The AmpBox to read string(s) from, a mapping of argument names to string values. (type: AmpBox) | |
objects | The dictionary to write object(s) to, a mapping of names to Python objects. Keys will be native strings. (type: dict) | |
proto | an AMP instance. |
Populate an 'out' AmpBox with strings encoded from an 'in' dictionary mapping names to Python values.
Parameters | name | the argument name to retrieve (type: bytes ) |
strings | The AmpBox to write string(s) to, a mapping of argument names to string values. (type: AmpBox) | |
objects | The dictionary to read object(s) from, a mapping of names to Python objects. Keys should be native strings. (type: dict) | |
proto | the protocol we are converting for. (type: AMP) |
Convert a string to a Python value.
Parameters | inString | the string to convert. (type: bytes ) |
proto | the protocol we are converting for. (type: AMP) | |
Returns | a Python object. |
Convert a Python object to a string.
Parameters | inObject | the object to convert. |
proto | the protocol we are converting for. (type: AMP) |
Convert a string to a Python object. Subclasses must implement this.
Parameters | inString | the string to convert. (type: bytes ) |
Returns | the decoded value from inString |
Convert a Python object into a string for passing over the network.
Parameters | inObject | an object of the type that this Argument is intended to deal with. |
Returns | the wire encoding of inObject (type: bytes ) |