I have a problem with wrapping an enum - I wonder if anyone knows what to do.
In the C API I of the package being wrapped - there is this enum :
```
enum MDAL_Status
{
None,
// Errors
Err_NotEnoughMemory,
Err_FileNotFound,
Err_UnknownFormat,
Err_IncompatibleMesh,
Err_InvalidData,
Err_IncompatibleDataset,
Err_IncompatibleDatasetGroup,
Err_MissingDriver,
Err_MissingDriverCapability,
Err_FailToWriteToDisk,
Err_UnsupportedElement,
// Warnings
Warn_InvalidElements,
Warn_ElementWithInvalidNode,
Warn_ElementNotUnique,
Warn_NodeNotUnique,
Warn_MultipleMeshesInFile
};
'''
if I try wrapping as follows - I get errors runtime errors because None is a reserved word (TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'):
```
cdef extern from "mdal.h":
cpdef enum MDAL_Status:
None = 0,
Err_NotEnoughMemory = 1,
Err_FileNotFound = 2,
Err_UnknownFormat = 3,
Err_IncompatibleMesh = 4,
Err_InvalidData = 5,
Err_IncompatibleDataset = 6,
Err_IncompatibleDatasetGroup = 7,
Err_MissingDriver = 8,
Err_MissingDriverCapability = 9,
Err_FailToWriteToDisk = 10,
Err_UnsupportedElement = 11,
Warn_InvalidElements = 12,
Warn_ElementWithInvalidNode = 13,
Warn_ElementNotUnique = 14,
Warn_NodeNotUnique = 15,
Warn_MultipleMeshesInFile = 16
```
It is currently working with the "None = 0" line removed but that, of course, means that I have a return value that is not handled.
Apart from changing the API for the upstream library (not really an option) - does anyone have a fix for this?
Thanks
P