Source code for collecting_society_web.models.event_performance
# For copyright and license terms, see COPYRIGHT.rst (top level of repository)
# Repository: https://github.com/C3S/collecting_society_web
import logging
from portal_web.models import Tdb, MixinSearchById
log = logging.getLogger(__name__)
[docs]
class EventPerformance(Tdb, MixinSearchById):
"""
Model wrapper for Tryton model object 'event.performance'
"""
__name__ = 'event.performance'
[docs]
@classmethod
def create(cls, vlist):
"""
Creates event performances
Args:
vlist (list): list of dicts with attributes to create peformances::
[
{
'start': datetime.datetime (required),
'end': datetime.datetime (required),
'artist': artist (required),
},
{
...
}
]
Raises:
KeyError: if required field is missing
Returns:
list: created event performances
None: if no object was created
"""
log.debug('create event performance:\n{}'.format(vlist))
for values in vlist:
if 'start' not in values:
raise KeyError('start is missing')
if 'end' not in values:
raise KeyError('end is missing')
if 'artist' not in values:
raise KeyError('artist is missing')
result = cls.get().create(vlist)
return result or None
[docs]
@classmethod
def delete(cls, performances):
"""
Deletes event performances
Args:
performances (list): event.performances::
[performance1, performance2, ...]
Returns:
?
"""
return cls.get().delete(performances)