summaryrefslogtreecommitdiff
path: root/chimere
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@peacefrogs.net>2012-08-02 13:49:55 +0200
committerÉtienne Loks <etienne.loks@peacefrogs.net>2012-08-02 13:49:55 +0200
commit8efe88a9e4cea5f97ccf71e62234ab75ef9fd3ee (patch)
tree2f01a2d5360feb11ceae41c979df5ecc01770441 /chimere
parentdb6c38b03dd71df6ab6a22bed19035cd964e0b20 (diff)
downloadChimère-8efe88a9e4cea5f97ccf71e62234ab75ef9fd3ee.tar.bz2
Chimère-8efe88a9e4cea5f97ccf71e62234ab75ef9fd3ee.zip
Make Celery and Kombu optional (but the import is not available)
Diffstat (limited to 'chimere')
-rw-r--r--chimere/admin.py20
-rw-r--r--chimere/tasks.py5
2 files changed, 18 insertions, 7 deletions
diff --git a/chimere/admin.py b/chimere/admin.py
index c1f487d..9c65fac 100644
--- a/chimere/admin.py
+++ b/chimere/admin.py
@@ -29,7 +29,11 @@ from django.http import HttpResponse
from django.shortcuts import render_to_response
from django.utils.translation import ugettext_lazy as _
-from chimere import tasks
+try:
+ from chimere import tasks
+except ImportError:
+ pass
+
from chimere.forms import MarkerAdminForm, RouteAdminForm, AreaAdminForm,\
NewsAdminForm, CategoryAdminForm
from chimere.models import Category, Icon, SubCategory, Marker, \
@@ -188,11 +192,14 @@ def export_to_osm(modeladmin, request, queryset):
tasks.exporting(importer.pk)
export_to_osm.short_description = _(u"Export to osm")
-class ImporterAdmin(admin.ModelAdmin):
- list_display = ('importer_type', 'source', 'state', 'filtr')
- list_filter = ('importer_type', 'source')
- readonly_fields = ('state',)
- actions = [importing, cancel_import, cancel_export]
+if 'tasks' in globals():
+ class ImporterAdmin(admin.ModelAdmin):
+ list_display = ('importer_type', 'source', 'state', 'filtr')
+ list_filter = ('importer_type', 'source')
+ readonly_fields = ('state',)
+ actions = [importing, cancel_import, cancel_export]
+ admin.site.register(Importer, ImporterAdmin)
+
class NewsAdmin(admin.ModelAdmin):
"""
@@ -247,5 +254,4 @@ admin.site.register(ColorTheme, ColorThemeAdmin)
admin.site.register(MultimediaType, MultimediaTypeAdmin)
admin.site.register(MultimediaFile, MultimediaFileAdmin)
admin.site.register(PictureFile, PictureFileAdmin)
-admin.site.register(Importer, ImporterAdmin)
admin.site.register(Layer)
diff --git a/chimere/tasks.py b/chimere/tasks.py
index 58af162..c69302f 100644
--- a/chimere/tasks.py
+++ b/chimere/tasks.py
@@ -17,6 +17,11 @@
# See the file COPYING for details.
+from django.conf import settings
+if 'kombu.transport.django' not in settings.INSTALLED_APPS \
+ or 'djcelery' in settings.INSTALLED_APPS:
+ raise ImportError
+
from celery.decorators import task
from django.core.exceptions import ObjectDoesNotExist