In [2]:
from pygchem.utils.data_structures import RecordList, record_cls
In [3]:
Test = record_cls("Test", "A test record",
(('id', int, 1, True, 'identifiant'),
('name', str, '', False, 'name of the thing'),
('data', None, None, False, 'the data')),
required_fields=('id'),
verbose=True)
In [4]:
testd = {'id': 1, 'name': 'Ben', 'data': [0, 1, 2]}
testo = Test(**testd)
In [5]:
testo
Out[5]:
In [6]:
testo.to_dict()
Out[6]:
In [7]:
Test(**testo.to_dict())
Out[7]:
In [8]:
testo.to_dict(ordered=True)
Out[8]:
In [9]:
testo.to_list()
Out[9]:
In [10]:
list(testo.items())
Out[10]:
In [11]:
Test('1')
Out[11]:
In [12]:
try:
testo.id = 2
except AttributeError:
print "read-only"
In [13]:
testo.data
Out[13]:
In [14]:
Test(id=2, name="Paul").name
Out[14]:
In [15]:
Test(name='Ben')
In [ ]: