Skip to content

Commit 00952af

Browse files
committed
simplify typemap for convertFieldToObject()
1 parent 05c7fc9 commit 00952af

1 file changed

Lines changed: 0 additions & 147 deletions

File tree

src/gstype_python.i

Lines changed: 0 additions & 147 deletions
Original file line numberDiff line numberDiff line change
@@ -228,159 +228,12 @@ static PyObject* convertFieldToObject(GSValue* value, GSType type, bool timestam
228228
case GS_TYPE_NULL:
229229
Py_RETURN_NONE;
230230
%#endif
231-
case GS_TYPE_BLOB:
232-
return PyByteArray_FromStringAndSize((GSChar *)value->asBlob.data, value->asBlob.size);
233-
234-
case GS_TYPE_BOOL:
235-
return PyBool_FromLong(value->asBool);
236231
case GS_TYPE_INTEGER:
237232
return PyInt_FromLong(value->asInteger);
238-
case GS_TYPE_FLOAT:
239-
return PyFloat_FromDouble(value->asFloat);
240233
case GS_TYPE_DOUBLE:
241234
return PyFloat_FromDouble(value->asDouble);
242235
case GS_TYPE_TIMESTAMP:
243236
return convertTimestampToObject(&value->asTimestamp, timestampToFloat);
244-
case GS_TYPE_BYTE:
245-
return PyInt_FromLong(value->asByte);
246-
case GS_TYPE_SHORT:
247-
return PyInt_FromLong(value->asShort);
248-
case GS_TYPE_GEOMETRY:
249-
return convertStrToObj(value->asGeometry);
250-
case GS_TYPE_INTEGER_ARRAY:{
251-
const int32_t *intArrVal;
252-
%#if GS_COMPATIBILITY_VALUE_1_1_106
253-
size = value->asIntegerArray.size;
254-
intArrVal = value->asIntegerArray.elements;
255-
%#else
256-
size = value->asArray.length;
257-
intArrVal = value->asArray.elements.asInteger;
258-
%#endif
259-
list = PyList_New(size);
260-
for (i = 0; i < size; i++) {
261-
PyList_SetItem(list, i, PyInt_FromLong(intArrVal[i]));
262-
}
263-
return list;
264-
}
265-
case GS_TYPE_STRING_ARRAY: {
266-
const GSChar *const *stringArrVal;
267-
%#if GS_COMPATIBILITY_VALUE_1_1_106
268-
size = value->asStringArray.size;
269-
stringArrVal = value->asStringArray.elements;
270-
%#else
271-
size = value->asArray.length;
272-
stringArrVal = value->asArray.elements.asString;
273-
%#endif
274-
list = PyList_New(size);
275-
for (i = 0; i < size; i++) {
276-
PyList_SetItem(list, i, convertStrToObj(stringArrVal[i]));
277-
}
278-
return list;
279-
}
280-
case GS_TYPE_BOOL_ARRAY:
281-
const GSBool *boolArrVal;
282-
%#if GS_COMPATIBILITY_VALUE_1_1_106
283-
size = value->asBoolArray.size;
284-
boolArrVal = value->value.asBoolArray.elements;
285-
%#else
286-
size = value->asArray.length;
287-
boolArrVal = value->asArray.elements.asBool;
288-
%#endif
289-
list = PyList_New(size);
290-
for (i = 0; i < size; i++) {
291-
PyList_SetItem(list, i, PyBool_FromLong(boolArrVal[i]));
292-
}
293-
return list;
294-
case GS_TYPE_BYTE_ARRAY: {
295-
const int8_t *byteArrVal;
296-
%#if GS_COMPATIBILITY_VALUE_1_1_106
297-
size = value->asByteArray.size;
298-
byteArrVal = value->asByteArray.elements;
299-
%#else
300-
size = value->asArray.length;
301-
byteArrVal = value->asArray.elements.asByte;
302-
%#endif
303-
list = PyList_New(size);
304-
for (i = 0; i < size; i++) {
305-
PyList_SetItem(list, i, PyInt_FromLong(byteArrVal[i]));
306-
}
307-
return list;
308-
}
309-
case GS_TYPE_SHORT_ARRAY: {
310-
const int16_t *shortArrVal;
311-
%#if GS_COMPATIBILITY_VALUE_1_1_106
312-
size = value->asShortArray.size;
313-
shortArrVal = value->asShortArray.elements;
314-
%#else
315-
size = value->asArray.length;
316-
shortArrVal = value->asArray.elements.asShort;
317-
%#endif
318-
list = PyList_New(size);
319-
for (i = 0; i < size; i++) {
320-
PyList_SetItem(list, i, PyInt_FromLong(shortArrVal[i]));
321-
}
322-
return list;
323-
}
324-
case GS_TYPE_LONG_ARRAY: {
325-
const int64_t *longArrVal;
326-
%#if GS_COMPATIBILITY_VALUE_1_1_106
327-
size = value->asLongArray.size;
328-
longArrVal = value->asLongArray.elements;
329-
%#else
330-
size = value->asArray.length;
331-
longArrVal = value->asArray.elements.asLong;
332-
%#endif
333-
list = PyList_New(size);
334-
for (i = 0; i < size; i++) {
335-
PyList_SetItem(list, i, PyLong_FromLong(longArrVal[i]));
336-
}
337-
return list;
338-
}
339-
case GS_TYPE_FLOAT_ARRAY: {
340-
const float *floatArrVal;
341-
%#if GS_COMPATIBILITY_VALUE_1_1_106
342-
size = value->asFloatArray.size;
343-
floatArrVal = value->asFloatArray.elements;
344-
%#else
345-
size = value->asArray.length;
346-
floatArrVal = value->asArray.elements.asFloat;
347-
%#endif
348-
list = PyList_New(size);
349-
for (i = 0; i < size; i++) {
350-
PyList_SetItem(list, i, PyFloat_FromDouble(static_cast<double>(floatArrVal[i])));
351-
}
352-
return list;
353-
}
354-
case GS_TYPE_DOUBLE_ARRAY: {
355-
const double *doubleArrVal;
356-
%#if GS_COMPATIBILITY_VALUE_1_1_106
357-
size = value->asDoubleArray.size;
358-
doubleArrVal = value->asDoubleArray.elements;
359-
%#else
360-
size = value->asArray.length;
361-
doubleArrVal = value->asArray.elements.asDouble;
362-
%#endif
363-
list = PyList_New(size);
364-
for (i = 0; i < size; i++) {
365-
PyList_SetItem(list, i, PyFloat_FromDouble(doubleArrVal[i]));
366-
}
367-
return list;
368-
}
369-
case GS_TYPE_TIMESTAMP_ARRAY: {
370-
const GSTimestamp *timestampArrVal;
371-
%#if GS_COMPATIBILITY_VALUE_1_1_106
372-
size = value->asTimestampArray.size;
373-
timestampArrVal = value->asTimestampArray.elements;
374-
%#else
375-
size = value->asArray.length;
376-
timestampArrVal = value->asArray.elements.asTimestamp;
377-
%#endif
378-
list = PyList_New(size);
379-
for (i = 0; i < size; i++) {
380-
PyList_SetItem(list, i, convertTimestampToObject((GSTimestamp*)&(timestampArrVal[i]), timestampToFloat));
381-
}
382-
return list;
383-
}
384237
default:
385238
return NULL;
386239
}

0 commit comments

Comments
 (0)