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'
-