[ckan-discuss] Difficulty deleting resources

Adrià Mercader adria.mercader at okfn.org
Fri Nov 15 10:47:41 UTC 2013


Hi Brian,

To delete a resource you need to provide the internal id on the
resource_delete call, eg:

curl -d '{"id": "e8d5339e-1d00-4ba9-b8e5-8ffa1a3d054f"}' -H
'Authorization: xxxx' http://localhost:5000/api/action/resource_delete


BTW, ckanapi will be probably easy to use with the new API than ckanclient:

https://github.com/open-data/ckanapi


Hope this helps,

Adrià


On 9 November 2013 22:51, Brian Lee Yung Rowe <rowe at muxspace.com> wrote:
> Hello,
>
> I am having a trouble deleting resources via the CKAN API. Really what I want to do is update a JSON resource with a newer version of the JSON. I've tried a few different approaches, none of which have succeeded. Any help is greatly appreciated.
>
> Method 1: ckanclient
> client = CkanClient('http://odessa.zatonovo.com/api/3', apikey)
> client.action('resource_delete', id='cw_articles-2013-11-04.json')
>
> CkanApiNotAuthorizedError                 Traceback (most recent call last)
>
>     538         self.reset()
>     539         url = self.get_action_location(action_name)
> --> 540         self.open_action_url(url, kwargs)
>     541         return self.last_result
>
> Note that the resource_show action works fine:
> client.action('resource_show', id='cw_articles-2013-11-04.json')
> {u'cache_last_updated': None,
>  u'cache_url': None,
>  u'created': u'2013-11-06T02:04:22.625862',
>  u'description': u'',
>  u'format': u'JSON',
>  u'hash': u'',
> ...
>
>
> Method 2: curl
> curl -X POST -d '{ "state":"deleted", "id":"cw_articles-2013-11-04.json"}' -H "Authorization:apikey" "http://odessa.zatonovo.com/api/3/action/resource_delete"
>
> This results in an Internal Server Error, the source of which is a SQL Alchemy assertion error.
>
> [Sat Nov 09 22:06:45 2013] [error] [client 64.131.129.125] File '/usr/lib/ckan/default/lib/python2.7/site-packages/sqlalchemy/orm/unitofwork.py', line 475 in execute
> [Sat Nov 09 22:06:45 2013] [error] [client 64.131.129.125]   uow
> [Sat Nov 09 22:06:45 2013] [error] [client 64.131.129.125] File '/usr/lib/ckan/default/lib/python2.7/site-packages/sqlalchemy/orm/persistence.py', line 45 in save_obj
> [Sat Nov 09 22:06:45 2013] [error] [client 64.131.129.125]   uowtransaction)
> [Sat Nov 09 22:06:45 2013] [error] [client 64.131.129.125] File '/usr/lib/ckan/default/lib/python2.7/site-packages/sqlalchemy/orm/persistence.py', line 149 in _organize_states_for_save
> [Sat Nov 09 22:06:45 2013] [error] [client 64.131.129.125]   mapper.dispatch.before_update(mapper, connection, state)
> [Sat Nov 09 22:06:45 2013] [error] [client 64.131.129.125] File '/usr/lib/ckan/default/lib/python2.7/site-packages/sqlalchemy/event.py', line 291 in __call__
> [Sat Nov 09 22:06:45 2013] [error] [client 64.131.129.125]   fn(*args, **kw)
> [Sat Nov 09 22:06:45 2013] [error] [client 64.131.129.125] File '/usr/lib/ckan/default/lib/python2.7/site-packages/sqlalchemy/orm/events.py', line 363 in wrap
> [Sat Nov 09 22:06:45 2013] [error] [client 64.131.129.125]   return wrapped_fn(*arg, **kw)
> [Sat Nov 09 22:06:45 2013] [error] [client 64.131.129.125] File '/usr/lib/ckan/default/lib/python2.7/site-packages/vdm/sqlalchemy/base.py', line 606 in before_update
> [Sat Nov 09 22:06:45 2013] [error] [client 64.131.129.125]   self.set_revision(instance)
> [Sat Nov 09 22:06:45 2013] [error] [client 64.131.129.125] File '/usr/lib/ckan/default/lib/python2.7/site-packages/vdm/sqlalchemy/base.py', line 532 in set_revision
> [Sat Nov 09 22:06:45 2013] [error] [client 64.131.129.125]   assert current_rev, 'No revision is currently set for this Session'
> [Sat Nov 09 22:06:45 2013] [error] [client 64.131.129.125] AssertionError: No revision is currently set for this Session
>
>
> Platform info: Ubuntu 12.04.2 LTS
>
> $ apt-cache show python-ckan
> Package: python-ckan
> Status: install ok installed
> Version: 2.0.2-1
>
> Many Thanks,
> Brian
> _______________________________________________
> ckan-discuss mailing list
> ckan-discuss at lists.okfn.org
> http://lists.okfn.org/mailman/listinfo/ckan-discuss
> Unsubscribe: http://lists.okfn.org/mailman/options/ckan-discuss


More information about the ckan-discuss mailing list