def get_contract(name):
"""return the contract identified by name
returns a Contract instance
TODO: for now, this function returns a DMagContract()
"""
if name == 'example':
contract_class = ExampleContract
elif name == 'dmag':
contract_class = DMagContract
else:
raise ValueError('Unknown contract type: {name}'.format(name=name))
try:
contract = DBSession.query(contract_class).filter(contract_class.name == name).one()
except NoResultFound:
contract = contract_class(name=name)
DBSession.add(contract)
return contract
评论列表
文章目录