Thanks to visit codestin.com
Credit goes to github.com

Skip to content

kylef/refract.py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Refract Python

A Python library for interacting with Refract.

Installation

$ pip install refract

Usage

Elements

Base Element

element = Element('elementName', content='Doe')
Meta Accessors
element.id = String(content='Doe')
element.title = String(content='Name')
element.description = String(content='A short decription')
Underlying Value

You can compute the underlying value into a Python type using underlying_value.

element = Object(content=[
  Member(key=String(content='id'), value=String(content='Example'))
])

print(element.underlying_value)
# {'id': 'Example'}

String

element = String(content='Doe')

Number

element = Number(content=7)

Boolean

element = Boolean(content=True)

Null

element = Null()

Array

array = Array(content=[
  String(content='Doe')
])

array.append(String(content='Other'))
len
len(array)
Subscript
array[0]
# String(content='Doe')
Iteration
for element in array:
    print(element)

You can use high order functions like map, filter, reduce on array.

strings = filter(lambda element: element is String, array)

Member

member = Member(key=String(content='id'), value=String(content='Example'))

member.key
# String(content='id')

member.value
# String(content='Example')

Object

obj = Object(content=[
  Member(key=String(content='id'), value=String(content='Example'))
])
len
len(obj)
keys
obj.keys()
# [String(content='id')]
values
obj.values()
# [String(content='Example')]

KeyValuePair

pair = KeyValuePair(key=String(content='id'), value=String(content='Example'))

Serialisation

from refract.json import JSONSerialiser, JSONDeserialiser

serialiser = JSONSerialiser()
json = serialiser.serialise(element)

deserialiser = JSONDeserialiser()
element = deserialiser.deserialise(json)

About

A Python library for interacting with Refract

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages