Listing 2
static PyObject *openrj_open(PyObject *self, PyObject *args)
{
char *path;
long flags;
if(!PyArg_ParseTuple(args, "sl", &path, &flags))
{
return NULL;
}
else
{
ORJDatabase const *db;
ORJError error;
ORJRC rc = ORJ_ReadDatabaseA( path, NULL, flags
, &db, &error);
if(ORJ_RC_SUCCESS != rc)
{
// If rc == ORJ_RC_PARSEERROR then prepare a parse-related message,
// using ORJ_GetParseErrorStringA()
// else a message using ORJ_GetErrorStringA()
char errMessage[] = . . .; //
PyErr_SetString(DatabaseExceptionObject, errMessage);
return NULL;
}
else
{
return (PyObject*)openrj_Database_alloc(self, db, path);
}
}
}