<div dir="ltr"><div dir="ltr"><span style="font-variant-numeric:normal;font-variant-east-asian:normal">Hi Everyone,</span></div><div dir="ltr" style="font-variant-numeric:normal;font-variant-east-asian:normal"><br>This is my report for the period (July 7- August 2). The updated report can also be found at the project wiki page <a href="https://wiki.osgeo.org/wiki/GSoC_2020_Develop_CQL_Filter_implementation_for_pygeoapi" target="_blank">https://wiki.osgeo.org/wiki/GSoC_2020_Develop_CQL_Filter_implementation_for_pygeoapi</a>. The forked repo of the project can be found here <a href="https://github.com/FarheenB/pygeoapi" target="_blank">https://github.com/FarheenB/pygeoapi</a></div><div dir="ltr" style="font-variant-numeric:normal;font-variant-east-asian:normal"><br></div><div dir="ltr" style="font-variant-numeric:normal;font-variant-east-asian:normal"><b style="font-family:sans-serif">What I have done during this period?</b><br><ul style="margin:0.3em 0px 0px 1.6em;padding:0px;font-family:sans-serif"><li style="margin-bottom:0.1em">Worked on the implementation of the proposed CQL class design for delivering a generic code base.</li><li style="margin-bottom:0.1em">Created a generic class in cql_evaluate.py file for parsing and evaluating AST on feature data provided by different pygeoapi data providers.</li><li style="margin-bottom:0.1em">Restructured filter class.</li><li style="margin-bottom:0.1em">Implemented CQL query filter for GeoJSON data provider.</li><li style="margin-bottom:0.1em">Added routing for API based on query parameters- limit, start-index and CQL filter expressions.</li><li style="margin-bottom:0.1em">Added code for generating accurate output when result-type=hits or result-type=results.</li><li style="margin-bottom:0.1em">Added code on pagination for the resultant feature list.</li><li style="margin-bottom:0.1em">Added code for invalid query parameter for CQL filter expression.</li><li style="margin-bottom:0.1em">Defined a function for evaluating <b>BetweenPredicateNode</b> of AST.</li><li style="margin-bottom:0.1em">Defined a function for evaluating <b>InPredicateNode</b> of AST.</li><li style="margin-bottom:0.1em">Defined a function for evaluating <b>NullPredicateNode</b> of AST.</li><li style="margin-bottom:0.1em">Added unit tests for CSV and GeoJSON data providers.</li><li style="margin-bottom:0.1em">Added functional tests for flask endpoints.</li></ul><b style="font-family:sans-serif"><div dir="ltr" style="font-variant-numeric:normal;font-variant-east-asian:normal"><b style="font-family:sans-serif"><br></b></div>What am I going to achieve for next week?</b><br><ul style="margin:0.3em 0px 0px 1.6em;padding:0px;font-family:sans-serif"><li style="margin-bottom:0.1em">Define functions for evaluating LikePredicateNode, ArithmeticExpressionNode, TemporalPredicateNode, SpatialPredicateNode, and BBoxPredicateNode of AST.</li><li style="margin-bottom:0.1em">Perform the evaluation of CQL Filter expressions for remaining data providers of pygeoapi.</li></ul><b style="font-family:sans-serif"><div dir="ltr" style="font-variant-numeric:normal;font-variant-east-asian:normal"><b style="font-family:sans-serif"><br></b></div>Are there any blockers?</b><br><ul style="margin:0.3em 0px 0px 1.6em;padding:0px;font-family:sans-serif"><li style="margin-bottom:0.1em">No blockers for now</li></ul><div><font face="sans-serif"><br></font></div><div><span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-size:13.33px">Regards,</span><br style="font-variant-numeric:normal;font-variant-east-asian:normal;font-size:13.33px"><span style="font-variant-numeric:normal;font-variant-east-asian:normal;font-size:13.33px">Farheen Bano</span> <font face="sans-serif"><br></font></div></div></div>