Disabling most signals on bulk creation

remotes/origin/logger
Alejandro Alonso 2015-07-30 14:31:26 +02:00
parent ecf200f418
commit 7eb5acd969
5 changed files with 38 additions and 7 deletions

View File

@ -18,6 +18,9 @@ import io
import csv
from taiga.base.utils import db, text
from taiga.projects.issues.apps import (
connect_issues_signals,
disconnect_issues_signals)
from . import models
@ -44,7 +47,14 @@ def create_issues_in_bulk(bulk_data, callback=None, precall=None, **additional_f
:return: List of created `Issue` instances.
"""
issues = get_issues_from_bulk(bulk_data, **additional_fields)
db.save_in_bulk(issues, callback, precall)
disconnect_issues_signals()
try:
db.save_in_bulk(issues, callback, precall)
finally:
connect_issues_signals()
return issues

View File

@ -19,6 +19,9 @@ import csv
from taiga.base.utils import db, text
from taiga.projects.history.services import take_snapshot
from taiga.projects.tasks.apps import (
connect_tasks_signals,
disconnect_tasks_signals)
from taiga.events import events
from . import models
@ -46,7 +49,14 @@ def create_tasks_in_bulk(bulk_data, callback=None, precall=None, **additional_fi
:return: List of created `Task` instances.
"""
tasks = get_tasks_from_bulk(bulk_data, **additional_fields)
db.save_in_bulk(tasks, callback, precall)
disconnect_tasks_signals()
try:
db.save_in_bulk(tasks, callback, precall)
finally:
connect_tasks_signals()
return tasks

View File

@ -21,6 +21,10 @@ from django.utils import timezone
from taiga.base.utils import db, text
from taiga.projects.history.services import take_snapshot
from taiga.projects.userstories.apps import (
connect_userstories_signals,
disconnect_userstories_signals)
from taiga.events import events
from . import models
@ -48,7 +52,14 @@ def create_userstories_in_bulk(bulk_data, callback=None, precall=None, **additio
:return: List of created `Task` instances.
"""
userstories = get_userstories_from_bulk(bulk_data, **additional_fields)
db.save_in_bulk(userstories, callback, precall)
disconnect_userstories_signals()
try:
db.save_in_bulk(userstories, callback, precall)
finally:
connect_userstories_signals()
return userstories

View File

@ -16,11 +16,11 @@ import pytest
pytestmark = pytest.mark.django_db
def setup_module(module):
def setup_function(function):
disconnect_signals()
def teardown_module(module):
def setup_function(function):
reconnect_signals()

View File

@ -16,11 +16,11 @@ import pytest
pytestmark = pytest.mark.django_db
def setup_module(module):
def setup_function(function):
disconnect_signals()
def teardown_module(module):
def teardown_function(function):
reconnect_signals()