Skip to content

Commit

Permalink
more cleans for model/extensions
Browse files Browse the repository at this point in the history
  • Loading branch information
tobes committed Mar 29, 2012
1 parent d3be023 commit 079a0b4
Showing 1 changed file with 15 additions and 15 deletions.
30 changes: 15 additions & 15 deletions ckan/model/extension.py
Expand Up @@ -3,10 +3,10 @@
"""
import logging

from sqlalchemy.orm.interfaces import MapperExtension, EXT_CONTINUE, EXT_STOP
from sqlalchemy.orm.interfaces import MapperExtension
from sqlalchemy.orm.session import SessionExtension

from ckan.plugins import PluginImplementations, IMapper, ISession
import ckan.plugins as plugins

try:
from operator import methodcaller
Expand All @@ -24,7 +24,7 @@ class ObserverNotifier(object):
Mixin for hooking into SQLAlchemy
MapperExtension/SessionExtension
"""

observers = None

def notify_observers(self, func):
Expand All @@ -42,8 +42,8 @@ class PluginMapperExtension(MapperExtension, ObserverNotifier):
Extension that calls plugins implementing IMapper on SQLAlchemy
MapperExtension events
"""
observers = PluginImplementations(IMapper)
observers = plugins.PluginImplementations(plugins.IMapper)

def before_insert(self, mapper, connection, instance):
return self.notify_observers(
methodcaller('before_insert', mapper, connection, instance)
Expand All @@ -63,51 +63,51 @@ def after_insert(self, mapper, connection, instance):
return self.notify_observers(
methodcaller('after_insert', mapper, connection, instance)
)

def after_update(self, mapper, connection, instance):
return self.notify_observers(
methodcaller('after_update', mapper, connection, instance)
)

def after_delete(self, mapper, connection, instance):
return self.notify_observers(
methodcaller('after_delete', mapper, connection, instance)
)


class PluginSessionExtension(SessionExtension, ObserverNotifier):
"""
Class that calls plugins implementing IMapper on SQLAlchemy
SessionExtension events
"""

observers = PluginImplementations(ISession)
observers = plugins.PluginImplementations(plugins.ISession)

def after_begin(self, session, transaction, connection):
return self.notify_observers(
methodcaller('after_begin', session, transaction, connection)
)

def before_flush(self, session, flush_context, instances):
return self.notify_observers(
methodcaller('before_flush', session, flush_context, instances)
)

def after_flush(self, session, flush_context):
return self.notify_observers(
methodcaller('after_flush', session, flush_context)
)

def before_commit(self, session):
return self.notify_observers(
methodcaller('before_commit', session)
)

def after_commit(self, session):
return self.notify_observers(
methodcaller('after_commit', session)
)

def after_rollback(self, session):
return self.notify_observers(
methodcaller('after_rollback', session)
Expand Down

0 comments on commit 079a0b4

Please sign in to comment.