root / elixir / trunk / elixir / events.py

Revision 497, 0.7 kB (checked in by ged, 2 years ago)

more cleanup after dropping py2.3/SA0.4

Line 
1from sqlalchemy.orm import reconstructor
2
3__all__ = [
4    'before_insert',
5    'after_insert',
6    'before_update',
7    'after_update',
8    'before_delete',
9    'after_delete',
10    'reconstructor'
11]
12
13def create_decorator(event_name):
14    def decorator(func):
15        if not hasattr(func, '_elixir_events'):
16            func._elixir_events = []
17        func._elixir_events.append(event_name)
18        return func
19    return decorator
20
21before_insert = create_decorator('before_insert')
22after_insert = create_decorator('after_insert')
23before_update = create_decorator('before_update')
24after_update = create_decorator('after_update')
25before_delete = create_decorator('before_delete')
26after_delete = create_decorator('after_delete')
Note: See TracBrowser for help on using the browser.