summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Reporting
diff options
context:
space:
mode:
authorSimon Ruderich <simon@ruderich.org>2013-11-11 21:36:50 +0100
committerSol Jerome <sol.jerome@gmail.com>2013-11-11 22:19:56 -0600
commitb7479fa7dc6d87135fb328dbf9ba4bcd81a5db53 (patch)
treece1dc6702ad457b06a818baf08d916bdc9190de3 /src/lib/Bcfg2/Reporting
parent103b1b5198828876fa0684296900769018075f1b (diff)
downloadbcfg2-b7479fa7dc6d87135fb328dbf9ba4bcd81a5db53.tar.gz
bcfg2-b7479fa7dc6d87135fb328dbf9ba4bcd81a5db53.tar.bz2
bcfg2-b7479fa7dc6d87135fb328dbf9ba4bcd81a5db53.zip
Fix compatibility with Django 1.6.
Diffstat (limited to 'src/lib/Bcfg2/Reporting')
-rw-r--r--src/lib/Bcfg2/Reporting/Compat.py18
-rw-r--r--src/lib/Bcfg2/Reporting/Storage/DjangoORM.py4
-rw-r--r--src/lib/Bcfg2/Reporting/urls.py2
-rwxr-xr-xsrc/lib/Bcfg2/Reporting/utils.py2
4 files changed, 22 insertions, 4 deletions
diff --git a/src/lib/Bcfg2/Reporting/Compat.py b/src/lib/Bcfg2/Reporting/Compat.py
new file mode 100644
index 000000000..d8f439e22
--- /dev/null
+++ b/src/lib/Bcfg2/Reporting/Compat.py
@@ -0,0 +1,18 @@
+""" Compatibility imports for Django. """
+
+from django import VERSION
+from django.db import transaction
+
+# Django 1.6 deprecated commit_on_success() and introduced atomic() with
+# similar semantics.
+if VERSION[0] == 1 and VERSION[1] < 6:
+ transaction.atomic = transaction.commit_on_success
+
+try:
+ # Django < 1.6
+ from django.conf.urls import defaults
+ django_urls = defaults
+except:
+ # Django > 1.6
+ from django.conf import urls
+ django_urls = urls
diff --git a/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py b/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py
index aea5e9d4b..ef1e92103 100644
--- a/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py
+++ b/src/lib/Bcfg2/Reporting/Storage/DjangoORM.py
@@ -18,12 +18,12 @@ from django.core import management
from django.core.exceptions import ObjectDoesNotExist, MultipleObjectsReturned
from django.db.models import FieldDoesNotExist
from django.core.cache import cache
-from django.db import transaction
#Used by GetCurrentEntry
import difflib
from Bcfg2.Compat import b64decode
from Bcfg2.Reporting.models import *
+from Bcfg2.Reporting.Compat import transaction
class DjangoORM(StorageBase):
@@ -256,7 +256,7 @@ class DjangoORM(StorageBase):
entry.tag)
return None
- @transaction.commit_on_success
+ @transaction.atomic
def _import_interaction(self, interaction):
"""Real import function"""
hostname = interaction['hostname']
diff --git a/src/lib/Bcfg2/Reporting/urls.py b/src/lib/Bcfg2/Reporting/urls.py
index 8330fef7b..a9e5690be 100644
--- a/src/lib/Bcfg2/Reporting/urls.py
+++ b/src/lib/Bcfg2/Reporting/urls.py
@@ -1,4 +1,4 @@
-from django.conf.urls.defaults import *
+from Bcfg2.Reporting.Compat.django_urls import *
from django.core.urlresolvers import reverse, NoReverseMatch
from django.http import HttpResponsePermanentRedirect
from Bcfg2.Reporting.utils import filteredUrls, paginatedUrls, timeviewUrls
diff --git a/src/lib/Bcfg2/Reporting/utils.py b/src/lib/Bcfg2/Reporting/utils.py
index 619501d8b..d9b8213b1 100755
--- a/src/lib/Bcfg2/Reporting/utils.py
+++ b/src/lib/Bcfg2/Reporting/utils.py
@@ -1,5 +1,5 @@
"""Helper functions for reports"""
-from django.conf.urls.defaults import *
+from Bcfg2.Reporting.Compat.django_urls import *
import re
"""List of filters provided by filteredUrls"""