diff --git a/CHANGES.rst b/CHANGES.rst index bcd98fe0..48067e20 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -2,6 +2,12 @@ Changes ------- +3.2.3 +~~~~~ + +- fixes https://github.com/clld/clld/issues/122 + + 3.2.2 ~~~~~ diff --git a/clld/__init__.py b/clld/__init__.py index 9fba138c..c74c6e4f 100644 --- a/clld/__init__.py +++ b/clld/__init__.py @@ -5,7 +5,7 @@ from clld import interfaces -__version__ = "3.2.2" +__version__ = "3.2.3" class Resource(namedtuple('Resource', 'name model interface with_index with_rdfdump')): diff --git a/clld/tests/test_web_adapters_csv.py b/clld/tests/test_web_adapters_csv.py index 87a57f99..c0f2e920 100644 --- a/clld/tests/test_web_adapters_csv.py +++ b/clld/tests/test_web_adapters_csv.py @@ -22,11 +22,17 @@ def test_CsvwJsonAdapter(self): from clld.web.adapters.csv import CsvmJsonAdapter adapter = CsvmJsonAdapter(None) - res = adapter.render( - datatables.Languages(self.env['request'], Language), self.env['request']) - self.assertIn('tableSchema', json.loads(res)) + res = json.loads(adapter.render( + datatables.Languages(self.env['request'], Language), self.env['request'])) + self.assertNotEqual(res['tableSchema']['columns'], []) + res = adapter.render( datatables.Valuesets(self.env['request'], ValueSet), self.env['request']) self.assertIn('foreignKeys', json.loads(res)['tableSchema']) adapter.render_to_response( datatables.Valuesets(self.env['request'], ValueSet), self.env['request']) + + self._set_request_property('params', {'sSearch_0': 'xyz'}) + res = json.loads(adapter.render( + datatables.Languages(self.env['request'], Language), self.env['request'])) + self.assertEqual(res['tableSchema']['columns'], []) diff --git a/clld/web/adapters/csv.py b/clld/web/adapters/csv.py index 9afe7acc..9cd5390d 100644 --- a/clld/web/adapters/csv.py +++ b/clld/web/adapters/csv.py @@ -129,10 +129,11 @@ def csvm_doc(cls, url, req, cols): def render(self, ctx, req): item = ctx.get_query(limit=1).first() + fields = item.csv_head() if item else [] cls = inspect(item).class_ if item else None doc = self.csvm_doc( req.url.replace('.csv-metadata.json', '.csv'), req, - [(field, getattr(cls, field, None)) for field in item.csv_head()]) + [(field, getattr(cls, field, None)) for field in fields]) doc["dc:title"] = "{0} - {1}".format(req.dataset.name, ctx) return pyramid_render('json', doc, request=req) diff --git a/docs/conf.py b/docs/conf.py index 99b9b521..06d1c8d9 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -51,10 +51,10 @@ # built documents. # # The full version, including alpha/beta/rc tags. -release = '3.2.2' +release = '3.2.3' # The short X.Y version. -version = '3.2.2' +version = '3.2.3' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/setup.py b/setup.py index 74eeda7b..a0a01e8a 100644 --- a/setup.py +++ b/setup.py @@ -73,7 +73,7 @@ setup( name='clld', - version='3.2.2', + version='3.2.3', description=( 'Python library supporting the development of cross-linguistic databases'), long_description=README,