Elements¶
Element¶
-
class
refract.elements.Element(element: str = None, meta: refract.elements.base.Metadata = None, attributes: refract.elements.base.Attributes = None, content=None)¶ Base Refract Element
-
children¶ Returns all of the children elements.
-
defract¶ Returns the underlying (unrefracted) value of element
>>> Element(content='Hello').defract 'Hello'
>>> Element(content=Element(content='Hello')).defract 'Hello'
>>> Element(content=[Element(content='Hello')]).defract ['Hello']
-
recursive_children¶ Generator returning all recursive children elements.
-
String¶
-
class
refract.elements.String(meta: refract.elements.base.Metadata = None, attributes: refract.elements.base.Attributes = None, content: str = None)¶ Refract String Element
>>> String(content='Hello')
Number¶
-
class
refract.elements.Number(meta: refract.elements.base.Metadata = None, attributes: refract.elements.base.Attributes = None, content=None)¶ Refract Number Element
>>> Number(content=5)
Boolean¶
-
class
refract.elements.Boolean(meta: refract.elements.base.Metadata = None, attributes: refract.elements.base.Attributes = None, content: bool = None)¶ Refract Boolean Element
>>> Boolean(content=True)
Null¶
-
class
refract.elements.Null(meta: refract.elements.base.Metadata = None, attributes: refract.elements.base.Attributes = None)¶ Refract Null Element
>>> Null()
Array¶
-
class
refract.elements.Array(meta: refract.elements.base.Metadata = None, attributes: refract.elements.base.Attributes = None, content=None)¶ Refract Object Element
>>> Array(content=['Hello'])
>>> Array(content=[Element()])
-
__delitem__(index: int)¶ >>> array = Array(content=[Element()]) >>> del array[0]
-
__getitem__(index: int)¶ Returns the element at the given index.
>>> array = Array(content=[String(content='Hello')]) >>> array[0] String(content='Hello')
-
__init__(meta: refract.elements.base.Metadata = None, attributes: refract.elements.base.Attributes = None, content=None) → None¶ Initialize self. See help(type(self)) for accurate signature.
-
__len__()¶ Number of items in the array.
>>> len(Array()) 0
-
append(element)¶ Append an element onto the array.
>>> array = Array() >>> array.append('test')
-
clear()¶ Removes all the elements from the array.
-
index(element: refract.elements.base.Element) → int¶ Return the index in the array of the first item whose value is element. It is an error if there is no such item.
>>> element = String('hello') >>> array = Array(content=[element]) >>> array.index(element) 0
-
insert(index: int, element)¶ Insert an element at a given position.
>>> array = Array() >>> array.insert(0, Element())
-
Object¶
-
class
refract.elements.Object(meta: refract.elements.base.Metadata = None, attributes: refract.elements.base.Attributes = None, content: List[refract.elements.object.Member] = None)¶ Refract Object Element
>>> Object(content={})
>>> Object(content=[Member()])
-
__contains__(key) → bool¶ Returns whether the object contains the given key.
>>> key = String(content='id') >>> value = String(content='Hello') >>> obj = Object(content=[Member(key=key, value=value)]) >>> key in obj True
-
__delitem__(key)¶ Deletes the member for the given key
>>> key = String(content='id') >>> value = String(content='Hello') >>> obj = Object(content=[Member(key=key, value=value)]) >>> del obj[key]
-
__getitem__(key) → refract.elements.base.Element¶ Returns the value for the given key
>>> key = String(content='id') >>> value = String(content='Hello') >>> obj = Object(content=[Member(key=key, value=value)]) >>> obj['id'] String(content='Hello')
-
__init__(meta: refract.elements.base.Metadata = None, attributes: refract.elements.base.Attributes = None, content: List[refract.elements.object.Member] = None) → None¶ Initialize self. See help(type(self)) for accurate signature.
-
__len__()¶ Number of items in the object.
>>> len(Object()) 0
-
keys() → List[refract.elements.base.Element]¶ Returns all of the objects keys.
-
values() → List[refract.elements.base.Element]¶ Returns all of the objects values.
-
Member¶
-
class
refract.elements.Member(meta: refract.elements.base.Metadata = None, attributes: refract.elements.base.Attributes = None, key: refract.elements.base.Element = None, value: refract.elements.base.Element = None)¶ Refract Member Element
>>> Member(key=Element(), value=Element())
-
key¶ The members key element
-
value¶ The members value element
-
Element Registry¶
-
class
refract.registry.Registry¶ A Refract Registry contains a collection of element classes which can be used for deserialising serialised Refract into specialised element subclasses.
By default, the registry contains all primitive Refract types including Array, Member, and Object.
>>> registry = Registry()
-
find_element_class(element_name)¶ Finds an element class for the given element name contained within the registry.
Returns Element when there is no matching element subclass.
>>> registry.find_element_class('string') String
>>> registry.find_element_class('unknown') Element
-
register(element)¶ Register a new class in the registry.
>>> class Request(Element): ... element = 'request' >>> >>> registry.register(Request)
Register can be used as class a decorator to register an Element.
>>> @registry.register >>> class Request(Element): ... element = 'request'
-