Skip to content

Commit 156ffc3

Browse files
authored
MAINT: enable cython-lint + fix errors (#519)
1 parent d706291 commit 156ffc3

File tree

10 files changed

+607
-368
lines changed

10 files changed

+607
-368
lines changed

.pre-commit-config.yaml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
files: 'pyogrio\/'
21
repos:
32
- repo: https://github.com/astral-sh/ruff-pre-commit
43
rev: "v0.11.5"
54
hooks:
65
- id: ruff-format
7-
- id: ruff
6+
- id: ruff
7+
- repo: https://github.com/MarcoGorelli/cython-lint
8+
rev: v0.16.6
9+
hooks:
10+
- id: cython-lint
11+
- id: double-quote-cython-strings

pyogrio/_err.pyx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ from contextvars import ContextVar
99
from itertools import zip_longest
1010

1111
from pyogrio._ogr cimport (
12-
CE_None, CE_Debug, CE_Warning, CE_Failure, CE_Fatal, CPLErrorReset,
13-
CPLGetLastErrorType, CPLGetLastErrorNo, CPLGetLastErrorMsg, OGRErr,
12+
CE_Warning, CE_Failure, CE_Fatal, CPLErrorReset,
13+
CPLGetLastErrorType, CPLGetLastErrorNo, CPLGetLastErrorMsg,
1414
OGRERR_NONE, CPLErr, CPLErrorHandler, CPLDefaultErrorHandler,
1515
CPLPopErrorHandler, CPLPushErrorHandler)
1616

@@ -242,7 +242,9 @@ cdef int check_int(int err) except -1:
242242
return err
243243

244244

245-
cdef void error_handler(CPLErr err_class, int err_no, const char* err_msg) noexcept nogil:
245+
cdef void error_handler(
246+
CPLErr err_class, int err_no, const char* err_msg
247+
) noexcept nogil:
246248
"""Custom CPL error handler to match the Python behaviour.
247249
248250
For non-fatal errors (CE_Failure), error printing to stderr (behaviour of
@@ -345,7 +347,7 @@ cdef class ErrorHandler:
345347
raise NullPointerError(-1, -1, "NULL pointer error")
346348

347349
return ptr
348-
350+
349351
cdef void _handle_error_stack(self, bint squash_errors):
350352
"""Handle the errors in `error_stack`."""
351353
stack = self.error_stack.get()

pyogrio/_geometry.pxd

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
from pyogrio._ogr cimport *
22

33
cdef str get_geometry_type(void *ogr_layer)
4-
cdef OGRwkbGeometryType get_geometry_type_code(str geometry_type) except *
4+
cdef OGRwkbGeometryType get_geometry_type_code(str geometry_type) except *

pyogrio/_geometry.pyx

Lines changed: 47 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -8,63 +8,63 @@ from pyogrio.errors import DataLayerError, GeometryError
88
# Mapping of OGR integer geometry types to GeoJSON type names.
99

1010
GEOMETRY_TYPES = {
11-
wkbUnknown: 'Unknown',
12-
wkbPoint: 'Point',
13-
wkbLineString: 'LineString',
14-
wkbPolygon: 'Polygon',
15-
wkbMultiPoint: 'MultiPoint',
16-
wkbMultiLineString: 'MultiLineString',
17-
wkbMultiPolygon: 'MultiPolygon',
18-
wkbGeometryCollection: 'GeometryCollection',
11+
wkbUnknown: "Unknown",
12+
wkbPoint: "Point",
13+
wkbLineString: "LineString",
14+
wkbPolygon: "Polygon",
15+
wkbMultiPoint: "MultiPoint",
16+
wkbMultiLineString: "MultiLineString",
17+
wkbMultiPolygon: "MultiPolygon",
18+
wkbGeometryCollection: "GeometryCollection",
1919
wkbNone: None,
20-
wkbLinearRing: 'LinearRing',
20+
wkbLinearRing: "LinearRing",
2121
# WARNING: Measured types are not supported in GEOS and downstream uses
2222
# these are stripped automatically to their corresponding 2D / 3D types
23-
wkbPointM: 'PointM',
24-
wkbLineStringM: 'Measured LineString',
25-
wkbPolygonM: 'Measured Polygon',
26-
wkbMultiPointM: 'Measured MultiPoint',
27-
wkbMultiLineStringM: 'Measured MultiLineString',
28-
wkbMultiPolygonM: 'Measured MultiPolygon',
29-
wkbGeometryCollectionM: 'Measured GeometryCollection',
30-
wkbPointZM: 'Measured 3D Point',
31-
wkbLineStringZM: 'Measured 3D LineString',
32-
wkbPolygonZM: 'Measured 3D Polygon',
33-
wkbMultiPointZM: 'Measured 3D MultiPoint',
34-
wkbMultiLineStringZM: 'Measured 3D MultiLineString',
35-
wkbMultiPolygonZM: 'Measured 3D MultiPolygon',
36-
wkbGeometryCollectionZM: 'Measured 3D GeometryCollection',
37-
wkbPoint25D: 'Point Z',
38-
wkbLineString25D: 'LineString Z',
39-
wkbPolygon25D: 'Polygon Z',
40-
wkbMultiPoint25D: 'MultiPoint Z',
41-
wkbMultiLineString25D: 'MultiLineString Z',
42-
wkbMultiPolygon25D: 'MultiPolygon Z',
43-
wkbGeometryCollection25D: 'GeometryCollection Z',
23+
wkbPointM: "PointM",
24+
wkbLineStringM: "Measured LineString",
25+
wkbPolygonM: "Measured Polygon",
26+
wkbMultiPointM: "Measured MultiPoint",
27+
wkbMultiLineStringM: "Measured MultiLineString",
28+
wkbMultiPolygonM: "Measured MultiPolygon",
29+
wkbGeometryCollectionM: "Measured GeometryCollection",
30+
wkbPointZM: "Measured 3D Point",
31+
wkbLineStringZM: "Measured 3D LineString",
32+
wkbPolygonZM: "Measured 3D Polygon",
33+
wkbMultiPointZM: "Measured 3D MultiPoint",
34+
wkbMultiLineStringZM: "Measured 3D MultiLineString",
35+
wkbMultiPolygonZM: "Measured 3D MultiPolygon",
36+
wkbGeometryCollectionZM: "Measured 3D GeometryCollection",
37+
wkbPoint25D: "Point Z",
38+
wkbLineString25D: "LineString Z",
39+
wkbPolygon25D: "Polygon Z",
40+
wkbMultiPoint25D: "MultiPoint Z",
41+
wkbMultiLineString25D: "MultiLineString Z",
42+
wkbMultiPolygon25D: "MultiPolygon Z",
43+
wkbGeometryCollection25D: "GeometryCollection Z",
4444
}
4545

46-
GEOMETRY_TYPE_CODES = {v:k for k, v in GEOMETRY_TYPES.items()}
46+
GEOMETRY_TYPE_CODES = {v: k for k, v in GEOMETRY_TYPES.items()}
4747

4848
# add additional aliases from 2.5D format
4949
GEOMETRY_TYPE_CODES.update({
50-
'2.5D Point': wkbPoint25D,
51-
'2.5D LineString': wkbLineString25D,
52-
'2.5D Polygon': wkbPolygon25D,
53-
'2.5D MultiPoint': wkbMultiPoint25D,
54-
'2.5D MultiLineString': wkbMultiLineString25D,
55-
'2.5D MultiPolygon': wkbMultiPolygon25D,
56-
'2.5D GeometryCollection': wkbGeometryCollection25D
50+
"2.5D Point": wkbPoint25D,
51+
"2.5D LineString": wkbLineString25D,
52+
"2.5D Polygon": wkbPolygon25D,
53+
"2.5D MultiPoint": wkbMultiPoint25D,
54+
"2.5D MultiLineString": wkbMultiLineString25D,
55+
"2.5D MultiPolygon": wkbMultiPolygon25D,
56+
"2.5D GeometryCollection": wkbGeometryCollection25D
5757
})
5858

5959
# 2.5D also represented using negative numbers not enumerated above
6060
GEOMETRY_TYPES.update({
61-
-2147483647: 'Point Z',
62-
-2147483646: 'LineString Z',
63-
-2147483645: 'Polygon Z',
64-
-2147483644: 'MultiPoint Z',
65-
-2147483643: 'MultiLineString Z',
66-
-2147483642: 'MultiPolygon Z',
67-
-2147483641: 'GeometryCollection Z',
61+
-2147483647: "Point Z",
62+
-2147483646: "LineString Z",
63+
-2147483645: "Polygon Z",
64+
-2147483644: "MultiPoint Z",
65+
-2147483643: "MultiLineString Z",
66+
-2147483642: "MultiPolygon Z",
67+
-2147483641: "GeometryCollection Z",
6868
})
6969

7070

@@ -80,7 +80,7 @@ cdef str get_geometry_type(void *ogr_layer):
8080
str
8181
geometry type
8282
"""
83-
cdef void *cogr_featuredef = NULL
83+
cdef void *ogr_featuredef = NULL
8484
cdef OGRwkbGeometryType ogr_type
8585

8686
try:
@@ -126,4 +126,4 @@ cdef OGRwkbGeometryType get_geometry_type_code(str geometry_type) except *:
126126
if geometry_type not in GEOMETRY_TYPE_CODES:
127127
raise GeometryError(f"Geometry type is not supported: {geometry_type}")
128128

129-
return GEOMETRY_TYPE_CODES[geometry_type]
129+
return GEOMETRY_TYPE_CODES[geometry_type]

0 commit comments

Comments
 (0)