Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:jayvdb:branches:devel:languages:python:misc
python-papyrus
upstream-post-2.2.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File upstream-post-2.2.patch of Package python-papyrus
From a36bed660fc1b7ee404bd4353e3b808c28b255a4 Mon Sep 17 00:00:00 2001 From: Frederic Junod <frederic.junod@camptocamp.com> Date: Mon, 9 May 2016 08:36:00 +0200 Subject: [PATCH 1/8] Change 'update' HTTP response from 201 to 200 --- papyrus/protocol.py | 2 +- papyrus/tests/test_protocol.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/papyrus/protocol.py b/papyrus/protocol.py index c267c6f..40e5b06 100644 --- a/papyrus/protocol.py +++ b/papyrus/protocol.py @@ -351,7 +351,7 @@ def update(self, request, id): self.before_update(request, feature, obj) obj.__update__(feature) session.flush() - request.response.status_int = 201 + request.response.status_int = 200 return obj def delete(self, request, id): diff --git a/papyrus/tests/test_protocol.py b/papyrus/tests/test_protocol.py index 995e334..d1410c0 100644 --- a/papyrus/tests/test_protocol.py +++ b/papyrus/tests/test_protocol.py @@ -793,7 +793,7 @@ def before_update(request, feature, obj): self.assertTrue(isinstance(request._log["obj"], MappedClass)) # test response status - self.assertEqual(request.response.status_int, 201) + self.assertEqual(request.response.status_int, 200) def test_delete_forbidden(self): from papyrus.protocol import Protocol From 1e3647179ec0e6169f587886f0cb9657ab2e4789 Mon Sep 17 00:00:00 2001 From: Frederic Junod <frederic.junod@camptocamp.com> Date: Fri, 13 Jan 2017 13:50:34 +0100 Subject: [PATCH 4/8] Fix ST_Transform name in tests --- papyrus/tests/test_protocol.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/papyrus/tests/test_protocol.py b/papyrus/tests/test_protocol.py index d1410c0..c3accf3 100644 --- a/papyrus/tests/test_protocol.py +++ b/papyrus/tests/test_protocol.py @@ -99,10 +99,10 @@ def test_box_filter_with_epsg(self): compiled_filter = filter.compile(self._get_engine()) params = compiled_filter.params filter_str = _compiled_to_string(compiled_filter) - self.assertEqual(filter_str, b'ST_DWITHIN(ST_Transform("table".geom, %(param_1)s), ST_GeomFromWKB(%(ST_GeomFromWKB_1)s, %(ST_GeomFromWKB_2)s), %(ST_DWITHIN_1)s)') # NOQA + self.assertEqual(filter_str, b'ST_DWITHIN(ST_Transform("table".geom, %(ST_Transform_1)s), ST_GeomFromWKB(%(ST_GeomFromWKB_1)s, %(ST_GeomFromWKB_2)s), %(ST_DWITHIN_1)s)') # NOQA self.assertTrue(wkb.loads(bytes(params["ST_GeomFromWKB_1"])).equals(wkt.loads('POLYGON ((-180 -90, -180 90, 180 90, 180 -90, -180 -90))'))) # NOQA self.assertEqual(params["ST_GeomFromWKB_2"], 900913) - self.assertEqual(params["param_1"], 900913) + self.assertEqual(params["ST_Transform_1"], 900913) self.assertEqual(params["ST_DWITHIN_1"], 1) def test_within_filter(self): @@ -133,10 +133,10 @@ def test_within_filter_with_epsg(self): compiled_filter = filter.compile(self._get_engine()) params = compiled_filter.params filter_str = _compiled_to_string(compiled_filter) - self.assertEqual(filter_str, b'ST_DWITHIN(ST_Transform("table".geom, %(param_1)s), ST_GeomFromWKB(%(ST_GeomFromWKB_1)s, %(ST_GeomFromWKB_2)s), %(ST_DWITHIN_1)s)') # NOQA + self.assertEqual(filter_str, b'ST_DWITHIN(ST_Transform("table".geom, %(ST_Transform_1)s), ST_GeomFromWKB(%(ST_GeomFromWKB_1)s, %(ST_GeomFromWKB_2)s), %(ST_DWITHIN_1)s)') # NOQA self.assertTrue(wkb.loads(bytes(params["ST_GeomFromWKB_1"])).equals(wkt.loads('POINT (40 5)'))) # NOQA self.assertEqual(params["ST_GeomFromWKB_2"], 900913) - self.assertEqual(params["param_1"], 900913) + self.assertEqual(params["ST_Transform_1"], 900913) self.assertEqual(params["ST_DWITHIN_1"], 1) def test_polygon_filter(self): @@ -172,10 +172,10 @@ def test_polygon_filter_with_epsg(self): compiled_filter = filter.compile(self._get_engine()) params = compiled_filter.params filter_str = _compiled_to_string(compiled_filter) - self.assertEqual(filter_str, b'ST_DWITHIN(ST_Transform("table".geom, %(param_1)s), ST_GeomFromWKB(%(ST_GeomFromWKB_1)s, %(ST_GeomFromWKB_2)s), %(ST_DWITHIN_1)s)') # NOQA + self.assertEqual(filter_str, b'ST_DWITHIN(ST_Transform("table".geom, %(ST_Transform_1)s), ST_GeomFromWKB(%(ST_GeomFromWKB_1)s, %(ST_GeomFromWKB_2)s), %(ST_DWITHIN_1)s)') # NOQA self.assertTrue(wkb.loads(bytes(params["ST_GeomFromWKB_1"])).equals(poly)) # NOQA self.assertEqual(params["ST_GeomFromWKB_2"], 900913) - self.assertEqual(params["param_1"], 900913) + self.assertEqual(params["ST_Transform_1"], 900913) self.assertEqual(params["ST_DWITHIN_1"], 1) def test_geom_filter_no_params(self): From e23bac5eb4f8ea53636396276694f6eb5dd34c90 Mon Sep 17 00:00:00 2001 From: Frederic Junod <frederic.junod@camptocamp.com> Date: Fri, 13 Jan 2017 11:56:16 +0100 Subject: [PATCH 5/8] Fix membership test in create_geom_filter --- papyrus/protocol.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/papyrus/protocol.py b/papyrus/protocol.py index 40e5b06..0e4e628 100644 --- a/papyrus/protocol.py +++ b/papyrus/protocol.py @@ -85,7 +85,7 @@ def create_geom_filter(request, mapped_class, geom_attr): shape = Polygon(((box[0], box[1]), (box[0], box[3]), (box[2], box[3]), (box[2], box[1]), (box[0], box[1]))) - elif 'lon' and 'lat' in request.params: + elif 'lon' in request.params and 'lat' in request.params: shape = Point(float(request.params['lon']), float(request.params['lat'])) elif 'geometry' in request.params: From ecd8fd2fd3940ae83c63b38011f1b06a47f1a6c0 Mon Sep 17 00:00:00 2001 From: Frederic Junod <frederic.junod@camptocamp.com> Date: Mon, 23 Jan 2017 11:05:11 +0100 Subject: [PATCH 6/8] Change content type to 'application/geo+json' See https://tools.ietf.org/html/rfc7946#section-12: > The media type for GeoJSON text is "application/geo+json" [...] --- papyrus/renderers.py | 2 +- papyrus/tests/test_renderers.py | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/papyrus/renderers.py b/papyrus/renderers.py index 7cd28f8..9900c81 100644 --- a/papyrus/renderers.py +++ b/papyrus/renderers.py @@ -73,7 +73,7 @@ def _render(value, system): if ct == response.default_content_type: callback = request.params.get(self.jsonp_param_name) if callback is None: - response.content_type = 'application/json' + response.content_type = 'application/geo+json' else: response.content_type = 'text/javascript' ret = ('%(callback)s(%(json)s);' % diff --git a/papyrus/tests/test_renderers.py b/papyrus/tests/test_renderers.py index 6a0f8fa..0856329 100644 --- a/papyrus/tests/test_renderers.py +++ b/papyrus/tests/test_renderers.py @@ -29,7 +29,7 @@ def test_geojson(self): result = renderer(f, {'request': request}) result_parsed = json.loads(result) self.assertEqual(result_parsed, {"geometry": {"type": "Point", "coordinates": [53, -4]}, "type": "Feature", "id": 1, "properties": {"title": "Dict 1"}}) # NOQA - self.assertEqual(request.response.content_type, 'application/json') + self.assertEqual(request.response.content_type, 'application/geo+json') def test_geojson_content_type(self): renderer = self._callFUT() @@ -59,7 +59,7 @@ def test_Decimal(self): result = renderer(f, {'request': request}) result_parsed = json.loads(result) self.assertEqual(result_parsed, {"geometry": {"type": "Point", "coordinates": [53, -4]}, "type": "Feature", "id": 1, "properties": {"decimal": 0.003}}) # NOQA - self.assertEqual(request.response.content_type, 'application/json') + self.assertEqual(request.response.content_type, 'application/geo+json') def test_date(self): renderer = self._callFUT() @@ -74,7 +74,7 @@ def test_date(self): result = renderer(f, {'request': request}) result_parsed = json.loads(result) self.assertEqual(result_parsed, {"geometry": {"type": "Point", "coordinates": [53, -4]}, "type": "Feature", "id": 1, "properties": {"date": "2011-05-21"}}) # NOQA - self.assertEqual(request.response.content_type, 'application/json') + self.assertEqual(request.response.content_type, 'application/geo+json') def test_datetime(self): renderer = self._callFUT() @@ -90,7 +90,7 @@ def test_datetime(self): result = renderer(f, {'request': request}) result_parsed = json.loads(result) self.assertEqual(result_parsed, {"geometry": {"type": "Point", "coordinates": [53, -4]}, "type": "Feature", "id": 1, "properties": {"datetime": "2011-05-21T20:55:12"}}) # NOQA - self.assertEqual(request.response.content_type, 'application/json') + self.assertEqual(request.response.content_type, 'application/geo+json') def test_jsonp(self): renderer = self._callFUT() @@ -122,7 +122,7 @@ def test_jsonp_param_name(self): result = renderer(f, {'request': request}) result_parsed = json.loads(result) self.assertEqual(result_parsed, {"geometry": {"type": "Point", "coordinates": [53, -4]}, "type": "Feature", "id": 1, "properties": {"title": "Dict 1"}}) # NOQA - self.assertEqual(request.response.content_type, 'application/json') + self.assertEqual(request.response.content_type, 'application/geo+json') request = testing.DummyRequest() request.params['cb'] = 'jsonp_cb' result = renderer(f, {'request': request}) @@ -144,7 +144,7 @@ def test_type_for_array_default(self): result = renderer([f], {'request': request}) result_parsed = json.loads(result) self.assertEqual(result_parsed, {"type": "FeatureCollection", "features": [{"geometry": {"type": "Point", "coordinates": [53, -4]}, "type": "Feature", "id": 1, "properties": {"title": "Dict 1"}}]}) # NOQA - self.assertEqual(request.response.content_type, 'application/json') + self.assertEqual(request.response.content_type, 'application/geo+json') def test_collection_type(self): renderer = self._callFUT(collection_type='GeometryCollection') @@ -156,11 +156,11 @@ def test_collection_type(self): result_parsed = json.loads(result) self.assertEqual(result_parsed, {"type": "Point", "coordinates": [53, -4]}) - self.assertEqual(request.response.content_type, 'application/json') + self.assertEqual(request.response.content_type, 'application/geo+json') result = renderer([f], {'request': request}) result_parsed = json.loads(result) self.assertEqual(result_parsed, {"type": "GeometryCollection", "geometries": [{"type": "Point", "coordinates": [53, -4]}]}) # NOQA - self.assertEqual(request.response.content_type, 'application/json') + self.assertEqual(request.response.content_type, 'application/geo+json') class Test_XSD(unittest.TestCase):
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor