@@ -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