twisted.protocols.amp.Argument class documentationtwisted.protocols.amp
(View In Hierarchy)
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, twisted.test.test_amp.ProtocolIncludingArgument, twisted.test.test_amp.TransportPeer
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.
| 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) | |