218 done = set() |
218 done = set() |
219 assert isinstance(cls.events, (tuple, list)), \ |
219 assert isinstance(cls.events, (tuple, list)), \ |
220 '%s: events is expected to be a tuple, not %s' % ( |
220 '%s: events is expected to be a tuple, not %s' % ( |
221 cls, type(cls.events)) |
221 cls, type(cls.events)) |
222 for event in cls.events: |
222 for event in cls.events: |
223 if event == 'server_startup': |
223 if event in SYSTEM_HOOKS: |
224 assert not cls.accepts or cls.accepts == ('Any',), \ |
224 assert not cls.accepts or cls.accepts == ('Any',), \ |
225 '%s doesnt make sense on server_startup' % cls.accepts |
225 '%s doesnt make sense on %s' % (cls.accepts, event) |
226 cls.accepts = ('Any',) |
226 cls.accepts = ('Any',) |
227 for ertype in cls.accepts: |
227 for ertype in cls.accepts: |
228 if (event, ertype) in done: |
228 if (event, ertype) in done: |
229 continue |
229 continue |
230 yield event, ertype |
230 yield event, ertype |