From 504917d56ff6edb6a352f1724fba64a6c9b270e1 Mon Sep 17 00:00:00 2001 From: Dominik Moritz Date: Wed, 19 Sep 2012 13:48:19 +0100 Subject: [PATCH] renamed datastore urls and removed ckan.datastore.enabled = 1 --- ckan/config/deployment.ini_tmpl | 9 +++++---- ckanext/datastore/commands.py | 4 ++-- ckanext/datastore/logic/action.py | 10 +++++----- ckanext/datastore/plugin.py | 18 +++++++++--------- doc/datastore.rst | 6 +++--- 5 files changed, 24 insertions(+), 23 deletions(-) diff --git a/ckan/config/deployment.ini_tmpl b/ckan/config/deployment.ini_tmpl index fda532ba54e..04df5972377 100644 --- a/ckan/config/deployment.ini_tmpl +++ b/ckan/config/deployment.ini_tmpl @@ -44,6 +44,11 @@ sqlalchemy.url = postgresql://ckanuser:pass@localhost/ckantest #sqlalchemy.url = sqlite:/// #sqlalchemy.url = sqlite:///%(here)s/somedb.db +## Datastore +## Uncommment to set the datastore urls +#ckan.datastore.write_url = postgresql://ckanuser:pass@localhost/ckantest +#ckan.datastore.read_url = postgresql://readonlyuser:pass@localhost/ckantest + # repoze.who config who.config_file = %(here)s/who.ini who.log_level = warning @@ -226,10 +231,6 @@ ckan.feeds.author_link = #ofs.aws_access_key_id = .... #ofs.aws_secret_access_key = .... -## Webstore -## Uncommment to enable datastore -# ckan.datastore.enabled = 1 - ## =================================== ## Extensions diff --git a/ckanext/datastore/commands.py b/ckanext/datastore/commands.py index 40842f83083..e078be1c6f1 100644 --- a/ckanext/datastore/commands.py +++ b/ckanext/datastore/commands.py @@ -68,8 +68,8 @@ def command(self): cmd = self.args[0] self._load_config() - self.urlparts_w = self._get_db_config('ckan.datastore_write_url') - self.urlparts_r = self._get_db_config('ckan.datastore_read_url') + self.urlparts_w = self._get_db_config('ckan.datastore.write_url') + self.urlparts_r = self._get_db_config('ckan.datastore.read_url') self.urlparts_c = self._get_db_config('sqlalchemy.url') assert self.urlparts_w['db_name'] == self.urlparts_r['db_name'], "write and read db should be the same" diff --git a/ckanext/datastore/logic/action.py b/ckanext/datastore/logic/action.py index 734d163d4c1..6a5da311f40 100644 --- a/ckanext/datastore/logic/action.py +++ b/ckanext/datastore/logic/action.py @@ -39,7 +39,7 @@ def datastore_create(context, data_dict): p.toolkit.check_access('datastore_create', context, data_dict) - data_dict['connection_url'] = pylons.config['ckan.datastore_write_url'] + data_dict['connection_url'] = pylons.config['ckan.datastore.write_url'] # validate aliases aliases = db._get_list(data_dict.get('aliases', [])) @@ -84,7 +84,7 @@ def datastore_upsert(context, data_dict): p.toolkit.check_access('datastore_upsert', context, data_dict) - data_dict['connection_url'] = pylons.config['ckan.datastore_write_url'] + data_dict['connection_url'] = pylons.config['ckan.datastore.write_url'] result = db.upsert(context, data_dict) result.pop('id') @@ -114,7 +114,7 @@ def datastore_delete(context, data_dict): p.toolkit.check_access('datastore_delete', context, data_dict) - data_dict['connection_url'] = pylons.config['ckan.datastore_write_url'] + data_dict['connection_url'] = pylons.config['ckan.datastore.write_url'] result = db.delete(context, data_dict) result.pop('id') @@ -160,7 +160,7 @@ def datastore_search(context, data_dict): ''' res_id = _get_or_bust(data_dict, 'resource_id') - data_dict['connection_url'] = pylons.config['ckan.datastore_read_url'] + data_dict['connection_url'] = pylons.config['ckan.datastore.read_url'] resources_sql = sqlalchemy.text(u'SELECT 1 FROM "_table_metadata" WHERE name = :id') results = db._get_engine(None, data_dict).execute(resources_sql, id=res_id) @@ -203,7 +203,7 @@ def datastore_search_sql(context, data_dict): p.toolkit.check_access('datastore_search', context, data_dict) - data_dict['connection_url'] = pylons.config['ckan.datastore_read_url'] + data_dict['connection_url'] = pylons.config['ckan.datastore.read_url'] result = db.search_sql(context, data_dict) result.pop('id', None) diff --git a/ckanext/datastore/plugin.py b/ckanext/datastore/plugin.py index a0a71bbc401..ce78381367f 100644 --- a/ckanext/datastore/plugin.py +++ b/ckanext/datastore/plugin.py @@ -25,13 +25,13 @@ class DatastorePlugin(p.SingletonPlugin): def configure(self, config): self.config = config - # check for ckan.datastore_write_url and ckan.datastore_read_url - if (not 'ckan.datastore_write_url' in config): - error_msg = 'ckan.datastore_write_url not found in config' + # check for ckan.datastore.write_url and ckan.datastore.read_url + if (not 'ckan.datastore.write_url' in config): + error_msg = 'ckan.datastore.write_url not found in config' raise DatastoreException(error_msg) - if (not 'ckan.datastore_read_url' in config): - error_msg = 'ckan.datastore_read_url not found in config' + if (not 'ckan.datastore.read_url' in config): + error_msg = 'ckan.datastore.read_url not found in config' raise DatastoreException(error_msg) # Check whether we are running one of the paster commands which means @@ -43,8 +43,8 @@ def configure(self, config): return self.ckan_url = self.config['sqlalchemy.url'] - self.write_url = self.config['ckan.datastore_write_url'] - self.read_url = self.config['ckan.datastore_read_url'] + self.write_url = self.config['ckan.datastore.write_url'] + self.read_url = self.config['ckan.datastore.read_url'] if not self._is_read_only_database(): # Make sure that the right permissions are set @@ -69,7 +69,7 @@ def configure(self, config): def new_resource_show(context, data_dict): engine = db._get_engine( context, - {'connection_url': config['ckan.datastore_read_url']} + {'connection_url': config['ckan.datastore.read_url']} ) new_data_dict = resource_show(context, data_dict) try: @@ -185,7 +185,7 @@ def _create_alias_table(self): ''' create_alias_table_sql = u'CREATE OR REPLACE VIEW "_table_metadata" AS {0}'.format(mapping_sql) connection = db._get_engine(None, - {'connection_url': pylons.config['ckan.datastore_write_url']}).connect() + {'connection_url': pylons.config['ckan.datastore.write_url']}).connect() connection.execute(create_alias_table_sql) def get_actions(self): diff --git a/doc/datastore.rst b/doc/datastore.rst index c946b3d113b..3b10ea17b57 100644 --- a/doc/datastore.rst +++ b/doc/datastore.rst @@ -44,10 +44,10 @@ In your config file ensure that the datastore extension is enabled:: ckan.plugins = datastore -Also ensure that the ``ckan.datastore_write_url`` and ``datastore_read_url`` variables are set:: +Also ensure that the ``ckan.datastore.write_url`` and ``datastore.read_url`` variables are set:: - ckan.datastore_write_url = postgresql://ckanuser:pass@localhost/datastore - ckan.datastore_read_url = postgresql://readonlyuser:pass@localhost/datastore + ckan.datastore.write_url = postgresql://ckanuser:pass@localhost/datastore + ckan.datastore.read_url = postgresql://readonlyuser:pass@localhost/datastore A few things have to be kept in mind