Here are the examples of the python api sqlalchemy.event.remove taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
19 Examples
3
Example 1
def unbind_events(self) -> None:
"""
Opposite of :meth:`bind_events`.
"""
event.remove(self.session, 'after_commit', self.on_commit)
event.remove(self.session, 'after_soft_rollback', self.on_rollback)
event.remove(self.session, 'persistent_to_deleted', self.on_delete)
3
Example 2
def teardown(self):
for key in self._event_fns:
event.remove(*key)
super_ = super(RemovesEvents, self)
if hasattr(super_, "teardown"):
super_.teardown()
3
Example 3
Project: sqlalchemy Source File: test_events.py
def test_no_remove_in_event(self):
Target = self._fixture()
t1 = Target()
def evt():
event.remove(t1, "event_one", evt)
event.listen(t1, "event_one", evt)
assert_raises_message(
Exception,
"deque mutated during iteration",
t1.dispatch.event_one
)
3
Example 4
@pytest.fixture(autouse=True)
def __transactions(self, request, app):
def unregister_listener():
event.remove(Session, "after_transaction_end", self.__restart_savepoint)
event.listen(Session, "after_transaction_end", self.__restart_savepoint)
request.addfinalizer(unregister_listener)
db.session.begin_nested()
request.addfinalizer(db.session.remove)
3
Example 5
def __exit__(self, exc_type, exc_value, exc_traceback):
event.remove(*self._sql_listen_args)
if exc_type is not None:
return False
if self.test_id:
limit_msg = (' Limit: %d.' % self.max_count) if self.max_count is not None else ''
logging.info('%s executed %d queries.%s', self.test_id, len(self.queries), limit_msg)
if self.max_count is None:
return
if len(self.queries) > self.max_count:
message = ('Maximum query count exceeded: limit %d, executed %d.\n'
'----QUERIES----\n%s\n----END----') % (
self.max_count, len(self.queries), '\n'.join(self.queries))
raise AssertionError(message)
3
Example 6
Project: sqlalchemy-continuum Source File: manager.py
def remove_class_configuration_listeners(self, mapper):
"""
Remove versioning class configuration listeners from specified mapper.
:param mapper:
mapper to remove class configuration listeners from
"""
for event_name, listener in self.class_config_listeners.items():
sa.event.remove(mapper, event_name, listener)
3
Example 7
Project: sqlalchemy-continuum Source File: manager.py
def remove_operations_tracking(self, mapper):
"""
Remove listeners from specified mapper that track SQL inserts, updates
and deletes.
:param mapper:
mapper to remove the SQL operations tracking listeners from
"""
for event_name, listener in self.mapper_listeners.items():
sa.event.remove(mapper, event_name, listener)
3
Example 8
Project: sqlalchemy-continuum Source File: manager.py
def remove_session_tracking(self, session):
"""
Remove listeners that track the operations (flushing, committing and
rolling back) of given session. This method should be used in
conjuction with `remove_operations_tracking`.
:param session:
SQLAlchemy session to remove the operations tracking from
"""
for event_name, listener in self.session_listeners.items():
sa.event.remove(session, event_name, listener)
3
Example 9
@classmethod
def unregister(cls, session):
if hasattr(session, '_model_changes'):
del session._model_changes
event.remove(session, 'before_flush', cls.record_ops)
event.remove(session, 'before_commit', cls.record_ops)
event.remove(session, 'before_commit', cls.before_commit)
event.remove(session, 'after_commit', cls.after_commit)
event.remove(session, 'after_rollback', cls.after_rollback)
0
Example 10
def __exit__(self, exc_type, exc_value, traceback):
event.remove(self.target, self.identifier, self.record_query)
0
Example 11
Project: sqlalchemy_mptt Source File: __init__.py
def stop_query_counter(self):
event.remove(self.session.bind.engine, "before_cursor_execute",
self.catch_queries)
0
Example 12
Project: pittsburgh-purchasing-suite Source File: utils.py
def turn_off_sqlalchemy_events():
models = get_all_refresh_mixin_models()
for model in models:
for event in LISTEN_FOR_EVENTS:
sqlalchemy.event.remove(model, event, model.event_handler)
0
Example 13
def disable_listeners():
from autonomie.models.task.task import Task, cache_amounts
sa.event.remove(Task, "before_insert", cache_amounts)
sa.event.remove(Task, "before_update", cache_amounts)
0
Example 14
Project: flask-restless Source File: helpers.py
def unregister_fsa_session_signals():
"""Unregisters Flask-SQLAlchemy session commit and rollback signal
handlers.
When a Flask-SQLAlchemy object is created, it registers signal handlers for
``before_commit``, ``after_commit``, and ``after_rollback`` signals. In
case of using both a plain SQLAlchemy session and a Flask-SQLAlchemy
session (as is happening in the tests in this package), we need to
unregister handlers or there will be some exceptions during test
executions like::
AttributeError: 'Session' object has no attribute '_model_changes'
"""
# We don't need to do this if Flask-SQLAlchemy is not installed.
if not has_flask_sqlalchemy:
return
# We don't need to do this if Flask-SQLAlchemy version 2.0 or
# greater is installed.
version = parse_version(flask_sqlalchemy.__version__)
if version >= (2, 0):
return
events = flask_sqlalchemy._SessionSignalEvents
signal_names = ('before_commit', 'after_commit', 'after_rollback')
for signal_name in signal_names:
# For Flask-SQLAlchemy version less than 3.0.
signal = getattr(events, 'session_signal_{0}'.format(signal_name))
event.remove(SessionBase, signal_name, signal)
0
Example 15
Project: postgresql-audit Source File: base.py
def remove_table_listeners(self):
for values in self.table_listeners['transaction']:
sa.event.remove(self.transaction_cls.__table__, *values)
for values in self.table_listeners['activity']:
sa.event.remove(self.activity_cls.__table__, *values)
0
Example 16
def remove_listeners(self):
self.remove_table_listeners()
for listener in self.listeners:
sa.event.remove(*listener)
0
Example 17
Project: sqlalchemy-searchable Source File: __init__.py
def attach_ddl_listeners(self):
# Remove all previously added listeners, so that same listener don't
# get added twice in situations where class configuration happens in
# multiple phases (issue #31).
for listener in self.listeners:
event.remove(*listener)
self.listeners = []
for column in self.processed_columns:
# This sets up the trigger that keeps the tsvector column up to
# date.
if column.type.columns:
table = column.table
if self.option(column, 'remove_symbols'):
self.add_listener((
table,
'after_create',
self.search_function_ddl(column)
))
self.add_listener((
table,
'after_drop',
DDL(str(DropSearchFunctionSQL(column)))
))
self.add_listener((
table,
'after_create',
self.search_trigger_ddl(column)
))
0
Example 18
def remove_listeners(self):
for args in self.listener_args:
sa.event.remove(*args)
0
Example 19
def tear_down(self):
pool = self._pool()
for target, fn in self.pool_listeners.items():
sqlalchemy.event.remove(pool, target, fn)