From c7cfe88b732f7448cc6a114ca8ffdde3adf05461 Mon Sep 17 00:00:00 2001 From: kindly Date: Wed, 9 May 2012 15:28:03 +0100 Subject: [PATCH] [1.7] remove celery as dependancy --- ckan/logic/action/get.py | 5 +++++ ckan/model/__init__.py | 18 ++++++++++-------- ckan/tests/logic/test_action.py | 7 ++++++- requires/lucid_missing.txt | 1 - 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/ckan/logic/action/get.py b/ckan/logic/action/get.py index b0cb640802c..6c06d7f4f5e 100644 --- a/ckan/logic/action/get.py +++ b/ckan/logic/action/get.py @@ -484,6 +484,11 @@ def resource_show(context, data_dict): def resource_status_show(context, data_dict): + try: + import ckan.lib.celery_app as celery_app + except ImportError: + return {'message': 'queue is not installed on this instance'} + model = context['model'] id = get_or_bust(data_dict, 'id') diff --git a/ckan/model/__init__.py b/ckan/model/__init__.py index c49cb1b3336..025c3b46c7a 100644 --- a/ckan/model/__init__.py +++ b/ckan/model/__init__.py @@ -83,14 +83,16 @@ def init_db(self): self.upgrade_db() ## make sure celery tables are made as celery only makes them after ## adding a task - import ckan.lib.celery_app as celery_app - import celery.db.session as celery_session - - ##This creates the database tables it is a slight hack to celery. - backend = celery_app.celery.backend - celery_result_session = backend.ResultSession() - engine = celery_result_session.bind - celery_session.ResultModelBase.metadata.create_all(engine) + try: + import ckan.lib.celery_app as celery_app + import celery.db.session as celery_session + ##This creates the database tables it is a slight hack to celery. + backend = celery_app.celery.backend + celery_result_session = backend.ResultSession() + engine = celery_result_session.bind + celery_session.ResultModelBase.metadata.create_all(engine) + except ImportError: + pass self.init_configuration_data() self.tables_created_and_initialised = True diff --git a/ckan/tests/logic/test_action.py b/ckan/tests/logic/test_action.py index a3294f118a1..2c62600a31f 100644 --- a/ckan/tests/logic/test_action.py +++ b/ckan/tests/logic/test_action.py @@ -2,6 +2,7 @@ import json from pprint import pprint from nose.tools import assert_equal, assert_raises +from nose.plugins.skip import SkipTest from pylons import config import ckan @@ -1544,7 +1545,11 @@ def test_38_user_role_bulk_update(self): def test_40_task_resource_status(self): - import ckan.lib.celery_app as celery_app + try: + import ckan.lib.celery_app as celery_app + except ImportError: + raise SkipTest('celery not installed') + backend = celery_app.celery.backend ##This creates the database tables as a side effect, can not see another way ##to make tables unless you actually create a task. diff --git a/requires/lucid_missing.txt b/requires/lucid_missing.txt index dccb362c0ec..8b5789e08c8 100644 --- a/requires/lucid_missing.txt +++ b/requires/lucid_missing.txt @@ -20,4 +20,3 @@ ofs==0.4.1 apachemiddleware==0.1.1 # markupsafe is required by webhelpers==1.2 required by formalchemy with SQLAlchemy 0.6 markupsafe==0.9.2 -celery==2.5.3