Ticket #941 (closed enhancement: worksforme)
Add assertions and exceptions to upload handling
| Reported by: | uniomni | Owned by: | ingenieroariel |
|---|---|---|---|
| Priority: | major | Milestone: | 1.1 "Rock Solid" |
| Component: | Upload | Version: | 1.0 |
| Keywords: | Cc: | ||
| Total Hours: | 0.0 | Blocked By: | |
| Sensitive: | no | Estimated Hours: | 48 |
| Blocking: |
Description
GeoNode application at demo.riskinabox.org frequently crashes with stacktrace below.
First step to resolving this would be to introduce assertions to raise Exceptions with good error messages up the food chain.
Traceback:
File "/home/software/riab_env/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response
- response = callback(request, *callback_args, **callback_kwargs)
File "/home/software/riab/impact/views.py" in calculate
- user=request.user,
File "/home/software/riab/risiko/utilities.py" in save_to_geonode
- layer = file_upload(filename, user=user, title=title, overwrite=False)
File "/home/software/geonode/src/GeoNodePy/geonode/maps/utils.py" in file_upload
- new_layer = save(layer, filename, theuser, overwrite)
File "/home/software/geonode/src/GeoNodePy/geonode/maps/utils.py" in save
- owner=user,
File "/home/software/riab_env/lib/python2.6/site-packages/django/db/models/manager.py" in get_or_create
- return self.get_query_set().get_or_create(**kwargs)
File "/home/software/riab_env/lib/python2.6/site-packages/django/db/models/query.py" in get_or_create
- obj.save(force_insert=True, using=self.db)
File "/home/software/riab_env/lib/python2.6/site-packages/django/db/models/base.py" in save
- self.save_base(using=using, force_insert=force_insert, force_update=force_update)
File "/home/software/riab_env/lib/python2.6/site-packages/django/db/models/base.py" in save_base
- created=(not record_exists), raw=raw)
File "/home/software/riab_env/lib/python2.6/site-packages/django/dispatch/dispatcher.py" in send
- response = receiver(signal=self, sender=sender, **named)
File "/home/software/geonode/src/GeoNodePy/geonode/maps/models.py" in post_save_layer
- instance.save_to_geonetwork()
File "/home/software/geonode/src/GeoNodePy/geonode/maps/models.py" in save_to_geonetwork
- md_link = gn.create_from_layer(self)
File "/home/software/geonode/src/GeoNodePy/geonode/geonetwork.py" in create_from_layer
- self.set_metadata_privs(layer.uuid, {"all": {"view": True}})
File "/home/software/geonode/src/GeoNodePy/geonode/geonetwork.py" in set_metadata_privs
- data_dbid = doc.find('metadata/{ http://www.fao.org/geonetwork}info/id').text
Exception Type: AttributeError at /api/v1/calculate/
Exception Value: 'NoneType' object has no attribute 'text'
