Spaces:
Runtime error
Runtime error
| /* Generated by Cython 3.0.0 */ | |
| /* BEGIN: Cython Metadata | |
| { | |
| "distutils": { | |
| "name": "box.from_file", | |
| "sources": [ | |
| "box/from_file.py" | |
| ] | |
| }, | |
| "module_name": "box.from_file" | |
| } | |
| END: Cython Metadata */ | |
| /* For very preliminary testing purposes. Most variables are set the same as PyPy. | |
| The existence of this section does not imply that anything works or is even tested */ | |
| enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) }; | |
| /* for clang __has_cpp_attribute(maybe_unused) is true even before C++17 | |
| * but leads to warnings with -pedantic, since it is a C++17 feature */ | |
| template<class T> void CYTHON_UNUSED_VAR( const T& ) { } | |
| typedef unsigned char uint8_t; | |
| typedef unsigned short uint16_t; | |
| typedef unsigned int uint32_t; | |
| typedef unsigned __int8 uint8_t; | |
| typedef unsigned __int16 uint16_t; | |
| typedef unsigned __int32 uint32_t; | |
| typedef unsigned long long __pyx_uintptr_t; | |
| typedef unsigned int __pyx_uintptr_t; | |
| typedef unsigned __int64 __pyx_uintptr_t; | |
| typedef unsigned __int32 __pyx_uintptr_t; | |
| typedef uintptr_t __pyx_uintptr_t; | |
| /* for clang __has_cpp_attribute(fallthrough) is true even before C++17 | |
| * but leads to warnings with -pedantic, since it is a C++17 feature */ | |
| template <typename T> | |
| struct __PYX_IS_UNSIGNED_IMPL {static const bool value = T(0) < T(-1);}; | |
| static CYTHON_INLINE PyCodeObject* __Pyx_PyCode_New(int a, int p, int k, int l, int s, int f, | |
| PyObject *code, PyObject *c, PyObject* n, PyObject *v, | |
| PyObject *fv, PyObject *cell, PyObject* fn, | |
| PyObject *name, int fline, PyObject *lnos) { | |
| PyObject *kwds=NULL, *argcount=NULL, *posonlyargcount=NULL, *kwonlyargcount=NULL; | |
| PyObject *nlocals=NULL, *stacksize=NULL, *flags=NULL, *replace=NULL, *empty=NULL; | |
| const char *fn_cstr=NULL; | |
| const char *name_cstr=NULL; | |
| PyCodeObject *co=NULL, *result=NULL; | |
| PyObject *type, *value, *traceback; | |
| PyErr_Fetch(&type, &value, &traceback); | |
| if (!(kwds=PyDict_New())) goto end; | |
| if (!(argcount=PyLong_FromLong(a))) goto end; | |
| if (PyDict_SetItemString(kwds, "co_argcount", argcount) != 0) goto end; | |
| if (!(posonlyargcount=PyLong_FromLong(p))) goto end; | |
| if (PyDict_SetItemString(kwds, "co_posonlyargcount", posonlyargcount) != 0) goto end; | |
| if (!(kwonlyargcount=PyLong_FromLong(k))) goto end; | |
| if (PyDict_SetItemString(kwds, "co_kwonlyargcount", kwonlyargcount) != 0) goto end; | |
| if (!(nlocals=PyLong_FromLong(l))) goto end; | |
| if (PyDict_SetItemString(kwds, "co_nlocals", nlocals) != 0) goto end; | |
| if (!(stacksize=PyLong_FromLong(s))) goto end; | |
| if (PyDict_SetItemString(kwds, "co_stacksize", stacksize) != 0) goto end; | |
| if (!(flags=PyLong_FromLong(f))) goto end; | |
| if (PyDict_SetItemString(kwds, "co_flags", flags) != 0) goto end; | |
| if (PyDict_SetItemString(kwds, "co_code", code) != 0) goto end; | |
| if (PyDict_SetItemString(kwds, "co_consts", c) != 0) goto end; | |
| if (PyDict_SetItemString(kwds, "co_names", n) != 0) goto end; | |
| if (PyDict_SetItemString(kwds, "co_varnames", v) != 0) goto end; | |
| if (PyDict_SetItemString(kwds, "co_freevars", fv) != 0) goto end; | |
| if (PyDict_SetItemString(kwds, "co_cellvars", cell) != 0) goto end; | |
| if (PyDict_SetItemString(kwds, "co_linetable", lnos) != 0) goto end; | |
| if (!(fn_cstr=PyUnicode_AsUTF8AndSize(fn, NULL))) goto end; | |
| if (!(name_cstr=PyUnicode_AsUTF8AndSize(name, NULL))) goto end; | |
| if (!(co = PyCode_NewEmpty(fn_cstr, name_cstr, fline))) goto end; | |
| if (!(replace = PyObject_GetAttrString((PyObject*)co, "replace"))) goto end; | |
| if (!(empty = PyTuple_New(0))) goto end; | |
| result = (PyCodeObject*) PyObject_Call(replace, empty, kwds); | |
| end: | |
| Py_XDECREF((PyObject*) co); | |
| Py_XDECREF(kwds); | |
| Py_XDECREF(argcount); | |
| Py_XDECREF(posonlyargcount); | |
| Py_XDECREF(kwonlyargcount); | |
| Py_XDECREF(nlocals); | |
| Py_XDECREF(stacksize); | |
| Py_XDECREF(replace); | |
| Py_XDECREF(empty); | |
| if (type) { | |
| PyErr_Restore(type, value, traceback); | |
| } | |
| return result; | |
| } | |
| typedef PyObject *(*__Pyx_PyCFunctionFast) (PyObject *self, PyObject *const *args, Py_ssize_t nargs); | |
| typedef PyObject *(*__Pyx_PyCFunctionFastWithKeywords) (PyObject *self, PyObject *const *args, | |
| Py_ssize_t nargs, PyObject *kwnames); | |
| typedef PyObject *(*__pyx_vectorcallfunc)(PyObject *callable, PyObject *const *args, | |
| size_t nargsf, PyObject *kwnames); | |
| typedef PyObject *(*__Pyx_PyCMethod)(PyObject *, PyTypeObject *, PyObject *const *, size_t, PyObject *); | |
| static CYTHON_INLINE void *__Pyx_PyModule_GetState(PyObject *op) | |
| { | |
| void *result; | |
| result = PyModule_GetState(op); | |
| if (!result) | |
| Py_FatalError("Couldn't find the module state"); | |
| return result; | |
| } | |
| typedef int Py_tss_t; | |
| static CYTHON_INLINE int PyThread_tss_create(Py_tss_t *key) { | |
| *key = PyThread_create_key(); | |
| return 0; | |
| } | |
| static CYTHON_INLINE Py_tss_t * PyThread_tss_alloc(void) { | |
| Py_tss_t *key = (Py_tss_t *)PyObject_Malloc(sizeof(Py_tss_t)); | |
| *key = Py_tss_NEEDS_INIT; | |
| return key; | |
| } | |
| static CYTHON_INLINE void PyThread_tss_free(Py_tss_t *key) { | |
| PyObject_Free(key); | |
| } | |
| static CYTHON_INLINE int PyThread_tss_is_created(Py_tss_t *key) { | |
| return *key != Py_tss_NEEDS_INIT; | |
| } | |
| static CYTHON_INLINE void PyThread_tss_delete(Py_tss_t *key) { | |
| PyThread_delete_key(*key); | |
| *key = Py_tss_NEEDS_INIT; | |
| } | |
| static CYTHON_INLINE int PyThread_tss_set(Py_tss_t *key, void *value) { | |
| return PyThread_set_key_value(*key, value); | |
| } | |
| static CYTHON_INLINE void * PyThread_tss_get(Py_tss_t *key) { | |
| return PyThread_get_key_value(*key); | |
| } | |
| [[deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")]] | |
| __attribute__ ((__deprecated__("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6"))) | |
| __declspec(deprecated("`with nogil:` inside a nogil function will not release the GIL in PyPy2 < 7.3.6")) | |
| static CYTHON_INLINE int PyGILState_Check(void) { | |
| return 0; | |
| } | |
| static CYTHON_INLINE int PyGILState_Check(void) { | |
| PyThreadState * tstate = _PyThreadState_Current; | |
| return tstate && (tstate == PyGILState_GetThisThreadState()); | |
| } | |
| static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStr(PyObject *dict, PyObject *name) { | |
| PyObject *res = __Pyx_PyDict_GetItemStrWithError(dict, name); | |
| if (res == NULL) PyErr_Clear(); | |
| return res; | |
| } | |
| static CYTHON_INLINE PyObject * __Pyx_PyDict_GetItemStrWithError(PyObject *dict, PyObject *name) { | |
| return PyDict_GetItem(dict, name); | |
| PyDictEntry *ep; | |
| PyDictObject *mp = (PyDictObject*) dict; | |
| long hash = ((PyStringObject *) name)->ob_shash; | |
| assert(hash != -1); | |
| ep = (mp->ma_lookup)(mp, name, hash); | |
| if (ep == NULL) { | |
| return NULL; | |
| } | |
| return ep->me_value; | |
| } | |
| typedef long Py_hash_t; | |
| typedef struct { | |
| unaryfunc am_await; | |
| unaryfunc am_aiter; | |
| unaryfunc am_anext; | |
| } __Pyx_PyAsyncMethodsStruct; | |
| static CYTHON_INLINE float __PYX_NAN() { | |
| float value; | |
| memset(&value, 0xFF, sizeof(value)); | |
| return value; | |
| } | |
| /* Early includes */ | |
| typedef struct {PyObject **p; const char *s; const Py_ssize_t n; const char* encoding; | |
| const char is_unicode; const char is_str; const char intern; } __Pyx_StringTabEntry; | |
| static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) { | |
| return (size_t) i < (size_t) limit; | |
| } | |
| static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*); | |
| static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length); | |
| static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*); | |
| static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const wchar_t *u) | |
| { | |
| const wchar_t *u_end = u; | |
| while (*u_end++) ; | |
| return (size_t)(u_end - u - 1); | |
| } | |
| static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) | |
| { | |
| const Py_UNICODE *u_end = u; | |
| while (*u_end++) ; | |
| return (size_t)(u_end - u - 1); | |
| } | |
| static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b); | |
| static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject*); | |
| static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject*); | |
| static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x); | |
| static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*); | |
| static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t); | |
| static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject*); | |
| typedef Py_ssize_t __Pyx_compact_pylong; | |
| typedef size_t __Pyx_compact_upylong; | |
| typedef sdigit __Pyx_compact_pylong; | |
| typedef digit __Pyx_compact_upylong; | |
| static int __Pyx_sys_getdefaultencoding_not_ascii; | |
| static int __Pyx_init_sys_getdefaultencoding_params(void) { | |
| PyObject* sys; | |
| PyObject* default_encoding = NULL; | |
| PyObject* ascii_chars_u = NULL; | |
| PyObject* ascii_chars_b = NULL; | |
| const char* default_encoding_c; | |
| sys = PyImport_ImportModule("sys"); | |
| if (!sys) goto bad; | |
| default_encoding = PyObject_CallMethod(sys, (char*) "getdefaultencoding", NULL); | |
| Py_DECREF(sys); | |
| if (!default_encoding) goto bad; | |
| default_encoding_c = PyBytes_AsString(default_encoding); | |
| if (!default_encoding_c) goto bad; | |
| if (strcmp(default_encoding_c, "ascii") == 0) { | |
| __Pyx_sys_getdefaultencoding_not_ascii = 0; | |
| } else { | |
| char ascii_chars[128]; | |
| int c; | |
| for (c = 0; c < 128; c++) { | |
| ascii_chars[c] = (char) c; | |
| } | |
| __Pyx_sys_getdefaultencoding_not_ascii = 1; | |
| ascii_chars_u = PyUnicode_DecodeASCII(ascii_chars, 128, NULL); | |
| if (!ascii_chars_u) goto bad; | |
| ascii_chars_b = PyUnicode_AsEncodedString(ascii_chars_u, default_encoding_c, NULL); | |
| if (!ascii_chars_b || !PyBytes_Check(ascii_chars_b) || memcmp(ascii_chars, PyBytes_AS_STRING(ascii_chars_b), 128) != 0) { | |
| PyErr_Format( | |
| PyExc_ValueError, | |
| "This module compiled with c_string_encoding=ascii, but default encoding '%.200s' is not a superset of ascii.", | |
| default_encoding_c); | |
| goto bad; | |
| } | |
| Py_DECREF(ascii_chars_u); | |
| Py_DECREF(ascii_chars_b); | |
| } | |
| Py_DECREF(default_encoding); | |
| return 0; | |
| bad: | |
| Py_XDECREF(default_encoding); | |
| Py_XDECREF(ascii_chars_u); | |
| Py_XDECREF(ascii_chars_b); | |
| return -1; | |
| } | |
| static char* __PYX_DEFAULT_STRING_ENCODING; | |
| static int __Pyx_init_sys_getdefaultencoding_params(void) { | |
| PyObject* sys; | |
| PyObject* default_encoding = NULL; | |
| char* default_encoding_c; | |
| sys = PyImport_ImportModule("sys"); | |
| if (!sys) goto bad; | |
| default_encoding = PyObject_CallMethod(sys, (char*) (const char*) "getdefaultencoding", NULL); | |
| Py_DECREF(sys); | |
| if (!default_encoding) goto bad; | |
| default_encoding_c = PyBytes_AsString(default_encoding); | |
| if (!default_encoding_c) goto bad; | |
| __PYX_DEFAULT_STRING_ENCODING = (char*) malloc(strlen(default_encoding_c) + 1); | |
| if (!__PYX_DEFAULT_STRING_ENCODING) goto bad; | |
| strcpy(__PYX_DEFAULT_STRING_ENCODING, default_encoding_c); | |
| Py_DECREF(default_encoding); | |
| return 0; | |
| bad: | |
| Py_XDECREF(default_encoding); | |
| return -1; | |
| } | |
| /* Test for GCC > 2.95 */ | |
| static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; } | |
| static PyObject *__pyx_m = NULL; | |
| static int __pyx_lineno; | |
| static int __pyx_clineno = 0; | |
| static const char * __pyx_cfilenm = __FILE__; | |
| static const char *__pyx_filename; | |
| /* #### Code section: filename_table ### */ | |
| static const char *__pyx_f[] = { | |
| "box/from_file.py", | |
| }; | |
| /* #### Code section: utility_code_proto_before_types ### */ | |
| /* #### Code section: numeric_typedefs ### */ | |
| /* #### Code section: complex_type_declarations ### */ | |
| /* #### Code section: type_declarations ### */ | |
| /*--- Type declarations ---*/ | |
| /* #### Code section: utility_code_proto ### */ | |
| /* --- Runtime support code (head) --- */ | |
| /* Refnanny.proto */ | |
| typedef struct { | |
| void (*INCREF)(void*, PyObject*, Py_ssize_t); | |
| void (*DECREF)(void*, PyObject*, Py_ssize_t); | |
| void (*GOTREF)(void*, PyObject*, Py_ssize_t); | |
| void (*GIVEREF)(void*, PyObject*, Py_ssize_t); | |
| void* (*SetupContext)(const char*, Py_ssize_t, const char*); | |
| void (*FinishContext)(void**); | |
| } __Pyx_RefNannyAPIStruct; | |
| static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL; | |
| static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname); | |
| /* PyErrExceptionMatches.proto */ | |
| static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err); | |
| /* PyThreadStateGet.proto */ | |
| /* PyErrFetchRestore.proto */ | |
| static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); | |
| static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); | |
| /* PyObjectGetAttrStr.proto */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name); | |
| /* PyObjectGetAttrStrNoError.proto */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name); | |
| /* GetBuiltinName.proto */ | |
| static PyObject *__Pyx_GetBuiltinName(PyObject *name); | |
| /* TupleAndListFromArray.proto */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n); | |
| static CYTHON_INLINE PyObject* __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n); | |
| /* IncludeStringH.proto */ | |
| /* BytesEquals.proto */ | |
| static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals); | |
| /* UnicodeEquals.proto */ | |
| static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals); | |
| /* fastcall.proto */ | |
| static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s); | |
| /* RaiseArgTupleInvalid.proto */ | |
| static void __Pyx_RaiseArgtupleInvalid(const char* func_name, int exact, | |
| Py_ssize_t num_min, Py_ssize_t num_max, Py_ssize_t num_found); | |
| /* RaiseDoubleKeywords.proto */ | |
| static void __Pyx_RaiseDoubleKeywordsError(const char* func_name, PyObject* kw_name); | |
| /* ParseKeywords.proto */ | |
| static int __Pyx_ParseOptionalKeywords(PyObject *kwds, PyObject *const *kwvalues, | |
| PyObject **argnames[], | |
| PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args, | |
| const char* function_name); | |
| /* PyDictVersioning.proto */ | |
| static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj); | |
| static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj); | |
| static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version); | |
| /* GetModuleGlobalName.proto */ | |
| static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value); | |
| static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name); | |
| /* IterFinish.proto */ | |
| static CYTHON_INLINE int __Pyx_IterFinish(void); | |
| /* PyFunctionFastCall.proto */ | |
| static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs); | |
| static size_t __pyx_pyframe_localsplus_offset = 0; | |
| /* PyObjectCall.proto */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw); | |
| /* PyObjectCallMethO.proto */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg); | |
| /* PyObjectFastCall.proto */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs); | |
| /* PyObjectCallNoArg.proto */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func); | |
| /* PyObjectCallOneArg.proto */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg); | |
| /* PyObjectGetMethod.proto */ | |
| static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method); | |
| /* PyObjectCallMethod0.proto */ | |
| static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name); | |
| /* RaiseNeedMoreValuesToUnpack.proto */ | |
| static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index); | |
| /* RaiseTooManyValuesToUnpack.proto */ | |
| static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected); | |
| /* UnpackItemEndCheck.proto */ | |
| static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected); | |
| /* RaiseNoneIterError.proto */ | |
| static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void); | |
| /* UnpackTupleError.proto */ | |
| static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index); | |
| /* UnpackTuple2.proto */ | |
| static CYTHON_INLINE int __Pyx_unpack_tuple2_exact( | |
| PyObject* tuple, PyObject** value1, PyObject** value2, int decref_tuple); | |
| static int __Pyx_unpack_tuple2_generic( | |
| PyObject* tuple, PyObject** value1, PyObject** value2, int has_known_size, int decref_tuple); | |
| /* dict_iter.proto */ | |
| static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* dict, int is_dict, PyObject* method_name, | |
| Py_ssize_t* p_orig_length, int* p_is_dict); | |
| static CYTHON_INLINE int __Pyx_dict_iter_next(PyObject* dict_or_iter, Py_ssize_t orig_length, Py_ssize_t* ppos, | |
| PyObject** pkey, PyObject** pvalue, PyObject** pitem, int is_dict); | |
| /* MergeKeywords.proto */ | |
| static int __Pyx_MergeKeywords(PyObject *kwdict, PyObject *source_mapping); | |
| /* GetTopmostException.proto */ | |
| static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate); | |
| /* SaveResetException.proto */ | |
| static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); | |
| static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb); | |
| /* FastTypeChecks.proto */ | |
| static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b); | |
| static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b); | |
| static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject *type); | |
| static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *type1, PyObject *type2); | |
| /* GetException.proto */ | |
| static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb); | |
| static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb); | |
| /* RaiseException.proto */ | |
| static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause); | |
| /* PyObjectFormatSimple.proto */ | |
| /* JoinPyUnicode.proto */ | |
| static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, | |
| Py_UCS4 max_char); | |
| /* ArgTypeTest.proto */ | |
| static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact); | |
| /* RaiseUnexpectedTypeError.proto */ | |
| static int __Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj); | |
| /* UnpackUnboundCMethod.proto */ | |
| typedef struct { | |
| PyObject *type; | |
| PyObject **method_name; | |
| PyCFunction func; | |
| PyObject *method; | |
| int flag; | |
| } __Pyx_CachedCFunction; | |
| /* CallUnboundCMethod0.proto */ | |
| static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self); | |
| /* PySequenceContains.proto */ | |
| static CYTHON_INLINE int __Pyx_PySequence_ContainsTF(PyObject* item, PyObject* seq, int eq) { | |
| int result = PySequence_Contains(seq, item); | |
| return unlikely(result < 0) ? result : (result == (eq == Py_EQ)); | |
| } | |
| /* GetItemInt.proto */ | |
| static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, | |
| int wraparound, int boundscheck); | |
| static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, | |
| int wraparound, int boundscheck); | |
| static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j); | |
| static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, | |
| int is_list, int wraparound, int boundscheck); | |
| /* ObjectGetItem.proto */ | |
| static CYTHON_INLINE PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key); | |
| /* PyUnicode_Unicode.proto */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj); | |
| /* Import.proto */ | |
| static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level); | |
| /* ImportFrom.proto */ | |
| static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name); | |
| /* ImportDottedModule.proto */ | |
| static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple); | |
| static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple); | |
| /* IncludeStructmemberH.proto */ | |
| /* FixUpExtensionType.proto */ | |
| static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type); | |
| /* FetchSharedCythonModule.proto */ | |
| static PyObject *__Pyx_FetchSharedCythonABIModule(void); | |
| /* FetchCommonType.proto */ | |
| static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type); | |
| static PyTypeObject* __Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases); | |
| /* PyMethodNew.proto */ | |
| static PyObject *__Pyx_PyMethod_New(PyObject *func, PyObject *self, PyObject *typ) { | |
| CYTHON_UNUSED_VAR(typ); | |
| if (!self) | |
| return __Pyx_NewRef(func); | |
| return PyMethod_New(func, self); | |
| } | |
| /* PyVectorcallFastCallDict.proto */ | |
| static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw); | |
| /* CythonFunctionShared.proto */ | |
| typedef struct { | |
| PyCFunctionObject func; | |
| PyCMethodObject func; | |
| __pyx_vectorcallfunc func_vectorcall; | |
| PyObject *func_weakreflist; | |
| PyObject *func_dict; | |
| PyObject *func_name; | |
| PyObject *func_qualname; | |
| PyObject *func_doc; | |
| PyObject *func_globals; | |
| PyObject *func_code; | |
| PyObject *func_closure; | |
| PyObject *func_classobj; | |
| void *defaults; | |
| int defaults_pyobjects; | |
| size_t defaults_size; // used by FusedFunction for copying defaults | |
| int flags; | |
| PyObject *defaults_tuple; | |
| PyObject *defaults_kwdict; | |
| PyObject *(*defaults_getter)(PyObject *); | |
| PyObject *func_annotations; | |
| PyObject *func_is_coroutine; | |
| } __pyx_CyFunctionObject; | |
| static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml, | |
| int flags, PyObject* qualname, | |
| PyObject *closure, | |
| PyObject *module, PyObject *globals, | |
| PyObject* code); | |
| static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj); | |
| static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *m, | |
| size_t size, | |
| int pyobjects); | |
| static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *m, | |
| PyObject *tuple); | |
| static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *m, | |
| PyObject *dict); | |
| static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *m, | |
| PyObject *dict); | |
| static int __pyx_CyFunction_init(PyObject *module); | |
| static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); | |
| static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); | |
| static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); | |
| static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames); | |
| /* CythonFunction.proto */ | |
| static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, | |
| int flags, PyObject* qualname, | |
| PyObject *closure, | |
| PyObject *module, PyObject *globals, | |
| PyObject* code); | |
| /* CLineInTraceback.proto */ | |
| static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line); | |
| /* CodeObjectCache.proto */ | |
| typedef struct { | |
| PyCodeObject* code_object; | |
| int code_line; | |
| } __Pyx_CodeObjectCacheEntry; | |
| struct __Pyx_CodeObjectCache { | |
| int count; | |
| int max_count; | |
| __Pyx_CodeObjectCacheEntry* entries; | |
| }; | |
| static struct __Pyx_CodeObjectCache __pyx_code_cache = {0,0,NULL}; | |
| static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line); | |
| static PyCodeObject *__pyx_find_code_object(int code_line); | |
| static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object); | |
| /* AddTraceback.proto */ | |
| static void __Pyx_AddTraceback(const char *funcname, int c_line, | |
| int py_line, const char *filename); | |
| /* FormatTypeName.proto */ | |
| typedef PyObject *__Pyx_TypeName; | |
| static __Pyx_TypeName __Pyx_PyType_GetName(PyTypeObject* tp); | |
| typedef const char *__Pyx_TypeName; | |
| /* GCCDiagnostics.proto */ | |
| /* CIntToPy.proto */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value); | |
| /* CIntFromPy.proto */ | |
| static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *); | |
| /* CIntFromPy.proto */ | |
| static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *); | |
| /* CheckBinaryVersion.proto */ | |
| static int __Pyx_check_binary_version(void); | |
| /* InitStrings.proto */ | |
| static int __Pyx_InitStrings(__Pyx_StringTabEntry *t); | |
| /* #### Code section: module_declarations ### */ | |
| /* Module declarations from "box.from_file" */ | |
| /* #### Code section: typeinfo ### */ | |
| /* #### Code section: before_global_var ### */ | |
| extern int __pyx_module_is_main_box__from_file; | |
| int __pyx_module_is_main_box__from_file = 0; | |
| /* Implementation of "box.from_file" */ | |
| /* #### Code section: global_var ### */ | |
| static PyObject *__pyx_builtin_ImportError; | |
| static PyObject *__pyx_builtin_ValueError; | |
| /* #### Code section: string_decls ### */ | |
| static const char __pyx_k_[] = "_"; | |
| static const char __pyx_k__2[] = "__"; | |
| static const char __pyx_k__3[] = "."; | |
| static const char __pyx_k__4[] = "\""; | |
| static const char __pyx_k__5[] = "*"; | |
| static const char __pyx_k_os[] = "os"; | |
| static const char __pyx_k_Box[] = "Box"; | |
| static const char __pyx_k__19[] = "?"; | |
| static const char __pyx_k_all[] = "__all__"; | |
| static const char __pyx_k_csv[] = "csv"; | |
| static const char __pyx_k_jsn[] = "jsn"; | |
| static const char __pyx_k_str[] = "str"; | |
| static const char __pyx_k_sys[] = "sys"; | |
| static const char __pyx_k_tml[] = "tml"; | |
| static const char __pyx_k_yml[] = "yml"; | |
| static const char __pyx_k_Dict[] = "Dict"; | |
| static const char __pyx_k_File[] = "File \""; | |
| static const char __pyx_k_None[] = "None"; | |
| static const char __pyx_k_Path[] = "Path"; | |
| static const char __pyx_k_file[] = "file"; | |
| static const char __pyx_k_json[] = "json"; | |
| static const char __pyx_k_main[] = "__main__"; | |
| static const char __pyx_k_name[] = "__name__"; | |
| static const char __pyx_k_pack[] = "pack"; | |
| static const char __pyx_k_spec[] = "__spec__"; | |
| static const char __pyx_k_test[] = "__test__"; | |
| static const char __pyx_k_toml[] = "toml"; | |
| static const char __pyx_k_yaml[] = "yaml"; | |
| static const char __pyx_k_Union[] = "Union"; | |
| static const char __pyx_k_items[] = "items"; | |
| static const char __pyx_k_lower[] = "lower"; | |
| static const char __pyx_k_utf_8[] = "utf-8"; | |
| static const char __pyx_k_errors[] = "errors"; | |
| static const char __pyx_k_exists[] = "exists"; | |
| static const char __pyx_k_file_2[] = "file \""; | |
| static const char __pyx_k_import[] = "__import__"; | |
| static const char __pyx_k_kwargs[] = "kwargs"; | |
| static const char __pyx_k_lstrip[] = "lstrip"; | |
| static const char __pyx_k_return[] = "return"; | |
| static const char __pyx_k_strict[] = "strict"; | |
| static const char __pyx_k_suffix[] = "suffix"; | |
| static const char __pyx_k_to_csv[] = "_to_csv"; | |
| static const char __pyx_k_typing[] = "typing"; | |
| static const char __pyx_k_BoxList[] = "BoxList"; | |
| static const char __pyx_k_box_box[] = "box.box"; | |
| static const char __pyx_k_content[] = "content"; | |
| static const char __pyx_k_msgpack[] = "msgpack"; | |
| static const char __pyx_k_pathlib[] = "pathlib"; | |
| static const char __pyx_k_to_json[] = "_to_json"; | |
| static const char __pyx_k_to_toml[] = "_to_toml"; | |
| static const char __pyx_k_to_yaml[] = "_to_yaml"; | |
| static const char __pyx_k_BoxError[] = "BoxError"; | |
| static const char __pyx_k_Callable[] = "Callable"; | |
| static const char __pyx_k_Optional[] = "Optional"; | |
| static const char __pyx_k_PathLike[] = "PathLike"; | |
| static const char __pyx_k_encoding[] = "encoding"; | |
| static const char __pyx_k_filename[] = "filename"; | |
| static const char __pyx_k_from_csv[] = "from_csv"; | |
| static const char __pyx_k_YAMLError[] = "YAMLError"; | |
| static const char __pyx_k_file_type[] = "file_type"; | |
| static const char __pyx_k_from_json[] = "from_json"; | |
| static const char __pyx_k_from_toml[] = "from_toml"; | |
| static const char __pyx_k_from_yaml[] = "from_yaml"; | |
| static const char __pyx_k_ValueError[] = "ValueError"; | |
| static const char __pyx_k_converters[] = "converters"; | |
| static const char __pyx_k_to_msgpack[] = "_to_msgpack"; | |
| static const char __pyx_k_ImportError[] = "ImportError"; | |
| static const char __pyx_k_json_string[] = "json_string"; | |
| static const char __pyx_k_ruamel_yaml[] = "ruamel.yaml"; | |
| static const char __pyx_k_string_type[] = "string_type"; | |
| static const char __pyx_k_toml_string[] = "toml_string"; | |
| static const char __pyx_k_yaml_string[] = "yaml_string"; | |
| static const char __pyx_k_Optional_str[] = "Optional[str]"; | |
| static const char __pyx_k_box_box_list[] = "box.box_list"; | |
| static const char __pyx_k_from_msgpack[] = "from_msgpack"; | |
| static const char __pyx_k_initializing[] = "_initializing"; | |
| static const char __pyx_k_is_coroutine[] = "_is_coroutine"; | |
| static const char __pyx_k_box_from_file[] = "box_from_file"; | |
| static const char __pyx_k_class_getitem[] = "__class_getitem__"; | |
| static const char __pyx_k_box_converters[] = "box.converters"; | |
| static const char __pyx_k_box_exceptions[] = "box.exceptions"; | |
| static const char __pyx_k_does_not_exist[] = "\" does not exist"; | |
| static const char __pyx_k_yaml_available[] = "yaml_available"; | |
| static const char __pyx_k_JSONDecodeError[] = "JSONDecodeError"; | |
| static const char __pyx_k_UnpackException[] = "UnpackException"; | |
| static const char __pyx_k_box_from_file_2[] = "box.from_file"; | |
| static const char __pyx_k_box_from_string[] = "box_from_string"; | |
| static const char __pyx_k_box_from_file_py[] = "box/from_file.py"; | |
| static const char __pyx_k_Union_Box_BoxList[] = "Union[Box, BoxList]"; | |
| static const char __pyx_k_msgpack_available[] = "msgpack_available"; | |
| static const char __pyx_k_toml_decode_error[] = "toml_decode_error"; | |
| static const char __pyx_k_toml_read_library[] = "toml_read_library"; | |
| static const char __pyx_k_Union_str_PathLike[] = "Union[str, PathLike]"; | |
| static const char __pyx_k_asyncio_coroutines[] = "asyncio.coroutines"; | |
| static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback"; | |
| static const char __pyx_k_File_is_not_JSON_as_expected[] = "File is not JSON as expected"; | |
| static const char __pyx_k_File_is_not_TOML_as_expected[] = "File is not TOML as expected"; | |
| static const char __pyx_k_File_is_not_YAML_as_expected[] = "File is not YAML as expected"; | |
| static const char __pyx_k_Unsupported_string_string_of[] = "Unsupported string_string of "; | |
| static const char __pyx_k_File_is_not_msgpack_as_expected[] = "File is not msgpack as expected"; | |
| static const char __pyx_k_is_an_unknown_type_Please_use_e[] = "\" is an unknown type. Please use either csv, toml, msgpack, yaml or json"; | |
| static const char __pyx_k_is_msgpack_but_no_package_is_av[] = "\" is msgpack but no package is available to open it. Please install \"msgpack\""; | |
| static const char __pyx_k_is_toml_but_no_package_is_avail[] = "\" is toml but no package is available to open it. Please install \"tomli\""; | |
| static const char __pyx_k_is_yaml_but_no_package_is_avail[] = "\" is yaml but no package is available to open it. Please install \"ruamel.yaml\" or \"PyYAML\""; | |
| /* #### Code section: decls ### */ | |
| static PyObject *__pyx_pf_3box_9from_file__to_json(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_file, PyObject *__pyx_v_encoding, PyObject *__pyx_v_errors, PyObject *__pyx_v_kwargs); /* proto */ | |
| static PyObject *__pyx_pf_3box_9from_file_2_to_csv(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_file, PyObject *__pyx_v_encoding, PyObject *__pyx_v_errors, PyObject *__pyx_v_kwargs); /* proto */ | |
| static PyObject *__pyx_pf_3box_9from_file_4_to_yaml(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_file, PyObject *__pyx_v_encoding, PyObject *__pyx_v_errors, PyObject *__pyx_v_kwargs); /* proto */ | |
| static PyObject *__pyx_pf_3box_9from_file_6_to_toml(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_file, PyObject *__pyx_v_encoding, PyObject *__pyx_v_errors, PyObject *__pyx_v_kwargs); /* proto */ | |
| static PyObject *__pyx_pf_3box_9from_file_8_to_msgpack(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_file, CYTHON_UNUSED PyObject *__pyx_v__, CYTHON_UNUSED PyObject *__pyx_v___, PyObject *__pyx_v_kwargs); /* proto */ | |
| static PyObject *__pyx_pf_3box_9from_file_10box_from_file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_file, PyObject *__pyx_v_file_type, PyObject *__pyx_v_encoding, PyObject *__pyx_v_errors, PyObject *__pyx_v_kwargs); /* proto */ | |
| static PyObject *__pyx_pf_3box_9from_file_12box_from_string(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_content, PyObject *__pyx_v_string_type); /* proto */ | |
| static __Pyx_CachedCFunction __pyx_umethod_PyUnicode_Type_lower = {0, 0, 0, 0, 0}; | |
| /* #### Code section: late_includes ### */ | |
| /* #### Code section: module_state ### */ | |
| typedef struct { | |
| PyObject *__pyx_d; | |
| PyObject *__pyx_b; | |
| PyObject *__pyx_cython_runtime; | |
| PyObject *__pyx_empty_tuple; | |
| PyObject *__pyx_empty_bytes; | |
| PyObject *__pyx_empty_unicode; | |
| PyTypeObject *__pyx_CyFunctionType; | |
| PyTypeObject *__pyx_FusedFunctionType; | |
| PyTypeObject *__pyx_GeneratorType; | |
| PyTypeObject *__pyx_IterableCoroutineType; | |
| PyTypeObject *__pyx_CoroutineAwaitType; | |
| PyTypeObject *__pyx_CoroutineType; | |
| PyObject *__pyx_n_s_; | |
| PyObject *__pyx_n_s_Box; | |
| PyObject *__pyx_n_s_BoxError; | |
| PyObject *__pyx_n_s_BoxList; | |
| PyObject *__pyx_n_s_Callable; | |
| PyObject *__pyx_n_s_Dict; | |
| PyObject *__pyx_kp_u_File; | |
| PyObject *__pyx_kp_u_File_is_not_JSON_as_expected; | |
| PyObject *__pyx_kp_u_File_is_not_TOML_as_expected; | |
| PyObject *__pyx_kp_u_File_is_not_YAML_as_expected; | |
| PyObject *__pyx_kp_u_File_is_not_msgpack_as_expected; | |
| PyObject *__pyx_n_s_ImportError; | |
| PyObject *__pyx_n_s_JSONDecodeError; | |
| PyObject *__pyx_kp_u_None; | |
| PyObject *__pyx_n_s_Optional; | |
| PyObject *__pyx_kp_s_Optional_str; | |
| PyObject *__pyx_n_s_Path; | |
| PyObject *__pyx_n_s_PathLike; | |
| PyObject *__pyx_n_s_Union; | |
| PyObject *__pyx_kp_s_Union_Box_BoxList; | |
| PyObject *__pyx_kp_s_Union_str_PathLike; | |
| PyObject *__pyx_n_s_UnpackException; | |
| PyObject *__pyx_kp_u_Unsupported_string_string_of; | |
| PyObject *__pyx_n_s_ValueError; | |
| PyObject *__pyx_n_s_YAMLError; | |
| PyObject *__pyx_n_s__19; | |
| PyObject *__pyx_n_s__2; | |
| PyObject *__pyx_kp_u__3; | |
| PyObject *__pyx_kp_u__4; | |
| PyObject *__pyx_n_s__5; | |
| PyObject *__pyx_n_s_all; | |
| PyObject *__pyx_n_s_asyncio_coroutines; | |
| PyObject *__pyx_n_s_box_box; | |
| PyObject *__pyx_n_s_box_box_list; | |
| PyObject *__pyx_n_s_box_converters; | |
| PyObject *__pyx_n_s_box_exceptions; | |
| PyObject *__pyx_n_s_box_from_file; | |
| PyObject *__pyx_n_u_box_from_file; | |
| PyObject *__pyx_n_s_box_from_file_2; | |
| PyObject *__pyx_kp_s_box_from_file_py; | |
| PyObject *__pyx_n_s_box_from_string; | |
| PyObject *__pyx_n_u_box_from_string; | |
| PyObject *__pyx_n_s_class_getitem; | |
| PyObject *__pyx_n_s_cline_in_traceback; | |
| PyObject *__pyx_n_s_content; | |
| PyObject *__pyx_n_s_converters; | |
| PyObject *__pyx_n_u_csv; | |
| PyObject *__pyx_kp_u_does_not_exist; | |
| PyObject *__pyx_n_s_encoding; | |
| PyObject *__pyx_n_s_errors; | |
| PyObject *__pyx_n_s_exists; | |
| PyObject *__pyx_n_s_file; | |
| PyObject *__pyx_kp_u_file_2; | |
| PyObject *__pyx_n_s_file_type; | |
| PyObject *__pyx_n_s_filename; | |
| PyObject *__pyx_n_s_from_csv; | |
| PyObject *__pyx_n_s_from_json; | |
| PyObject *__pyx_n_s_from_msgpack; | |
| PyObject *__pyx_n_s_from_toml; | |
| PyObject *__pyx_n_s_from_yaml; | |
| PyObject *__pyx_n_s_import; | |
| PyObject *__pyx_n_s_initializing; | |
| PyObject *__pyx_kp_u_is_an_unknown_type_Please_use_e; | |
| PyObject *__pyx_n_s_is_coroutine; | |
| PyObject *__pyx_kp_u_is_msgpack_but_no_package_is_av; | |
| PyObject *__pyx_kp_u_is_toml_but_no_package_is_avail; | |
| PyObject *__pyx_kp_u_is_yaml_but_no_package_is_avail; | |
| PyObject *__pyx_n_s_items; | |
| PyObject *__pyx_n_u_jsn; | |
| PyObject *__pyx_n_s_json; | |
| PyObject *__pyx_n_u_json; | |
| PyObject *__pyx_n_s_json_string; | |
| PyObject *__pyx_n_s_kwargs; | |
| PyObject *__pyx_n_s_lower; | |
| PyObject *__pyx_n_s_lstrip; | |
| PyObject *__pyx_n_s_main; | |
| PyObject *__pyx_n_s_msgpack; | |
| PyObject *__pyx_n_u_msgpack; | |
| PyObject *__pyx_n_s_msgpack_available; | |
| PyObject *__pyx_n_s_name; | |
| PyObject *__pyx_n_s_os; | |
| PyObject *__pyx_n_u_pack; | |
| PyObject *__pyx_n_s_pathlib; | |
| PyObject *__pyx_n_s_return; | |
| PyObject *__pyx_n_s_ruamel_yaml; | |
| PyObject *__pyx_n_s_spec; | |
| PyObject *__pyx_n_s_str; | |
| PyObject *__pyx_n_u_strict; | |
| PyObject *__pyx_n_s_string_type; | |
| PyObject *__pyx_n_s_suffix; | |
| PyObject *__pyx_n_s_sys; | |
| PyObject *__pyx_n_s_test; | |
| PyObject *__pyx_n_u_tml; | |
| PyObject *__pyx_n_s_to_csv; | |
| PyObject *__pyx_n_s_to_json; | |
| PyObject *__pyx_n_s_to_msgpack; | |
| PyObject *__pyx_n_s_to_toml; | |
| PyObject *__pyx_n_s_to_yaml; | |
| PyObject *__pyx_n_u_toml; | |
| PyObject *__pyx_n_s_toml_decode_error; | |
| PyObject *__pyx_n_s_toml_read_library; | |
| PyObject *__pyx_n_s_toml_string; | |
| PyObject *__pyx_n_s_typing; | |
| PyObject *__pyx_kp_u_utf_8; | |
| PyObject *__pyx_n_s_yaml; | |
| PyObject *__pyx_n_u_yaml; | |
| PyObject *__pyx_n_s_yaml_available; | |
| PyObject *__pyx_n_s_yaml_string; | |
| PyObject *__pyx_n_u_yml; | |
| PyObject *__pyx_tuple__6; | |
| PyObject *__pyx_tuple__11; | |
| PyObject *__pyx_tuple__13; | |
| PyObject *__pyx_tuple__15; | |
| PyObject *__pyx_tuple__16; | |
| PyObject *__pyx_tuple__18; | |
| PyObject *__pyx_codeobj__7; | |
| PyObject *__pyx_codeobj__8; | |
| PyObject *__pyx_codeobj__9; | |
| PyObject *__pyx_codeobj__10; | |
| PyObject *__pyx_codeobj__12; | |
| PyObject *__pyx_codeobj__14; | |
| PyObject *__pyx_codeobj__17; | |
| } __pyx_mstate; | |
| namespace { | |
| extern struct PyModuleDef __pyx_moduledef; | |
| } /* anonymous namespace */ | |
| static struct PyModuleDef __pyx_moduledef; | |
| static __pyx_mstate __pyx_mstate_global_static = | |
| {}; | |
| {0}; | |
| static __pyx_mstate *__pyx_mstate_global = &__pyx_mstate_global_static; | |
| /* #### Code section: module_state_clear ### */ | |
| static int __pyx_m_clear(PyObject *m) { | |
| __pyx_mstate *clear_module_state = __pyx_mstate(m); | |
| if (!clear_module_state) return 0; | |
| Py_CLEAR(clear_module_state->__pyx_d); | |
| Py_CLEAR(clear_module_state->__pyx_b); | |
| Py_CLEAR(clear_module_state->__pyx_cython_runtime); | |
| Py_CLEAR(clear_module_state->__pyx_empty_tuple); | |
| Py_CLEAR(clear_module_state->__pyx_empty_bytes); | |
| Py_CLEAR(clear_module_state->__pyx_empty_unicode); | |
| Py_CLEAR(clear_module_state->__pyx_CyFunctionType); | |
| Py_CLEAR(clear_module_state->__pyx_FusedFunctionType); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_Box); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_BoxError); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_BoxList); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_Callable); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_Dict); | |
| Py_CLEAR(clear_module_state->__pyx_kp_u_File); | |
| Py_CLEAR(clear_module_state->__pyx_kp_u_File_is_not_JSON_as_expected); | |
| Py_CLEAR(clear_module_state->__pyx_kp_u_File_is_not_TOML_as_expected); | |
| Py_CLEAR(clear_module_state->__pyx_kp_u_File_is_not_YAML_as_expected); | |
| Py_CLEAR(clear_module_state->__pyx_kp_u_File_is_not_msgpack_as_expected); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_ImportError); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_JSONDecodeError); | |
| Py_CLEAR(clear_module_state->__pyx_kp_u_None); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_Optional); | |
| Py_CLEAR(clear_module_state->__pyx_kp_s_Optional_str); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_Path); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_PathLike); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_Union); | |
| Py_CLEAR(clear_module_state->__pyx_kp_s_Union_Box_BoxList); | |
| Py_CLEAR(clear_module_state->__pyx_kp_s_Union_str_PathLike); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_UnpackException); | |
| Py_CLEAR(clear_module_state->__pyx_kp_u_Unsupported_string_string_of); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_ValueError); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_YAMLError); | |
| Py_CLEAR(clear_module_state->__pyx_n_s__19); | |
| Py_CLEAR(clear_module_state->__pyx_n_s__2); | |
| Py_CLEAR(clear_module_state->__pyx_kp_u__3); | |
| Py_CLEAR(clear_module_state->__pyx_kp_u__4); | |
| Py_CLEAR(clear_module_state->__pyx_n_s__5); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_all); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_asyncio_coroutines); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_box_box); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_box_box_list); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_box_converters); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_box_exceptions); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_box_from_file); | |
| Py_CLEAR(clear_module_state->__pyx_n_u_box_from_file); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_box_from_file_2); | |
| Py_CLEAR(clear_module_state->__pyx_kp_s_box_from_file_py); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_box_from_string); | |
| Py_CLEAR(clear_module_state->__pyx_n_u_box_from_string); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_class_getitem); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_cline_in_traceback); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_content); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_converters); | |
| Py_CLEAR(clear_module_state->__pyx_n_u_csv); | |
| Py_CLEAR(clear_module_state->__pyx_kp_u_does_not_exist); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_encoding); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_errors); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_exists); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_file); | |
| Py_CLEAR(clear_module_state->__pyx_kp_u_file_2); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_file_type); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_filename); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_from_csv); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_from_json); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_from_msgpack); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_from_toml); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_from_yaml); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_import); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_initializing); | |
| Py_CLEAR(clear_module_state->__pyx_kp_u_is_an_unknown_type_Please_use_e); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_is_coroutine); | |
| Py_CLEAR(clear_module_state->__pyx_kp_u_is_msgpack_but_no_package_is_av); | |
| Py_CLEAR(clear_module_state->__pyx_kp_u_is_toml_but_no_package_is_avail); | |
| Py_CLEAR(clear_module_state->__pyx_kp_u_is_yaml_but_no_package_is_avail); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_items); | |
| Py_CLEAR(clear_module_state->__pyx_n_u_jsn); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_json); | |
| Py_CLEAR(clear_module_state->__pyx_n_u_json); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_json_string); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_kwargs); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_lower); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_lstrip); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_main); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_msgpack); | |
| Py_CLEAR(clear_module_state->__pyx_n_u_msgpack); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_msgpack_available); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_name); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_os); | |
| Py_CLEAR(clear_module_state->__pyx_n_u_pack); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_pathlib); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_return); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_ruamel_yaml); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_spec); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_str); | |
| Py_CLEAR(clear_module_state->__pyx_n_u_strict); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_string_type); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_suffix); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_sys); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_test); | |
| Py_CLEAR(clear_module_state->__pyx_n_u_tml); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_to_csv); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_to_json); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_to_msgpack); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_to_toml); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_to_yaml); | |
| Py_CLEAR(clear_module_state->__pyx_n_u_toml); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_toml_decode_error); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_toml_read_library); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_toml_string); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_typing); | |
| Py_CLEAR(clear_module_state->__pyx_kp_u_utf_8); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_yaml); | |
| Py_CLEAR(clear_module_state->__pyx_n_u_yaml); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_yaml_available); | |
| Py_CLEAR(clear_module_state->__pyx_n_s_yaml_string); | |
| Py_CLEAR(clear_module_state->__pyx_n_u_yml); | |
| Py_CLEAR(clear_module_state->__pyx_tuple__6); | |
| Py_CLEAR(clear_module_state->__pyx_tuple__11); | |
| Py_CLEAR(clear_module_state->__pyx_tuple__13); | |
| Py_CLEAR(clear_module_state->__pyx_tuple__15); | |
| Py_CLEAR(clear_module_state->__pyx_tuple__16); | |
| Py_CLEAR(clear_module_state->__pyx_tuple__18); | |
| Py_CLEAR(clear_module_state->__pyx_codeobj__7); | |
| Py_CLEAR(clear_module_state->__pyx_codeobj__8); | |
| Py_CLEAR(clear_module_state->__pyx_codeobj__9); | |
| Py_CLEAR(clear_module_state->__pyx_codeobj__10); | |
| Py_CLEAR(clear_module_state->__pyx_codeobj__12); | |
| Py_CLEAR(clear_module_state->__pyx_codeobj__14); | |
| Py_CLEAR(clear_module_state->__pyx_codeobj__17); | |
| return 0; | |
| } | |
| /* #### Code section: module_state_traverse ### */ | |
| static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) { | |
| __pyx_mstate *traverse_module_state = __pyx_mstate(m); | |
| if (!traverse_module_state) return 0; | |
| Py_VISIT(traverse_module_state->__pyx_d); | |
| Py_VISIT(traverse_module_state->__pyx_b); | |
| Py_VISIT(traverse_module_state->__pyx_cython_runtime); | |
| Py_VISIT(traverse_module_state->__pyx_empty_tuple); | |
| Py_VISIT(traverse_module_state->__pyx_empty_bytes); | |
| Py_VISIT(traverse_module_state->__pyx_empty_unicode); | |
| Py_VISIT(traverse_module_state->__pyx_CyFunctionType); | |
| Py_VISIT(traverse_module_state->__pyx_FusedFunctionType); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_Box); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_BoxError); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_BoxList); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_Callable); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_Dict); | |
| Py_VISIT(traverse_module_state->__pyx_kp_u_File); | |
| Py_VISIT(traverse_module_state->__pyx_kp_u_File_is_not_JSON_as_expected); | |
| Py_VISIT(traverse_module_state->__pyx_kp_u_File_is_not_TOML_as_expected); | |
| Py_VISIT(traverse_module_state->__pyx_kp_u_File_is_not_YAML_as_expected); | |
| Py_VISIT(traverse_module_state->__pyx_kp_u_File_is_not_msgpack_as_expected); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_ImportError); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_JSONDecodeError); | |
| Py_VISIT(traverse_module_state->__pyx_kp_u_None); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_Optional); | |
| Py_VISIT(traverse_module_state->__pyx_kp_s_Optional_str); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_Path); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_PathLike); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_Union); | |
| Py_VISIT(traverse_module_state->__pyx_kp_s_Union_Box_BoxList); | |
| Py_VISIT(traverse_module_state->__pyx_kp_s_Union_str_PathLike); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_UnpackException); | |
| Py_VISIT(traverse_module_state->__pyx_kp_u_Unsupported_string_string_of); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_ValueError); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_YAMLError); | |
| Py_VISIT(traverse_module_state->__pyx_n_s__19); | |
| Py_VISIT(traverse_module_state->__pyx_n_s__2); | |
| Py_VISIT(traverse_module_state->__pyx_kp_u__3); | |
| Py_VISIT(traverse_module_state->__pyx_kp_u__4); | |
| Py_VISIT(traverse_module_state->__pyx_n_s__5); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_all); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_asyncio_coroutines); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_box_box); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_box_box_list); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_box_converters); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_box_exceptions); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_box_from_file); | |
| Py_VISIT(traverse_module_state->__pyx_n_u_box_from_file); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_box_from_file_2); | |
| Py_VISIT(traverse_module_state->__pyx_kp_s_box_from_file_py); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_box_from_string); | |
| Py_VISIT(traverse_module_state->__pyx_n_u_box_from_string); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_class_getitem); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_cline_in_traceback); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_content); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_converters); | |
| Py_VISIT(traverse_module_state->__pyx_n_u_csv); | |
| Py_VISIT(traverse_module_state->__pyx_kp_u_does_not_exist); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_encoding); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_errors); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_exists); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_file); | |
| Py_VISIT(traverse_module_state->__pyx_kp_u_file_2); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_file_type); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_filename); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_from_csv); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_from_json); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_from_msgpack); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_from_toml); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_from_yaml); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_import); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_initializing); | |
| Py_VISIT(traverse_module_state->__pyx_kp_u_is_an_unknown_type_Please_use_e); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_is_coroutine); | |
| Py_VISIT(traverse_module_state->__pyx_kp_u_is_msgpack_but_no_package_is_av); | |
| Py_VISIT(traverse_module_state->__pyx_kp_u_is_toml_but_no_package_is_avail); | |
| Py_VISIT(traverse_module_state->__pyx_kp_u_is_yaml_but_no_package_is_avail); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_items); | |
| Py_VISIT(traverse_module_state->__pyx_n_u_jsn); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_json); | |
| Py_VISIT(traverse_module_state->__pyx_n_u_json); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_json_string); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_kwargs); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_lower); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_lstrip); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_main); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_msgpack); | |
| Py_VISIT(traverse_module_state->__pyx_n_u_msgpack); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_msgpack_available); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_name); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_os); | |
| Py_VISIT(traverse_module_state->__pyx_n_u_pack); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_pathlib); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_return); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_ruamel_yaml); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_spec); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_str); | |
| Py_VISIT(traverse_module_state->__pyx_n_u_strict); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_string_type); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_suffix); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_sys); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_test); | |
| Py_VISIT(traverse_module_state->__pyx_n_u_tml); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_to_csv); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_to_json); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_to_msgpack); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_to_toml); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_to_yaml); | |
| Py_VISIT(traverse_module_state->__pyx_n_u_toml); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_toml_decode_error); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_toml_read_library); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_toml_string); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_typing); | |
| Py_VISIT(traverse_module_state->__pyx_kp_u_utf_8); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_yaml); | |
| Py_VISIT(traverse_module_state->__pyx_n_u_yaml); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_yaml_available); | |
| Py_VISIT(traverse_module_state->__pyx_n_s_yaml_string); | |
| Py_VISIT(traverse_module_state->__pyx_n_u_yml); | |
| Py_VISIT(traverse_module_state->__pyx_tuple__6); | |
| Py_VISIT(traverse_module_state->__pyx_tuple__11); | |
| Py_VISIT(traverse_module_state->__pyx_tuple__13); | |
| Py_VISIT(traverse_module_state->__pyx_tuple__15); | |
| Py_VISIT(traverse_module_state->__pyx_tuple__16); | |
| Py_VISIT(traverse_module_state->__pyx_tuple__18); | |
| Py_VISIT(traverse_module_state->__pyx_codeobj__7); | |
| Py_VISIT(traverse_module_state->__pyx_codeobj__8); | |
| Py_VISIT(traverse_module_state->__pyx_codeobj__9); | |
| Py_VISIT(traverse_module_state->__pyx_codeobj__10); | |
| Py_VISIT(traverse_module_state->__pyx_codeobj__12); | |
| Py_VISIT(traverse_module_state->__pyx_codeobj__14); | |
| Py_VISIT(traverse_module_state->__pyx_codeobj__17); | |
| return 0; | |
| } | |
| /* #### Code section: module_state_defines ### */ | |
| /* #### Code section: module_code ### */ | |
| /* "box/from_file.py":31 | |
| * | |
| * | |
| * def _to_json(file, encoding, errors, **kwargs): # <<<<<<<<<<<<<< | |
| * try: | |
| * return Box.from_json(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| */ | |
| /* Python wrapper */ | |
| static PyObject *__pyx_pw_3box_9from_file_1_to_json(PyObject *__pyx_self, | |
| PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds | |
| PyObject *__pyx_args, PyObject *__pyx_kwds | |
| ); /*proto*/ | |
| static PyMethodDef __pyx_mdef_3box_9from_file_1_to_json = {"_to_json", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_3box_9from_file_1_to_json, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; | |
| static PyObject *__pyx_pw_3box_9from_file_1_to_json(PyObject *__pyx_self, | |
| PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds | |
| PyObject *__pyx_args, PyObject *__pyx_kwds | |
| ) { | |
| PyObject *__pyx_v_file = 0; | |
| PyObject *__pyx_v_encoding = 0; | |
| PyObject *__pyx_v_errors = 0; | |
| PyObject *__pyx_v_kwargs = 0; | |
| CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); | |
| CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); | |
| int __pyx_lineno = 0; | |
| const char *__pyx_filename = NULL; | |
| int __pyx_clineno = 0; | |
| PyObject *__pyx_r = 0; | |
| __Pyx_RefNannyDeclarations | |
| __Pyx_RefNannySetupContext("_to_json (wrapper)", 0); | |
| __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; | |
| __Pyx_GOTREF(__pyx_v_kwargs); | |
| { | |
| PyObject **__pyx_pyargnames[] = {&__pyx_n_s_file,&__pyx_n_s_encoding,&__pyx_n_s_errors,0}; | |
| PyObject* values[3] = {0,0,0}; | |
| if (__pyx_kwds) { | |
| Py_ssize_t kw_args; | |
| switch (__pyx_nargs) { | |
| case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); | |
| CYTHON_FALLTHROUGH; | |
| case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
| CYTHON_FALLTHROUGH; | |
| case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); | |
| CYTHON_FALLTHROUGH; | |
| case 0: break; | |
| default: goto __pyx_L5_argtuple_error; | |
| } | |
| kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); | |
| switch (__pyx_nargs) { | |
| case 0: | |
| if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_file)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 31, __pyx_L3_error) | |
| else goto __pyx_L5_argtuple_error; | |
| CYTHON_FALLTHROUGH; | |
| case 1: | |
| if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_encoding)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 31, __pyx_L3_error) | |
| else { | |
| __Pyx_RaiseArgtupleInvalid("_to_json", 1, 3, 3, 1); __PYX_ERR(0, 31, __pyx_L3_error) | |
| } | |
| CYTHON_FALLTHROUGH; | |
| case 2: | |
| if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_errors)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 31, __pyx_L3_error) | |
| else { | |
| __Pyx_RaiseArgtupleInvalid("_to_json", 1, 3, 3, 2); __PYX_ERR(0, 31, __pyx_L3_error) | |
| } | |
| } | |
| if (unlikely(kw_args > 0)) { | |
| const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
| if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, kwd_pos_args, "_to_json") < 0)) __PYX_ERR(0, 31, __pyx_L3_error) | |
| } | |
| } else if (unlikely(__pyx_nargs != 3)) { | |
| goto __pyx_L5_argtuple_error; | |
| } else { | |
| values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); | |
| values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
| values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); | |
| } | |
| __pyx_v_file = values[0]; | |
| __pyx_v_encoding = values[1]; | |
| __pyx_v_errors = values[2]; | |
| } | |
| goto __pyx_L4_argument_unpacking_done; | |
| __pyx_L5_argtuple_error:; | |
| __Pyx_RaiseArgtupleInvalid("_to_json", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 31, __pyx_L3_error) | |
| __pyx_L3_error:; | |
| __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; | |
| __Pyx_AddTraceback("box.from_file._to_json", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| __Pyx_RefNannyFinishContext(); | |
| return NULL; | |
| __pyx_L4_argument_unpacking_done:; | |
| __pyx_r = __pyx_pf_3box_9from_file__to_json(__pyx_self, __pyx_v_file, __pyx_v_encoding, __pyx_v_errors, __pyx_v_kwargs); | |
| /* function exit code */ | |
| __Pyx_DECREF(__pyx_v_kwargs); | |
| __Pyx_RefNannyFinishContext(); | |
| return __pyx_r; | |
| } | |
| static PyObject *__pyx_pf_3box_9from_file__to_json(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_file, PyObject *__pyx_v_encoding, PyObject *__pyx_v_errors, PyObject *__pyx_v_kwargs) { | |
| PyObject *__pyx_r = NULL; | |
| __Pyx_RefNannyDeclarations | |
| PyObject *__pyx_t_1 = NULL; | |
| PyObject *__pyx_t_2 = NULL; | |
| PyObject *__pyx_t_3 = NULL; | |
| PyObject *__pyx_t_4 = NULL; | |
| PyObject *__pyx_t_5 = NULL; | |
| PyObject *__pyx_t_6 = NULL; | |
| PyObject *__pyx_t_7 = NULL; | |
| int __pyx_t_8; | |
| PyObject *__pyx_t_9 = NULL; | |
| PyObject *__pyx_t_10 = NULL; | |
| int __pyx_lineno = 0; | |
| const char *__pyx_filename = NULL; | |
| int __pyx_clineno = 0; | |
| __Pyx_RefNannySetupContext("_to_json", 0); | |
| /* "box/from_file.py":32 | |
| * | |
| * def _to_json(file, encoding, errors, **kwargs): | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_json(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * except JSONDecodeError: | |
| */ | |
| { | |
| __Pyx_PyThreadState_declare | |
| __Pyx_PyThreadState_assign | |
| __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_2, &__pyx_t_3); | |
| __Pyx_XGOTREF(__pyx_t_1); | |
| __Pyx_XGOTREF(__pyx_t_2); | |
| __Pyx_XGOTREF(__pyx_t_3); | |
| /*try:*/ { | |
| /* "box/from_file.py":33 | |
| * def _to_json(file, encoding, errors, **kwargs): | |
| * try: | |
| * return Box.from_json(filename=file, encoding=encoding, errors=errors, **kwargs) # <<<<<<<<<<<<<< | |
| * except JSONDecodeError: | |
| * raise BoxError("File is not JSON as expected") | |
| */ | |
| __Pyx_XDECREF(__pyx_r); | |
| __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Box); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 33, __pyx_L3_error) | |
| __Pyx_GOTREF(__pyx_t_4); | |
| __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_from_json); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 33, __pyx_L3_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __pyx_t_6 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 33, __pyx_L3_error) | |
| __Pyx_GOTREF(__pyx_t_6); | |
| if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_filename, __pyx_v_file) < 0) __PYX_ERR(0, 33, __pyx_L3_error) | |
| if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_encoding, __pyx_v_encoding) < 0) __PYX_ERR(0, 33, __pyx_L3_error) | |
| if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_errors, __pyx_v_errors) < 0) __PYX_ERR(0, 33, __pyx_L3_error) | |
| __pyx_t_4 = __pyx_t_6; | |
| __pyx_t_6 = 0; | |
| if (__Pyx_MergeKeywords(__pyx_t_4, __pyx_v_kwargs) < 0) __PYX_ERR(0, 33, __pyx_L3_error) | |
| __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 33, __pyx_L3_error) | |
| __Pyx_GOTREF(__pyx_t_6); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __pyx_r = __pyx_t_6; | |
| __pyx_t_6 = 0; | |
| goto __pyx_L7_try_return; | |
| /* "box/from_file.py":32 | |
| * | |
| * def _to_json(file, encoding, errors, **kwargs): | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_json(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * except JSONDecodeError: | |
| */ | |
| } | |
| __pyx_L3_error:; | |
| __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; | |
| /* "box/from_file.py":34 | |
| * try: | |
| * return Box.from_json(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * except JSONDecodeError: # <<<<<<<<<<<<<< | |
| * raise BoxError("File is not JSON as expected") | |
| * except BoxError: | |
| */ | |
| __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_4, &__pyx_t_5); | |
| __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_JSONDecodeError); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 34, __pyx_L5_except_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| __pyx_t_8 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_6, __pyx_t_7); | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| __Pyx_ErrRestore(__pyx_t_6, __pyx_t_4, __pyx_t_5); | |
| __pyx_t_6 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; | |
| if (__pyx_t_8) { | |
| __Pyx_AddTraceback("box.from_file._to_json", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(0, 34, __pyx_L5_except_error) | |
| __Pyx_XGOTREF(__pyx_t_5); | |
| __Pyx_XGOTREF(__pyx_t_4); | |
| __Pyx_XGOTREF(__pyx_t_6); | |
| /* "box/from_file.py":35 | |
| * return Box.from_json(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * except JSONDecodeError: | |
| * raise BoxError("File is not JSON as expected") # <<<<<<<<<<<<<< | |
| * except BoxError: | |
| * return BoxList.from_json(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 35, __pyx_L5_except_error) | |
| __Pyx_GOTREF(__pyx_t_9); | |
| __pyx_t_10 = NULL; | |
| __pyx_t_8 = 0; | |
| if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { | |
| __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_9); | |
| if (likely(__pyx_t_10)) { | |
| PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); | |
| __Pyx_INCREF(__pyx_t_10); | |
| __Pyx_INCREF(function); | |
| __Pyx_DECREF_SET(__pyx_t_9, function); | |
| __pyx_t_8 = 1; | |
| } | |
| } | |
| { | |
| PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_kp_u_File_is_not_JSON_as_expected}; | |
| __pyx_t_7 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); | |
| __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; | |
| if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 35, __pyx_L5_except_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
| } | |
| __Pyx_Raise(__pyx_t_7, 0, 0, 0); | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| __PYX_ERR(0, 35, __pyx_L5_except_error) | |
| } | |
| /* "box/from_file.py":36 | |
| * except JSONDecodeError: | |
| * raise BoxError("File is not JSON as expected") | |
| * except BoxError: # <<<<<<<<<<<<<< | |
| * return BoxList.from_json(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * | |
| */ | |
| __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_4, &__pyx_t_5); | |
| __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 36, __pyx_L5_except_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| __pyx_t_8 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_6, __pyx_t_7); | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| __Pyx_ErrRestore(__pyx_t_6, __pyx_t_4, __pyx_t_5); | |
| __pyx_t_6 = 0; __pyx_t_4 = 0; __pyx_t_5 = 0; | |
| if (__pyx_t_8) { | |
| __Pyx_AddTraceback("box.from_file._to_json", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_4, &__pyx_t_6) < 0) __PYX_ERR(0, 36, __pyx_L5_except_error) | |
| __Pyx_XGOTREF(__pyx_t_5); | |
| __Pyx_XGOTREF(__pyx_t_4); | |
| __Pyx_XGOTREF(__pyx_t_6); | |
| /* "box/from_file.py":37 | |
| * raise BoxError("File is not JSON as expected") | |
| * except BoxError: | |
| * return BoxList.from_json(filename=file, encoding=encoding, errors=errors, **kwargs) # <<<<<<<<<<<<<< | |
| * | |
| * | |
| */ | |
| __Pyx_XDECREF(__pyx_r); | |
| __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_BoxList); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 37, __pyx_L5_except_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_from_json); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 37, __pyx_L5_except_error) | |
| __Pyx_GOTREF(__pyx_t_9); | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| __pyx_t_10 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 37, __pyx_L5_except_error) | |
| __Pyx_GOTREF(__pyx_t_10); | |
| if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_filename, __pyx_v_file) < 0) __PYX_ERR(0, 37, __pyx_L5_except_error) | |
| if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_encoding, __pyx_v_encoding) < 0) __PYX_ERR(0, 37, __pyx_L5_except_error) | |
| if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_errors, __pyx_v_errors) < 0) __PYX_ERR(0, 37, __pyx_L5_except_error) | |
| __pyx_t_7 = __pyx_t_10; | |
| __pyx_t_10 = 0; | |
| if (__Pyx_MergeKeywords(__pyx_t_7, __pyx_v_kwargs) < 0) __PYX_ERR(0, 37, __pyx_L5_except_error) | |
| __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 37, __pyx_L5_except_error) | |
| __Pyx_GOTREF(__pyx_t_10); | |
| __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| __pyx_r = __pyx_t_10; | |
| __pyx_t_10 = 0; | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
| goto __pyx_L6_except_return; | |
| } | |
| goto __pyx_L5_except_error; | |
| /* "box/from_file.py":32 | |
| * | |
| * def _to_json(file, encoding, errors, **kwargs): | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_json(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * except JSONDecodeError: | |
| */ | |
| __pyx_L5_except_error:; | |
| __Pyx_XGIVEREF(__pyx_t_1); | |
| __Pyx_XGIVEREF(__pyx_t_2); | |
| __Pyx_XGIVEREF(__pyx_t_3); | |
| __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); | |
| goto __pyx_L1_error; | |
| __pyx_L7_try_return:; | |
| __Pyx_XGIVEREF(__pyx_t_1); | |
| __Pyx_XGIVEREF(__pyx_t_2); | |
| __Pyx_XGIVEREF(__pyx_t_3); | |
| __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); | |
| goto __pyx_L0; | |
| __pyx_L6_except_return:; | |
| __Pyx_XGIVEREF(__pyx_t_1); | |
| __Pyx_XGIVEREF(__pyx_t_2); | |
| __Pyx_XGIVEREF(__pyx_t_3); | |
| __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_2, __pyx_t_3); | |
| goto __pyx_L0; | |
| } | |
| /* "box/from_file.py":31 | |
| * | |
| * | |
| * def _to_json(file, encoding, errors, **kwargs): # <<<<<<<<<<<<<< | |
| * try: | |
| * return Box.from_json(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| */ | |
| /* function exit code */ | |
| __pyx_L1_error:; | |
| __Pyx_XDECREF(__pyx_t_4); | |
| __Pyx_XDECREF(__pyx_t_5); | |
| __Pyx_XDECREF(__pyx_t_6); | |
| __Pyx_XDECREF(__pyx_t_7); | |
| __Pyx_XDECREF(__pyx_t_9); | |
| __Pyx_XDECREF(__pyx_t_10); | |
| __Pyx_AddTraceback("box.from_file._to_json", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| __pyx_r = NULL; | |
| __pyx_L0:; | |
| __Pyx_XGIVEREF(__pyx_r); | |
| __Pyx_RefNannyFinishContext(); | |
| return __pyx_r; | |
| } | |
| /* "box/from_file.py":40 | |
| * | |
| * | |
| * def _to_csv(file, encoding, errors, **kwargs): # <<<<<<<<<<<<<< | |
| * return BoxList.from_csv(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * | |
| */ | |
| /* Python wrapper */ | |
| static PyObject *__pyx_pw_3box_9from_file_3_to_csv(PyObject *__pyx_self, | |
| PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds | |
| PyObject *__pyx_args, PyObject *__pyx_kwds | |
| ); /*proto*/ | |
| static PyMethodDef __pyx_mdef_3box_9from_file_3_to_csv = {"_to_csv", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_3box_9from_file_3_to_csv, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; | |
| static PyObject *__pyx_pw_3box_9from_file_3_to_csv(PyObject *__pyx_self, | |
| PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds | |
| PyObject *__pyx_args, PyObject *__pyx_kwds | |
| ) { | |
| PyObject *__pyx_v_file = 0; | |
| PyObject *__pyx_v_encoding = 0; | |
| PyObject *__pyx_v_errors = 0; | |
| PyObject *__pyx_v_kwargs = 0; | |
| CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); | |
| CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); | |
| int __pyx_lineno = 0; | |
| const char *__pyx_filename = NULL; | |
| int __pyx_clineno = 0; | |
| PyObject *__pyx_r = 0; | |
| __Pyx_RefNannyDeclarations | |
| __Pyx_RefNannySetupContext("_to_csv (wrapper)", 0); | |
| __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; | |
| __Pyx_GOTREF(__pyx_v_kwargs); | |
| { | |
| PyObject **__pyx_pyargnames[] = {&__pyx_n_s_file,&__pyx_n_s_encoding,&__pyx_n_s_errors,0}; | |
| PyObject* values[3] = {0,0,0}; | |
| if (__pyx_kwds) { | |
| Py_ssize_t kw_args; | |
| switch (__pyx_nargs) { | |
| case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); | |
| CYTHON_FALLTHROUGH; | |
| case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
| CYTHON_FALLTHROUGH; | |
| case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); | |
| CYTHON_FALLTHROUGH; | |
| case 0: break; | |
| default: goto __pyx_L5_argtuple_error; | |
| } | |
| kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); | |
| switch (__pyx_nargs) { | |
| case 0: | |
| if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_file)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 40, __pyx_L3_error) | |
| else goto __pyx_L5_argtuple_error; | |
| CYTHON_FALLTHROUGH; | |
| case 1: | |
| if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_encoding)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 40, __pyx_L3_error) | |
| else { | |
| __Pyx_RaiseArgtupleInvalid("_to_csv", 1, 3, 3, 1); __PYX_ERR(0, 40, __pyx_L3_error) | |
| } | |
| CYTHON_FALLTHROUGH; | |
| case 2: | |
| if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_errors)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 40, __pyx_L3_error) | |
| else { | |
| __Pyx_RaiseArgtupleInvalid("_to_csv", 1, 3, 3, 2); __PYX_ERR(0, 40, __pyx_L3_error) | |
| } | |
| } | |
| if (unlikely(kw_args > 0)) { | |
| const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
| if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, kwd_pos_args, "_to_csv") < 0)) __PYX_ERR(0, 40, __pyx_L3_error) | |
| } | |
| } else if (unlikely(__pyx_nargs != 3)) { | |
| goto __pyx_L5_argtuple_error; | |
| } else { | |
| values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); | |
| values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
| values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); | |
| } | |
| __pyx_v_file = values[0]; | |
| __pyx_v_encoding = values[1]; | |
| __pyx_v_errors = values[2]; | |
| } | |
| goto __pyx_L4_argument_unpacking_done; | |
| __pyx_L5_argtuple_error:; | |
| __Pyx_RaiseArgtupleInvalid("_to_csv", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 40, __pyx_L3_error) | |
| __pyx_L3_error:; | |
| __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; | |
| __Pyx_AddTraceback("box.from_file._to_csv", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| __Pyx_RefNannyFinishContext(); | |
| return NULL; | |
| __pyx_L4_argument_unpacking_done:; | |
| __pyx_r = __pyx_pf_3box_9from_file_2_to_csv(__pyx_self, __pyx_v_file, __pyx_v_encoding, __pyx_v_errors, __pyx_v_kwargs); | |
| /* function exit code */ | |
| __Pyx_DECREF(__pyx_v_kwargs); | |
| __Pyx_RefNannyFinishContext(); | |
| return __pyx_r; | |
| } | |
| static PyObject *__pyx_pf_3box_9from_file_2_to_csv(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_file, PyObject *__pyx_v_encoding, PyObject *__pyx_v_errors, PyObject *__pyx_v_kwargs) { | |
| PyObject *__pyx_r = NULL; | |
| __Pyx_RefNannyDeclarations | |
| PyObject *__pyx_t_1 = NULL; | |
| PyObject *__pyx_t_2 = NULL; | |
| PyObject *__pyx_t_3 = NULL; | |
| int __pyx_lineno = 0; | |
| const char *__pyx_filename = NULL; | |
| int __pyx_clineno = 0; | |
| __Pyx_RefNannySetupContext("_to_csv", 0); | |
| /* "box/from_file.py":41 | |
| * | |
| * def _to_csv(file, encoding, errors, **kwargs): | |
| * return BoxList.from_csv(filename=file, encoding=encoding, errors=errors, **kwargs) # <<<<<<<<<<<<<< | |
| * | |
| * | |
| */ | |
| __Pyx_XDECREF(__pyx_r); | |
| __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_BoxList); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_from_csv); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_filename, __pyx_v_file) < 0) __PYX_ERR(0, 41, __pyx_L1_error) | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_encoding, __pyx_v_encoding) < 0) __PYX_ERR(0, 41, __pyx_L1_error) | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_errors, __pyx_v_errors) < 0) __PYX_ERR(0, 41, __pyx_L1_error) | |
| __pyx_t_1 = __pyx_t_3; | |
| __pyx_t_3 = 0; | |
| if (__Pyx_MergeKeywords(__pyx_t_1, __pyx_v_kwargs) < 0) __PYX_ERR(0, 41, __pyx_L1_error) | |
| __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __pyx_r = __pyx_t_3; | |
| __pyx_t_3 = 0; | |
| goto __pyx_L0; | |
| /* "box/from_file.py":40 | |
| * | |
| * | |
| * def _to_csv(file, encoding, errors, **kwargs): # <<<<<<<<<<<<<< | |
| * return BoxList.from_csv(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * | |
| */ | |
| /* function exit code */ | |
| __pyx_L1_error:; | |
| __Pyx_XDECREF(__pyx_t_1); | |
| __Pyx_XDECREF(__pyx_t_2); | |
| __Pyx_XDECREF(__pyx_t_3); | |
| __Pyx_AddTraceback("box.from_file._to_csv", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| __pyx_r = NULL; | |
| __pyx_L0:; | |
| __Pyx_XGIVEREF(__pyx_r); | |
| __Pyx_RefNannyFinishContext(); | |
| return __pyx_r; | |
| } | |
| /* "box/from_file.py":44 | |
| * | |
| * | |
| * def _to_yaml(file, encoding, errors, **kwargs): # <<<<<<<<<<<<<< | |
| * if not yaml_available: | |
| * raise BoxError( | |
| */ | |
| /* Python wrapper */ | |
| static PyObject *__pyx_pw_3box_9from_file_5_to_yaml(PyObject *__pyx_self, | |
| PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds | |
| PyObject *__pyx_args, PyObject *__pyx_kwds | |
| ); /*proto*/ | |
| static PyMethodDef __pyx_mdef_3box_9from_file_5_to_yaml = {"_to_yaml", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_3box_9from_file_5_to_yaml, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; | |
| static PyObject *__pyx_pw_3box_9from_file_5_to_yaml(PyObject *__pyx_self, | |
| PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds | |
| PyObject *__pyx_args, PyObject *__pyx_kwds | |
| ) { | |
| PyObject *__pyx_v_file = 0; | |
| PyObject *__pyx_v_encoding = 0; | |
| PyObject *__pyx_v_errors = 0; | |
| PyObject *__pyx_v_kwargs = 0; | |
| CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); | |
| CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); | |
| int __pyx_lineno = 0; | |
| const char *__pyx_filename = NULL; | |
| int __pyx_clineno = 0; | |
| PyObject *__pyx_r = 0; | |
| __Pyx_RefNannyDeclarations | |
| __Pyx_RefNannySetupContext("_to_yaml (wrapper)", 0); | |
| __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; | |
| __Pyx_GOTREF(__pyx_v_kwargs); | |
| { | |
| PyObject **__pyx_pyargnames[] = {&__pyx_n_s_file,&__pyx_n_s_encoding,&__pyx_n_s_errors,0}; | |
| PyObject* values[3] = {0,0,0}; | |
| if (__pyx_kwds) { | |
| Py_ssize_t kw_args; | |
| switch (__pyx_nargs) { | |
| case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); | |
| CYTHON_FALLTHROUGH; | |
| case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
| CYTHON_FALLTHROUGH; | |
| case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); | |
| CYTHON_FALLTHROUGH; | |
| case 0: break; | |
| default: goto __pyx_L5_argtuple_error; | |
| } | |
| kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); | |
| switch (__pyx_nargs) { | |
| case 0: | |
| if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_file)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 44, __pyx_L3_error) | |
| else goto __pyx_L5_argtuple_error; | |
| CYTHON_FALLTHROUGH; | |
| case 1: | |
| if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_encoding)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 44, __pyx_L3_error) | |
| else { | |
| __Pyx_RaiseArgtupleInvalid("_to_yaml", 1, 3, 3, 1); __PYX_ERR(0, 44, __pyx_L3_error) | |
| } | |
| CYTHON_FALLTHROUGH; | |
| case 2: | |
| if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_errors)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 44, __pyx_L3_error) | |
| else { | |
| __Pyx_RaiseArgtupleInvalid("_to_yaml", 1, 3, 3, 2); __PYX_ERR(0, 44, __pyx_L3_error) | |
| } | |
| } | |
| if (unlikely(kw_args > 0)) { | |
| const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
| if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, kwd_pos_args, "_to_yaml") < 0)) __PYX_ERR(0, 44, __pyx_L3_error) | |
| } | |
| } else if (unlikely(__pyx_nargs != 3)) { | |
| goto __pyx_L5_argtuple_error; | |
| } else { | |
| values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); | |
| values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
| values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); | |
| } | |
| __pyx_v_file = values[0]; | |
| __pyx_v_encoding = values[1]; | |
| __pyx_v_errors = values[2]; | |
| } | |
| goto __pyx_L4_argument_unpacking_done; | |
| __pyx_L5_argtuple_error:; | |
| __Pyx_RaiseArgtupleInvalid("_to_yaml", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 44, __pyx_L3_error) | |
| __pyx_L3_error:; | |
| __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; | |
| __Pyx_AddTraceback("box.from_file._to_yaml", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| __Pyx_RefNannyFinishContext(); | |
| return NULL; | |
| __pyx_L4_argument_unpacking_done:; | |
| __pyx_r = __pyx_pf_3box_9from_file_4_to_yaml(__pyx_self, __pyx_v_file, __pyx_v_encoding, __pyx_v_errors, __pyx_v_kwargs); | |
| /* function exit code */ | |
| __Pyx_DECREF(__pyx_v_kwargs); | |
| __Pyx_RefNannyFinishContext(); | |
| return __pyx_r; | |
| } | |
| static PyObject *__pyx_pf_3box_9from_file_4_to_yaml(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_file, PyObject *__pyx_v_encoding, PyObject *__pyx_v_errors, PyObject *__pyx_v_kwargs) { | |
| PyObject *__pyx_r = NULL; | |
| __Pyx_RefNannyDeclarations | |
| PyObject *__pyx_t_1 = NULL; | |
| int __pyx_t_2; | |
| int __pyx_t_3; | |
| PyObject *__pyx_t_4 = NULL; | |
| PyObject *__pyx_t_5 = NULL; | |
| Py_ssize_t __pyx_t_6; | |
| Py_UCS4 __pyx_t_7; | |
| PyObject *__pyx_t_8 = NULL; | |
| int __pyx_t_9; | |
| PyObject *__pyx_t_10 = NULL; | |
| PyObject *__pyx_t_11 = NULL; | |
| PyObject *__pyx_t_12 = NULL; | |
| PyObject *__pyx_t_13 = NULL; | |
| PyObject *__pyx_t_14 = NULL; | |
| int __pyx_lineno = 0; | |
| const char *__pyx_filename = NULL; | |
| int __pyx_clineno = 0; | |
| __Pyx_RefNannySetupContext("_to_yaml", 0); | |
| /* "box/from_file.py":45 | |
| * | |
| * def _to_yaml(file, encoding, errors, **kwargs): | |
| * if not yaml_available: # <<<<<<<<<<<<<< | |
| * raise BoxError( | |
| * f'File "{file}" is yaml but no package is available to open it. Please install "ruamel.yaml" or "PyYAML"' | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_yaml_available); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 45, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 45, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __pyx_t_3 = (!__pyx_t_2); | |
| if (unlikely(__pyx_t_3)) { | |
| /* "box/from_file.py":46 | |
| * def _to_yaml(file, encoding, errors, **kwargs): | |
| * if not yaml_available: | |
| * raise BoxError( # <<<<<<<<<<<<<< | |
| * f'File "{file}" is yaml but no package is available to open it. Please install "ruamel.yaml" or "PyYAML"' | |
| * ) | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 46, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_4); | |
| /* "box/from_file.py":47 | |
| * if not yaml_available: | |
| * raise BoxError( | |
| * f'File "{file}" is yaml but no package is available to open it. Please install "ruamel.yaml" or "PyYAML"' # <<<<<<<<<<<<<< | |
| * ) | |
| * try: | |
| */ | |
| __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 47, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __pyx_t_6 = 0; | |
| __pyx_t_7 = 127; | |
| __Pyx_INCREF(__pyx_kp_u_File); | |
| __pyx_t_6 += 6; | |
| __Pyx_GIVEREF(__pyx_kp_u_File); | |
| PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_File); | |
| __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_v_file, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) : __pyx_t_7; | |
| __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8); | |
| __Pyx_GIVEREF(__pyx_t_8); | |
| PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_8); | |
| __pyx_t_8 = 0; | |
| __Pyx_INCREF(__pyx_kp_u_is_yaml_but_no_package_is_avail); | |
| __pyx_t_6 += 90; | |
| __Pyx_GIVEREF(__pyx_kp_u_is_yaml_but_no_package_is_avail); | |
| PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u_is_yaml_but_no_package_is_avail); | |
| __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 47, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __pyx_t_5 = NULL; | |
| __pyx_t_9 = 0; | |
| if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { | |
| __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); | |
| if (likely(__pyx_t_5)) { | |
| PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); | |
| __Pyx_INCREF(__pyx_t_5); | |
| __Pyx_INCREF(function); | |
| __Pyx_DECREF_SET(__pyx_t_4, function); | |
| __pyx_t_9 = 1; | |
| } | |
| } | |
| { | |
| PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_8}; | |
| __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); | |
| __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 46, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| } | |
| __Pyx_Raise(__pyx_t_1, 0, 0, 0); | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __PYX_ERR(0, 46, __pyx_L1_error) | |
| /* "box/from_file.py":45 | |
| * | |
| * def _to_yaml(file, encoding, errors, **kwargs): | |
| * if not yaml_available: # <<<<<<<<<<<<<< | |
| * raise BoxError( | |
| * f'File "{file}" is yaml but no package is available to open it. Please install "ruamel.yaml" or "PyYAML"' | |
| */ | |
| } | |
| /* "box/from_file.py":49 | |
| * f'File "{file}" is yaml but no package is available to open it. Please install "ruamel.yaml" or "PyYAML"' | |
| * ) | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_yaml(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * except YAMLError: | |
| */ | |
| { | |
| __Pyx_PyThreadState_declare | |
| __Pyx_PyThreadState_assign | |
| __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); | |
| __Pyx_XGOTREF(__pyx_t_10); | |
| __Pyx_XGOTREF(__pyx_t_11); | |
| __Pyx_XGOTREF(__pyx_t_12); | |
| /*try:*/ { | |
| /* "box/from_file.py":50 | |
| * ) | |
| * try: | |
| * return Box.from_yaml(filename=file, encoding=encoding, errors=errors, **kwargs) # <<<<<<<<<<<<<< | |
| * except YAMLError: | |
| * raise BoxError("File is not YAML as expected") | |
| */ | |
| __Pyx_XDECREF(__pyx_r); | |
| __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Box); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L4_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_from_yaml); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 50, __pyx_L4_error) | |
| __Pyx_GOTREF(__pyx_t_4); | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __pyx_t_8 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 50, __pyx_L4_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_filename, __pyx_v_file) < 0) __PYX_ERR(0, 50, __pyx_L4_error) | |
| if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_encoding, __pyx_v_encoding) < 0) __PYX_ERR(0, 50, __pyx_L4_error) | |
| if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_errors, __pyx_v_errors) < 0) __PYX_ERR(0, 50, __pyx_L4_error) | |
| __pyx_t_1 = __pyx_t_8; | |
| __pyx_t_8 = 0; | |
| if (__Pyx_MergeKeywords(__pyx_t_1, __pyx_v_kwargs) < 0) __PYX_ERR(0, 50, __pyx_L4_error) | |
| __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 50, __pyx_L4_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __pyx_r = __pyx_t_8; | |
| __pyx_t_8 = 0; | |
| goto __pyx_L8_try_return; | |
| /* "box/from_file.py":49 | |
| * f'File "{file}" is yaml but no package is available to open it. Please install "ruamel.yaml" or "PyYAML"' | |
| * ) | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_yaml(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * except YAMLError: | |
| */ | |
| } | |
| __pyx_L4_error:; | |
| __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| /* "box/from_file.py":51 | |
| * try: | |
| * return Box.from_yaml(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * except YAMLError: # <<<<<<<<<<<<<< | |
| * raise BoxError("File is not YAML as expected") | |
| * except BoxError: | |
| */ | |
| __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_1, &__pyx_t_4); | |
| __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_YAMLError); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 51, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __pyx_t_9 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_8, __pyx_t_5); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_ErrRestore(__pyx_t_8, __pyx_t_1, __pyx_t_4); | |
| __pyx_t_8 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; | |
| if (__pyx_t_9) { | |
| __Pyx_AddTraceback("box.from_file._to_yaml", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_8) < 0) __PYX_ERR(0, 51, __pyx_L6_except_error) | |
| __Pyx_XGOTREF(__pyx_t_4); | |
| __Pyx_XGOTREF(__pyx_t_1); | |
| __Pyx_XGOTREF(__pyx_t_8); | |
| /* "box/from_file.py":52 | |
| * return Box.from_yaml(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * except YAMLError: | |
| * raise BoxError("File is not YAML as expected") # <<<<<<<<<<<<<< | |
| * except BoxError: | |
| * return BoxList.from_yaml(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 52, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_13); | |
| __pyx_t_14 = NULL; | |
| __pyx_t_9 = 0; | |
| if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { | |
| __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); | |
| if (likely(__pyx_t_14)) { | |
| PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); | |
| __Pyx_INCREF(__pyx_t_14); | |
| __Pyx_INCREF(function); | |
| __Pyx_DECREF_SET(__pyx_t_13, function); | |
| __pyx_t_9 = 1; | |
| } | |
| } | |
| { | |
| PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_kp_u_File_is_not_YAML_as_expected}; | |
| __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); | |
| __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; | |
| if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 52, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; | |
| } | |
| __Pyx_Raise(__pyx_t_5, 0, 0, 0); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __PYX_ERR(0, 52, __pyx_L6_except_error) | |
| } | |
| /* "box/from_file.py":53 | |
| * except YAMLError: | |
| * raise BoxError("File is not YAML as expected") | |
| * except BoxError: # <<<<<<<<<<<<<< | |
| * return BoxList.from_yaml(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * | |
| */ | |
| __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_1, &__pyx_t_4); | |
| __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 53, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __pyx_t_9 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_8, __pyx_t_5); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_ErrRestore(__pyx_t_8, __pyx_t_1, __pyx_t_4); | |
| __pyx_t_8 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; | |
| if (__pyx_t_9) { | |
| __Pyx_AddTraceback("box.from_file._to_yaml", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_8) < 0) __PYX_ERR(0, 53, __pyx_L6_except_error) | |
| __Pyx_XGOTREF(__pyx_t_4); | |
| __Pyx_XGOTREF(__pyx_t_1); | |
| __Pyx_XGOTREF(__pyx_t_8); | |
| /* "box/from_file.py":54 | |
| * raise BoxError("File is not YAML as expected") | |
| * except BoxError: | |
| * return BoxList.from_yaml(filename=file, encoding=encoding, errors=errors, **kwargs) # <<<<<<<<<<<<<< | |
| * | |
| * | |
| */ | |
| __Pyx_XDECREF(__pyx_r); | |
| __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_BoxList); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 54, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_from_yaml); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 54, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_13); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __pyx_t_14 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 54, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_14); | |
| if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_filename, __pyx_v_file) < 0) __PYX_ERR(0, 54, __pyx_L6_except_error) | |
| if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_encoding, __pyx_v_encoding) < 0) __PYX_ERR(0, 54, __pyx_L6_except_error) | |
| if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_errors, __pyx_v_errors) < 0) __PYX_ERR(0, 54, __pyx_L6_except_error) | |
| __pyx_t_5 = __pyx_t_14; | |
| __pyx_t_14 = 0; | |
| if (__Pyx_MergeKeywords(__pyx_t_5, __pyx_v_kwargs) < 0) __PYX_ERR(0, 54, __pyx_L6_except_error) | |
| __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 54, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_14); | |
| __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __pyx_r = __pyx_t_14; | |
| __pyx_t_14 = 0; | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| goto __pyx_L7_except_return; | |
| } | |
| goto __pyx_L6_except_error; | |
| /* "box/from_file.py":49 | |
| * f'File "{file}" is yaml but no package is available to open it. Please install "ruamel.yaml" or "PyYAML"' | |
| * ) | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_yaml(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * except YAMLError: | |
| */ | |
| __pyx_L6_except_error:; | |
| __Pyx_XGIVEREF(__pyx_t_10); | |
| __Pyx_XGIVEREF(__pyx_t_11); | |
| __Pyx_XGIVEREF(__pyx_t_12); | |
| __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); | |
| goto __pyx_L1_error; | |
| __pyx_L8_try_return:; | |
| __Pyx_XGIVEREF(__pyx_t_10); | |
| __Pyx_XGIVEREF(__pyx_t_11); | |
| __Pyx_XGIVEREF(__pyx_t_12); | |
| __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); | |
| goto __pyx_L0; | |
| __pyx_L7_except_return:; | |
| __Pyx_XGIVEREF(__pyx_t_10); | |
| __Pyx_XGIVEREF(__pyx_t_11); | |
| __Pyx_XGIVEREF(__pyx_t_12); | |
| __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); | |
| goto __pyx_L0; | |
| } | |
| /* "box/from_file.py":44 | |
| * | |
| * | |
| * def _to_yaml(file, encoding, errors, **kwargs): # <<<<<<<<<<<<<< | |
| * if not yaml_available: | |
| * raise BoxError( | |
| */ | |
| /* function exit code */ | |
| __pyx_L1_error:; | |
| __Pyx_XDECREF(__pyx_t_1); | |
| __Pyx_XDECREF(__pyx_t_4); | |
| __Pyx_XDECREF(__pyx_t_5); | |
| __Pyx_XDECREF(__pyx_t_8); | |
| __Pyx_XDECREF(__pyx_t_13); | |
| __Pyx_XDECREF(__pyx_t_14); | |
| __Pyx_AddTraceback("box.from_file._to_yaml", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| __pyx_r = NULL; | |
| __pyx_L0:; | |
| __Pyx_XGIVEREF(__pyx_r); | |
| __Pyx_RefNannyFinishContext(); | |
| return __pyx_r; | |
| } | |
| /* "box/from_file.py":57 | |
| * | |
| * | |
| * def _to_toml(file, encoding, errors, **kwargs): # <<<<<<<<<<<<<< | |
| * if not toml_read_library: | |
| * raise BoxError(f'File "{file}" is toml but no package is available to open it. Please install "tomli"') | |
| */ | |
| /* Python wrapper */ | |
| static PyObject *__pyx_pw_3box_9from_file_7_to_toml(PyObject *__pyx_self, | |
| PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds | |
| PyObject *__pyx_args, PyObject *__pyx_kwds | |
| ); /*proto*/ | |
| static PyMethodDef __pyx_mdef_3box_9from_file_7_to_toml = {"_to_toml", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_3box_9from_file_7_to_toml, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; | |
| static PyObject *__pyx_pw_3box_9from_file_7_to_toml(PyObject *__pyx_self, | |
| PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds | |
| PyObject *__pyx_args, PyObject *__pyx_kwds | |
| ) { | |
| PyObject *__pyx_v_file = 0; | |
| PyObject *__pyx_v_encoding = 0; | |
| PyObject *__pyx_v_errors = 0; | |
| PyObject *__pyx_v_kwargs = 0; | |
| CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); | |
| CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); | |
| int __pyx_lineno = 0; | |
| const char *__pyx_filename = NULL; | |
| int __pyx_clineno = 0; | |
| PyObject *__pyx_r = 0; | |
| __Pyx_RefNannyDeclarations | |
| __Pyx_RefNannySetupContext("_to_toml (wrapper)", 0); | |
| __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; | |
| __Pyx_GOTREF(__pyx_v_kwargs); | |
| { | |
| PyObject **__pyx_pyargnames[] = {&__pyx_n_s_file,&__pyx_n_s_encoding,&__pyx_n_s_errors,0}; | |
| PyObject* values[3] = {0,0,0}; | |
| if (__pyx_kwds) { | |
| Py_ssize_t kw_args; | |
| switch (__pyx_nargs) { | |
| case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); | |
| CYTHON_FALLTHROUGH; | |
| case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
| CYTHON_FALLTHROUGH; | |
| case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); | |
| CYTHON_FALLTHROUGH; | |
| case 0: break; | |
| default: goto __pyx_L5_argtuple_error; | |
| } | |
| kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); | |
| switch (__pyx_nargs) { | |
| case 0: | |
| if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_file)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 57, __pyx_L3_error) | |
| else goto __pyx_L5_argtuple_error; | |
| CYTHON_FALLTHROUGH; | |
| case 1: | |
| if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_encoding)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 57, __pyx_L3_error) | |
| else { | |
| __Pyx_RaiseArgtupleInvalid("_to_toml", 1, 3, 3, 1); __PYX_ERR(0, 57, __pyx_L3_error) | |
| } | |
| CYTHON_FALLTHROUGH; | |
| case 2: | |
| if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_errors)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 57, __pyx_L3_error) | |
| else { | |
| __Pyx_RaiseArgtupleInvalid("_to_toml", 1, 3, 3, 2); __PYX_ERR(0, 57, __pyx_L3_error) | |
| } | |
| } | |
| if (unlikely(kw_args > 0)) { | |
| const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
| if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, kwd_pos_args, "_to_toml") < 0)) __PYX_ERR(0, 57, __pyx_L3_error) | |
| } | |
| } else if (unlikely(__pyx_nargs != 3)) { | |
| goto __pyx_L5_argtuple_error; | |
| } else { | |
| values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); | |
| values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
| values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); | |
| } | |
| __pyx_v_file = values[0]; | |
| __pyx_v_encoding = values[1]; | |
| __pyx_v_errors = values[2]; | |
| } | |
| goto __pyx_L4_argument_unpacking_done; | |
| __pyx_L5_argtuple_error:; | |
| __Pyx_RaiseArgtupleInvalid("_to_toml", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 57, __pyx_L3_error) | |
| __pyx_L3_error:; | |
| __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; | |
| __Pyx_AddTraceback("box.from_file._to_toml", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| __Pyx_RefNannyFinishContext(); | |
| return NULL; | |
| __pyx_L4_argument_unpacking_done:; | |
| __pyx_r = __pyx_pf_3box_9from_file_6_to_toml(__pyx_self, __pyx_v_file, __pyx_v_encoding, __pyx_v_errors, __pyx_v_kwargs); | |
| /* function exit code */ | |
| __Pyx_DECREF(__pyx_v_kwargs); | |
| __Pyx_RefNannyFinishContext(); | |
| return __pyx_r; | |
| } | |
| static PyObject *__pyx_pf_3box_9from_file_6_to_toml(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_file, PyObject *__pyx_v_encoding, PyObject *__pyx_v_errors, PyObject *__pyx_v_kwargs) { | |
| PyObject *__pyx_r = NULL; | |
| __Pyx_RefNannyDeclarations | |
| PyObject *__pyx_t_1 = NULL; | |
| int __pyx_t_2; | |
| int __pyx_t_3; | |
| PyObject *__pyx_t_4 = NULL; | |
| PyObject *__pyx_t_5 = NULL; | |
| Py_ssize_t __pyx_t_6; | |
| Py_UCS4 __pyx_t_7; | |
| PyObject *__pyx_t_8 = NULL; | |
| int __pyx_t_9; | |
| PyObject *__pyx_t_10 = NULL; | |
| PyObject *__pyx_t_11 = NULL; | |
| PyObject *__pyx_t_12 = NULL; | |
| PyObject *__pyx_t_13 = NULL; | |
| PyObject *__pyx_t_14 = NULL; | |
| int __pyx_lineno = 0; | |
| const char *__pyx_filename = NULL; | |
| int __pyx_clineno = 0; | |
| __Pyx_RefNannySetupContext("_to_toml", 0); | |
| /* "box/from_file.py":58 | |
| * | |
| * def _to_toml(file, encoding, errors, **kwargs): | |
| * if not toml_read_library: # <<<<<<<<<<<<<< | |
| * raise BoxError(f'File "{file}" is toml but no package is available to open it. Please install "tomli"') | |
| * try: | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_toml_read_library); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 58, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 58, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __pyx_t_3 = (!__pyx_t_2); | |
| if (unlikely(__pyx_t_3)) { | |
| /* "box/from_file.py":59 | |
| * def _to_toml(file, encoding, errors, **kwargs): | |
| * if not toml_read_library: | |
| * raise BoxError(f'File "{file}" is toml but no package is available to open it. Please install "tomli"') # <<<<<<<<<<<<<< | |
| * try: | |
| * return Box.from_toml(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 59, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_4); | |
| __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 59, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __pyx_t_6 = 0; | |
| __pyx_t_7 = 127; | |
| __Pyx_INCREF(__pyx_kp_u_File); | |
| __pyx_t_6 += 6; | |
| __Pyx_GIVEREF(__pyx_kp_u_File); | |
| PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_File); | |
| __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_v_file, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 59, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) : __pyx_t_7; | |
| __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8); | |
| __Pyx_GIVEREF(__pyx_t_8); | |
| PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_8); | |
| __pyx_t_8 = 0; | |
| __Pyx_INCREF(__pyx_kp_u_is_toml_but_no_package_is_avail); | |
| __pyx_t_6 += 72; | |
| __Pyx_GIVEREF(__pyx_kp_u_is_toml_but_no_package_is_avail); | |
| PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u_is_toml_but_no_package_is_avail); | |
| __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 59, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __pyx_t_5 = NULL; | |
| __pyx_t_9 = 0; | |
| if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { | |
| __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); | |
| if (likely(__pyx_t_5)) { | |
| PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); | |
| __Pyx_INCREF(__pyx_t_5); | |
| __Pyx_INCREF(function); | |
| __Pyx_DECREF_SET(__pyx_t_4, function); | |
| __pyx_t_9 = 1; | |
| } | |
| } | |
| { | |
| PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_8}; | |
| __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); | |
| __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| } | |
| __Pyx_Raise(__pyx_t_1, 0, 0, 0); | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __PYX_ERR(0, 59, __pyx_L1_error) | |
| /* "box/from_file.py":58 | |
| * | |
| * def _to_toml(file, encoding, errors, **kwargs): | |
| * if not toml_read_library: # <<<<<<<<<<<<<< | |
| * raise BoxError(f'File "{file}" is toml but no package is available to open it. Please install "tomli"') | |
| * try: | |
| */ | |
| } | |
| /* "box/from_file.py":60 | |
| * if not toml_read_library: | |
| * raise BoxError(f'File "{file}" is toml but no package is available to open it. Please install "tomli"') | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_toml(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * except toml_decode_error: | |
| */ | |
| { | |
| __Pyx_PyThreadState_declare | |
| __Pyx_PyThreadState_assign | |
| __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); | |
| __Pyx_XGOTREF(__pyx_t_10); | |
| __Pyx_XGOTREF(__pyx_t_11); | |
| __Pyx_XGOTREF(__pyx_t_12); | |
| /*try:*/ { | |
| /* "box/from_file.py":61 | |
| * raise BoxError(f'File "{file}" is toml but no package is available to open it. Please install "tomli"') | |
| * try: | |
| * return Box.from_toml(filename=file, encoding=encoding, errors=errors, **kwargs) # <<<<<<<<<<<<<< | |
| * except toml_decode_error: | |
| * raise BoxError("File is not TOML as expected") | |
| */ | |
| __Pyx_XDECREF(__pyx_r); | |
| __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Box); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 61, __pyx_L4_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_from_toml); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 61, __pyx_L4_error) | |
| __Pyx_GOTREF(__pyx_t_4); | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __pyx_t_8 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 61, __pyx_L4_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_filename, __pyx_v_file) < 0) __PYX_ERR(0, 61, __pyx_L4_error) | |
| if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_encoding, __pyx_v_encoding) < 0) __PYX_ERR(0, 61, __pyx_L4_error) | |
| if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_errors, __pyx_v_errors) < 0) __PYX_ERR(0, 61, __pyx_L4_error) | |
| __pyx_t_1 = __pyx_t_8; | |
| __pyx_t_8 = 0; | |
| if (__Pyx_MergeKeywords(__pyx_t_1, __pyx_v_kwargs) < 0) __PYX_ERR(0, 61, __pyx_L4_error) | |
| __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 61, __pyx_L4_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __pyx_r = __pyx_t_8; | |
| __pyx_t_8 = 0; | |
| goto __pyx_L8_try_return; | |
| /* "box/from_file.py":60 | |
| * if not toml_read_library: | |
| * raise BoxError(f'File "{file}" is toml but no package is available to open it. Please install "tomli"') | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_toml(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * except toml_decode_error: | |
| */ | |
| } | |
| __pyx_L4_error:; | |
| __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| /* "box/from_file.py":62 | |
| * try: | |
| * return Box.from_toml(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * except toml_decode_error: # <<<<<<<<<<<<<< | |
| * raise BoxError("File is not TOML as expected") | |
| * | |
| */ | |
| __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_1, &__pyx_t_4); | |
| __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_toml_decode_error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 62, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __pyx_t_9 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_8, __pyx_t_5); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_ErrRestore(__pyx_t_8, __pyx_t_1, __pyx_t_4); | |
| __pyx_t_8 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; | |
| if (__pyx_t_9) { | |
| __Pyx_AddTraceback("box.from_file._to_toml", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_8) < 0) __PYX_ERR(0, 62, __pyx_L6_except_error) | |
| __Pyx_XGOTREF(__pyx_t_4); | |
| __Pyx_XGOTREF(__pyx_t_1); | |
| __Pyx_XGOTREF(__pyx_t_8); | |
| /* "box/from_file.py":63 | |
| * return Box.from_toml(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * except toml_decode_error: | |
| * raise BoxError("File is not TOML as expected") # <<<<<<<<<<<<<< | |
| * | |
| * | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 63, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_13); | |
| __pyx_t_14 = NULL; | |
| __pyx_t_9 = 0; | |
| if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { | |
| __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); | |
| if (likely(__pyx_t_14)) { | |
| PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); | |
| __Pyx_INCREF(__pyx_t_14); | |
| __Pyx_INCREF(function); | |
| __Pyx_DECREF_SET(__pyx_t_13, function); | |
| __pyx_t_9 = 1; | |
| } | |
| } | |
| { | |
| PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_kp_u_File_is_not_TOML_as_expected}; | |
| __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); | |
| __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; | |
| if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 63, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; | |
| } | |
| __Pyx_Raise(__pyx_t_5, 0, 0, 0); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __PYX_ERR(0, 63, __pyx_L6_except_error) | |
| } | |
| goto __pyx_L6_except_error; | |
| /* "box/from_file.py":60 | |
| * if not toml_read_library: | |
| * raise BoxError(f'File "{file}" is toml but no package is available to open it. Please install "tomli"') | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_toml(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * except toml_decode_error: | |
| */ | |
| __pyx_L6_except_error:; | |
| __Pyx_XGIVEREF(__pyx_t_10); | |
| __Pyx_XGIVEREF(__pyx_t_11); | |
| __Pyx_XGIVEREF(__pyx_t_12); | |
| __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); | |
| goto __pyx_L1_error; | |
| __pyx_L8_try_return:; | |
| __Pyx_XGIVEREF(__pyx_t_10); | |
| __Pyx_XGIVEREF(__pyx_t_11); | |
| __Pyx_XGIVEREF(__pyx_t_12); | |
| __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); | |
| goto __pyx_L0; | |
| } | |
| /* "box/from_file.py":57 | |
| * | |
| * | |
| * def _to_toml(file, encoding, errors, **kwargs): # <<<<<<<<<<<<<< | |
| * if not toml_read_library: | |
| * raise BoxError(f'File "{file}" is toml but no package is available to open it. Please install "tomli"') | |
| */ | |
| /* function exit code */ | |
| __pyx_L1_error:; | |
| __Pyx_XDECREF(__pyx_t_1); | |
| __Pyx_XDECREF(__pyx_t_4); | |
| __Pyx_XDECREF(__pyx_t_5); | |
| __Pyx_XDECREF(__pyx_t_8); | |
| __Pyx_XDECREF(__pyx_t_13); | |
| __Pyx_XDECREF(__pyx_t_14); | |
| __Pyx_AddTraceback("box.from_file._to_toml", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| __pyx_r = NULL; | |
| __pyx_L0:; | |
| __Pyx_XGIVEREF(__pyx_r); | |
| __Pyx_RefNannyFinishContext(); | |
| return __pyx_r; | |
| } | |
| /* "box/from_file.py":66 | |
| * | |
| * | |
| * def _to_msgpack(file, _, __, **kwargs): # <<<<<<<<<<<<<< | |
| * if not msgpack_available: | |
| * raise BoxError(f'File "{file}" is msgpack but no package is available to open it. Please install "msgpack"') | |
| */ | |
| /* Python wrapper */ | |
| static PyObject *__pyx_pw_3box_9from_file_9_to_msgpack(PyObject *__pyx_self, | |
| PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds | |
| PyObject *__pyx_args, PyObject *__pyx_kwds | |
| ); /*proto*/ | |
| static PyMethodDef __pyx_mdef_3box_9from_file_9_to_msgpack = {"_to_msgpack", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_3box_9from_file_9_to_msgpack, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0}; | |
| static PyObject *__pyx_pw_3box_9from_file_9_to_msgpack(PyObject *__pyx_self, | |
| PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds | |
| PyObject *__pyx_args, PyObject *__pyx_kwds | |
| ) { | |
| PyObject *__pyx_v_file = 0; | |
| CYTHON_UNUSED PyObject *__pyx_v__ = 0; | |
| CYTHON_UNUSED PyObject *__pyx_v___ = 0; | |
| PyObject *__pyx_v_kwargs = 0; | |
| CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); | |
| CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); | |
| int __pyx_lineno = 0; | |
| const char *__pyx_filename = NULL; | |
| int __pyx_clineno = 0; | |
| PyObject *__pyx_r = 0; | |
| __Pyx_RefNannyDeclarations | |
| __Pyx_RefNannySetupContext("_to_msgpack (wrapper)", 0); | |
| __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; | |
| __Pyx_GOTREF(__pyx_v_kwargs); | |
| { | |
| PyObject **__pyx_pyargnames[] = {&__pyx_n_s_file,&__pyx_n_s_,&__pyx_n_s__2,0}; | |
| PyObject* values[3] = {0,0,0}; | |
| if (__pyx_kwds) { | |
| Py_ssize_t kw_args; | |
| switch (__pyx_nargs) { | |
| case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); | |
| CYTHON_FALLTHROUGH; | |
| case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
| CYTHON_FALLTHROUGH; | |
| case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); | |
| CYTHON_FALLTHROUGH; | |
| case 0: break; | |
| default: goto __pyx_L5_argtuple_error; | |
| } | |
| kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); | |
| switch (__pyx_nargs) { | |
| case 0: | |
| if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_file)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 66, __pyx_L3_error) | |
| else goto __pyx_L5_argtuple_error; | |
| CYTHON_FALLTHROUGH; | |
| case 1: | |
| if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 66, __pyx_L3_error) | |
| else { | |
| __Pyx_RaiseArgtupleInvalid("_to_msgpack", 1, 3, 3, 1); __PYX_ERR(0, 66, __pyx_L3_error) | |
| } | |
| CYTHON_FALLTHROUGH; | |
| case 2: | |
| if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s__2)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 66, __pyx_L3_error) | |
| else { | |
| __Pyx_RaiseArgtupleInvalid("_to_msgpack", 1, 3, 3, 2); __PYX_ERR(0, 66, __pyx_L3_error) | |
| } | |
| } | |
| if (unlikely(kw_args > 0)) { | |
| const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
| if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, kwd_pos_args, "_to_msgpack") < 0)) __PYX_ERR(0, 66, __pyx_L3_error) | |
| } | |
| } else if (unlikely(__pyx_nargs != 3)) { | |
| goto __pyx_L5_argtuple_error; | |
| } else { | |
| values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); | |
| values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
| values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); | |
| } | |
| __pyx_v_file = values[0]; | |
| __pyx_v__ = values[1]; | |
| __pyx_v___ = values[2]; | |
| } | |
| goto __pyx_L4_argument_unpacking_done; | |
| __pyx_L5_argtuple_error:; | |
| __Pyx_RaiseArgtupleInvalid("_to_msgpack", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 66, __pyx_L3_error) | |
| __pyx_L3_error:; | |
| __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; | |
| __Pyx_AddTraceback("box.from_file._to_msgpack", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| __Pyx_RefNannyFinishContext(); | |
| return NULL; | |
| __pyx_L4_argument_unpacking_done:; | |
| __pyx_r = __pyx_pf_3box_9from_file_8_to_msgpack(__pyx_self, __pyx_v_file, __pyx_v__, __pyx_v___, __pyx_v_kwargs); | |
| /* function exit code */ | |
| __Pyx_DECREF(__pyx_v_kwargs); | |
| __Pyx_RefNannyFinishContext(); | |
| return __pyx_r; | |
| } | |
| static PyObject *__pyx_pf_3box_9from_file_8_to_msgpack(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_file, CYTHON_UNUSED PyObject *__pyx_v__, CYTHON_UNUSED PyObject *__pyx_v___, PyObject *__pyx_v_kwargs) { | |
| PyObject *__pyx_r = NULL; | |
| __Pyx_RefNannyDeclarations | |
| PyObject *__pyx_t_1 = NULL; | |
| int __pyx_t_2; | |
| int __pyx_t_3; | |
| PyObject *__pyx_t_4 = NULL; | |
| PyObject *__pyx_t_5 = NULL; | |
| Py_ssize_t __pyx_t_6; | |
| Py_UCS4 __pyx_t_7; | |
| PyObject *__pyx_t_8 = NULL; | |
| int __pyx_t_9; | |
| PyObject *__pyx_t_10 = NULL; | |
| PyObject *__pyx_t_11 = NULL; | |
| PyObject *__pyx_t_12 = NULL; | |
| PyObject *__pyx_t_13 = NULL; | |
| PyObject *__pyx_t_14 = NULL; | |
| int __pyx_lineno = 0; | |
| const char *__pyx_filename = NULL; | |
| int __pyx_clineno = 0; | |
| __Pyx_RefNannySetupContext("_to_msgpack", 0); | |
| /* "box/from_file.py":67 | |
| * | |
| * def _to_msgpack(file, _, __, **kwargs): | |
| * if not msgpack_available: # <<<<<<<<<<<<<< | |
| * raise BoxError(f'File "{file}" is msgpack but no package is available to open it. Please install "msgpack"') | |
| * try: | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_msgpack_available); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 67, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 67, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __pyx_t_3 = (!__pyx_t_2); | |
| if (unlikely(__pyx_t_3)) { | |
| /* "box/from_file.py":68 | |
| * def _to_msgpack(file, _, __, **kwargs): | |
| * if not msgpack_available: | |
| * raise BoxError(f'File "{file}" is msgpack but no package is available to open it. Please install "msgpack"') # <<<<<<<<<<<<<< | |
| * try: | |
| * return Box.from_msgpack(filename=file, **kwargs) | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 68, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_4); | |
| __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 68, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __pyx_t_6 = 0; | |
| __pyx_t_7 = 127; | |
| __Pyx_INCREF(__pyx_kp_u_File); | |
| __pyx_t_6 += 6; | |
| __Pyx_GIVEREF(__pyx_kp_u_File); | |
| PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_File); | |
| __pyx_t_8 = __Pyx_PyObject_FormatSimple(__pyx_v_file, __pyx_empty_unicode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 68, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| __pyx_t_7 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) > __pyx_t_7) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_8) : __pyx_t_7; | |
| __pyx_t_6 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_8); | |
| __Pyx_GIVEREF(__pyx_t_8); | |
| PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_8); | |
| __pyx_t_8 = 0; | |
| __Pyx_INCREF(__pyx_kp_u_is_msgpack_but_no_package_is_av); | |
| __pyx_t_6 += 77; | |
| __Pyx_GIVEREF(__pyx_kp_u_is_msgpack_but_no_package_is_av); | |
| PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u_is_msgpack_but_no_package_is_av); | |
| __pyx_t_8 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __pyx_t_6, __pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 68, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __pyx_t_5 = NULL; | |
| __pyx_t_9 = 0; | |
| if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { | |
| __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); | |
| if (likely(__pyx_t_5)) { | |
| PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); | |
| __Pyx_INCREF(__pyx_t_5); | |
| __Pyx_INCREF(function); | |
| __Pyx_DECREF_SET(__pyx_t_4, function); | |
| __pyx_t_9 = 1; | |
| } | |
| } | |
| { | |
| PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_8}; | |
| __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); | |
| __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 68, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| } | |
| __Pyx_Raise(__pyx_t_1, 0, 0, 0); | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __PYX_ERR(0, 68, __pyx_L1_error) | |
| /* "box/from_file.py":67 | |
| * | |
| * def _to_msgpack(file, _, __, **kwargs): | |
| * if not msgpack_available: # <<<<<<<<<<<<<< | |
| * raise BoxError(f'File "{file}" is msgpack but no package is available to open it. Please install "msgpack"') | |
| * try: | |
| */ | |
| } | |
| /* "box/from_file.py":69 | |
| * if not msgpack_available: | |
| * raise BoxError(f'File "{file}" is msgpack but no package is available to open it. Please install "msgpack"') | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_msgpack(filename=file, **kwargs) | |
| * except (UnpackException, ValueError): | |
| */ | |
| { | |
| __Pyx_PyThreadState_declare | |
| __Pyx_PyThreadState_assign | |
| __Pyx_ExceptionSave(&__pyx_t_10, &__pyx_t_11, &__pyx_t_12); | |
| __Pyx_XGOTREF(__pyx_t_10); | |
| __Pyx_XGOTREF(__pyx_t_11); | |
| __Pyx_XGOTREF(__pyx_t_12); | |
| /*try:*/ { | |
| /* "box/from_file.py":70 | |
| * raise BoxError(f'File "{file}" is msgpack but no package is available to open it. Please install "msgpack"') | |
| * try: | |
| * return Box.from_msgpack(filename=file, **kwargs) # <<<<<<<<<<<<<< | |
| * except (UnpackException, ValueError): | |
| * raise BoxError("File is not msgpack as expected") | |
| */ | |
| __Pyx_XDECREF(__pyx_r); | |
| __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Box); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 70, __pyx_L4_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_from_msgpack); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 70, __pyx_L4_error) | |
| __Pyx_GOTREF(__pyx_t_4); | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 70, __pyx_L4_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_filename, __pyx_v_file) < 0) __PYX_ERR(0, 70, __pyx_L4_error) | |
| __pyx_t_1 = __pyx_t_8; | |
| __pyx_t_8 = 0; | |
| if (__Pyx_MergeKeywords(__pyx_t_1, __pyx_v_kwargs) < 0) __PYX_ERR(0, 70, __pyx_L4_error) | |
| __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 70, __pyx_L4_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __pyx_r = __pyx_t_8; | |
| __pyx_t_8 = 0; | |
| goto __pyx_L8_try_return; | |
| /* "box/from_file.py":69 | |
| * if not msgpack_available: | |
| * raise BoxError(f'File "{file}" is msgpack but no package is available to open it. Please install "msgpack"') | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_msgpack(filename=file, **kwargs) | |
| * except (UnpackException, ValueError): | |
| */ | |
| } | |
| __pyx_L4_error:; | |
| __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| /* "box/from_file.py":71 | |
| * try: | |
| * return Box.from_msgpack(filename=file, **kwargs) | |
| * except (UnpackException, ValueError): # <<<<<<<<<<<<<< | |
| * raise BoxError("File is not msgpack as expected") | |
| * except BoxError: | |
| */ | |
| __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_1, &__pyx_t_4); | |
| __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_UnpackException); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 71, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __pyx_t_9 = __Pyx_PyErr_GivenExceptionMatches2(__pyx_t_8, __pyx_t_5, __pyx_builtin_ValueError); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_ErrRestore(__pyx_t_8, __pyx_t_1, __pyx_t_4); | |
| __pyx_t_8 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; | |
| if (__pyx_t_9) { | |
| __Pyx_AddTraceback("box.from_file._to_msgpack", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_8) < 0) __PYX_ERR(0, 71, __pyx_L6_except_error) | |
| __Pyx_XGOTREF(__pyx_t_4); | |
| __Pyx_XGOTREF(__pyx_t_1); | |
| __Pyx_XGOTREF(__pyx_t_8); | |
| /* "box/from_file.py":72 | |
| * return Box.from_msgpack(filename=file, **kwargs) | |
| * except (UnpackException, ValueError): | |
| * raise BoxError("File is not msgpack as expected") # <<<<<<<<<<<<<< | |
| * except BoxError: | |
| * return BoxList.from_msgpack(filename=file, **kwargs) | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 72, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_13); | |
| __pyx_t_14 = NULL; | |
| __pyx_t_9 = 0; | |
| if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { | |
| __pyx_t_14 = PyMethod_GET_SELF(__pyx_t_13); | |
| if (likely(__pyx_t_14)) { | |
| PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); | |
| __Pyx_INCREF(__pyx_t_14); | |
| __Pyx_INCREF(function); | |
| __Pyx_DECREF_SET(__pyx_t_13, function); | |
| __pyx_t_9 = 1; | |
| } | |
| } | |
| { | |
| PyObject *__pyx_callargs[2] = {__pyx_t_14, __pyx_kp_u_File_is_not_msgpack_as_expected}; | |
| __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_13, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); | |
| __Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0; | |
| if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 72, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; | |
| } | |
| __Pyx_Raise(__pyx_t_5, 0, 0, 0); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __PYX_ERR(0, 72, __pyx_L6_except_error) | |
| } | |
| /* "box/from_file.py":73 | |
| * except (UnpackException, ValueError): | |
| * raise BoxError("File is not msgpack as expected") | |
| * except BoxError: # <<<<<<<<<<<<<< | |
| * return BoxList.from_msgpack(filename=file, **kwargs) | |
| * | |
| */ | |
| __Pyx_ErrFetch(&__pyx_t_8, &__pyx_t_1, &__pyx_t_4); | |
| __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 73, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __pyx_t_9 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_8, __pyx_t_5); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_ErrRestore(__pyx_t_8, __pyx_t_1, __pyx_t_4); | |
| __pyx_t_8 = 0; __pyx_t_1 = 0; __pyx_t_4 = 0; | |
| if (__pyx_t_9) { | |
| __Pyx_AddTraceback("box.from_file._to_msgpack", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_1, &__pyx_t_8) < 0) __PYX_ERR(0, 73, __pyx_L6_except_error) | |
| __Pyx_XGOTREF(__pyx_t_4); | |
| __Pyx_XGOTREF(__pyx_t_1); | |
| __Pyx_XGOTREF(__pyx_t_8); | |
| /* "box/from_file.py":74 | |
| * raise BoxError("File is not msgpack as expected") | |
| * except BoxError: | |
| * return BoxList.from_msgpack(filename=file, **kwargs) # <<<<<<<<<<<<<< | |
| * | |
| * | |
| */ | |
| __Pyx_XDECREF(__pyx_r); | |
| __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_BoxList); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 74, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_from_msgpack); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 74, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_13); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __pyx_t_14 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 74, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_14); | |
| if (PyDict_SetItem(__pyx_t_14, __pyx_n_s_filename, __pyx_v_file) < 0) __PYX_ERR(0, 74, __pyx_L6_except_error) | |
| __pyx_t_5 = __pyx_t_14; | |
| __pyx_t_14 = 0; | |
| if (__Pyx_MergeKeywords(__pyx_t_5, __pyx_v_kwargs) < 0) __PYX_ERR(0, 74, __pyx_L6_except_error) | |
| __pyx_t_14 = __Pyx_PyObject_Call(__pyx_t_13, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 74, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_14); | |
| __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __pyx_r = __pyx_t_14; | |
| __pyx_t_14 = 0; | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| goto __pyx_L7_except_return; | |
| } | |
| goto __pyx_L6_except_error; | |
| /* "box/from_file.py":69 | |
| * if not msgpack_available: | |
| * raise BoxError(f'File "{file}" is msgpack but no package is available to open it. Please install "msgpack"') | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_msgpack(filename=file, **kwargs) | |
| * except (UnpackException, ValueError): | |
| */ | |
| __pyx_L6_except_error:; | |
| __Pyx_XGIVEREF(__pyx_t_10); | |
| __Pyx_XGIVEREF(__pyx_t_11); | |
| __Pyx_XGIVEREF(__pyx_t_12); | |
| __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); | |
| goto __pyx_L1_error; | |
| __pyx_L8_try_return:; | |
| __Pyx_XGIVEREF(__pyx_t_10); | |
| __Pyx_XGIVEREF(__pyx_t_11); | |
| __Pyx_XGIVEREF(__pyx_t_12); | |
| __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); | |
| goto __pyx_L0; | |
| __pyx_L7_except_return:; | |
| __Pyx_XGIVEREF(__pyx_t_10); | |
| __Pyx_XGIVEREF(__pyx_t_11); | |
| __Pyx_XGIVEREF(__pyx_t_12); | |
| __Pyx_ExceptionReset(__pyx_t_10, __pyx_t_11, __pyx_t_12); | |
| goto __pyx_L0; | |
| } | |
| /* "box/from_file.py":66 | |
| * | |
| * | |
| * def _to_msgpack(file, _, __, **kwargs): # <<<<<<<<<<<<<< | |
| * if not msgpack_available: | |
| * raise BoxError(f'File "{file}" is msgpack but no package is available to open it. Please install "msgpack"') | |
| */ | |
| /* function exit code */ | |
| __pyx_L1_error:; | |
| __Pyx_XDECREF(__pyx_t_1); | |
| __Pyx_XDECREF(__pyx_t_4); | |
| __Pyx_XDECREF(__pyx_t_5); | |
| __Pyx_XDECREF(__pyx_t_8); | |
| __Pyx_XDECREF(__pyx_t_13); | |
| __Pyx_XDECREF(__pyx_t_14); | |
| __Pyx_AddTraceback("box.from_file._to_msgpack", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| __pyx_r = NULL; | |
| __pyx_L0:; | |
| __Pyx_XGIVEREF(__pyx_r); | |
| __Pyx_RefNannyFinishContext(); | |
| return __pyx_r; | |
| } | |
| /* "box/from_file.py":90 | |
| * | |
| * | |
| * def box_from_file( # <<<<<<<<<<<<<< | |
| * file: Union[str, PathLike], | |
| * file_type: Optional[str] = None, | |
| */ | |
| /* Python wrapper */ | |
| static PyObject *__pyx_pw_3box_9from_file_11box_from_file(PyObject *__pyx_self, | |
| PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds | |
| PyObject *__pyx_args, PyObject *__pyx_kwds | |
| ); /*proto*/ | |
| PyDoc_STRVAR(__pyx_doc_3box_9from_file_10box_from_file, "\n Loads the provided file and tries to parse it into a Box or BoxList object as appropriate.\n\n :param file: Location of file\n :param encoding: File encoding\n :param errors: How to handle encoding errors\n :param file_type: manually specify file type: json, toml or yaml\n :return: Box or BoxList\n "); | |
| static PyMethodDef __pyx_mdef_3box_9from_file_11box_from_file = {"box_from_file", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_3box_9from_file_11box_from_file, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_3box_9from_file_10box_from_file}; | |
| static PyObject *__pyx_pw_3box_9from_file_11box_from_file(PyObject *__pyx_self, | |
| PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds | |
| PyObject *__pyx_args, PyObject *__pyx_kwds | |
| ) { | |
| PyObject *__pyx_v_file = 0; | |
| PyObject *__pyx_v_file_type = 0; | |
| PyObject *__pyx_v_encoding = 0; | |
| PyObject *__pyx_v_errors = 0; | |
| PyObject *__pyx_v_kwargs = 0; | |
| CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); | |
| CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); | |
| int __pyx_lineno = 0; | |
| const char *__pyx_filename = NULL; | |
| int __pyx_clineno = 0; | |
| PyObject *__pyx_r = 0; | |
| __Pyx_RefNannyDeclarations | |
| __Pyx_RefNannySetupContext("box_from_file (wrapper)", 0); | |
| __pyx_v_kwargs = PyDict_New(); if (unlikely(!__pyx_v_kwargs)) return NULL; | |
| __Pyx_GOTREF(__pyx_v_kwargs); | |
| { | |
| PyObject **__pyx_pyargnames[] = {&__pyx_n_s_file,&__pyx_n_s_file_type,&__pyx_n_s_encoding,&__pyx_n_s_errors,0}; | |
| PyObject* values[4] = {0,0,0,0}; | |
| /* "box/from_file.py":92 | |
| * def box_from_file( | |
| * file: Union[str, PathLike], | |
| * file_type: Optional[str] = None, # <<<<<<<<<<<<<< | |
| * encoding: str = "utf-8", | |
| * errors: str = "strict", | |
| */ | |
| values[1] = ((PyObject*)((PyObject *)Py_None)); | |
| values[2] = ((PyObject*)((PyObject*)__pyx_kp_u_utf_8)); | |
| values[3] = ((PyObject*)((PyObject*)__pyx_n_u_strict)); | |
| if (__pyx_kwds) { | |
| Py_ssize_t kw_args; | |
| switch (__pyx_nargs) { | |
| case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3); | |
| CYTHON_FALLTHROUGH; | |
| case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); | |
| CYTHON_FALLTHROUGH; | |
| case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
| CYTHON_FALLTHROUGH; | |
| case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); | |
| CYTHON_FALLTHROUGH; | |
| case 0: break; | |
| default: goto __pyx_L5_argtuple_error; | |
| } | |
| kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); | |
| switch (__pyx_nargs) { | |
| case 0: | |
| if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_file)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 90, __pyx_L3_error) | |
| else goto __pyx_L5_argtuple_error; | |
| CYTHON_FALLTHROUGH; | |
| case 1: | |
| if (kw_args > 0) { | |
| PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_file_type); | |
| if (value) { values[1] = value; kw_args--; } | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 90, __pyx_L3_error) | |
| } | |
| CYTHON_FALLTHROUGH; | |
| case 2: | |
| if (kw_args > 0) { | |
| PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_encoding); | |
| if (value) { values[2] = value; kw_args--; } | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 90, __pyx_L3_error) | |
| } | |
| CYTHON_FALLTHROUGH; | |
| case 3: | |
| if (kw_args > 0) { | |
| PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_errors); | |
| if (value) { values[3] = value; kw_args--; } | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 90, __pyx_L3_error) | |
| } | |
| } | |
| if (unlikely(kw_args > 0)) { | |
| const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
| if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, __pyx_v_kwargs, values + 0, kwd_pos_args, "box_from_file") < 0)) __PYX_ERR(0, 90, __pyx_L3_error) | |
| } | |
| } else { | |
| switch (__pyx_nargs) { | |
| case 4: values[3] = __Pyx_Arg_FASTCALL(__pyx_args, 3); | |
| CYTHON_FALLTHROUGH; | |
| case 3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2); | |
| CYTHON_FALLTHROUGH; | |
| case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
| CYTHON_FALLTHROUGH; | |
| case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); | |
| break; | |
| default: goto __pyx_L5_argtuple_error; | |
| } | |
| } | |
| __pyx_v_file = values[0]; | |
| __pyx_v_file_type = ((PyObject*)values[1]); | |
| __pyx_v_encoding = ((PyObject*)values[2]); | |
| __pyx_v_errors = ((PyObject*)values[3]); | |
| } | |
| goto __pyx_L4_argument_unpacking_done; | |
| __pyx_L5_argtuple_error:; | |
| __Pyx_RaiseArgtupleInvalid("box_from_file", 0, 1, 4, __pyx_nargs); __PYX_ERR(0, 90, __pyx_L3_error) | |
| __pyx_L3_error:; | |
| __Pyx_DECREF(__pyx_v_kwargs); __pyx_v_kwargs = 0; | |
| __Pyx_AddTraceback("box.from_file.box_from_file", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| __Pyx_RefNannyFinishContext(); | |
| return NULL; | |
| __pyx_L4_argument_unpacking_done:; | |
| if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_file_type), (&PyUnicode_Type), 1, "file_type", 1))) __PYX_ERR(0, 92, __pyx_L1_error) | |
| if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_encoding), (&PyUnicode_Type), 0, "encoding", 1))) __PYX_ERR(0, 93, __pyx_L1_error) | |
| if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_errors), (&PyUnicode_Type), 0, "errors", 1))) __PYX_ERR(0, 94, __pyx_L1_error) | |
| __pyx_r = __pyx_pf_3box_9from_file_10box_from_file(__pyx_self, __pyx_v_file, __pyx_v_file_type, __pyx_v_encoding, __pyx_v_errors, __pyx_v_kwargs); | |
| /* "box/from_file.py":90 | |
| * | |
| * | |
| * def box_from_file( # <<<<<<<<<<<<<< | |
| * file: Union[str, PathLike], | |
| * file_type: Optional[str] = None, | |
| */ | |
| /* function exit code */ | |
| goto __pyx_L0; | |
| __pyx_L1_error:; | |
| __pyx_r = NULL; | |
| __pyx_L0:; | |
| __Pyx_DECREF(__pyx_v_kwargs); | |
| __Pyx_RefNannyFinishContext(); | |
| return __pyx_r; | |
| } | |
| static PyObject *__pyx_pf_3box_9from_file_10box_from_file(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_file, PyObject *__pyx_v_file_type, PyObject *__pyx_v_encoding, PyObject *__pyx_v_errors, PyObject *__pyx_v_kwargs) { | |
| PyObject *__pyx_r = NULL; | |
| __Pyx_RefNannyDeclarations | |
| PyObject *__pyx_t_1 = NULL; | |
| int __pyx_t_2; | |
| int __pyx_t_3; | |
| PyObject *__pyx_t_4 = NULL; | |
| PyObject *__pyx_t_5 = NULL; | |
| int __pyx_t_6; | |
| Py_ssize_t __pyx_t_7; | |
| Py_UCS4 __pyx_t_8; | |
| PyObject *__pyx_t_9 = NULL; | |
| int __pyx_lineno = 0; | |
| const char *__pyx_filename = NULL; | |
| int __pyx_clineno = 0; | |
| __Pyx_RefNannySetupContext("box_from_file", 0); | |
| __Pyx_INCREF(__pyx_v_file); | |
| __Pyx_INCREF(__pyx_v_file_type); | |
| /* "box/from_file.py":107 | |
| * """ | |
| * | |
| * if not isinstance(file, Path): # <<<<<<<<<<<<<< | |
| * file = Path(file) | |
| * if not file.exists(): | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Path); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 107, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __pyx_t_2 = PyObject_IsInstance(__pyx_v_file, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 107, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __pyx_t_3 = (!__pyx_t_2); | |
| if (__pyx_t_3) { | |
| /* "box/from_file.py":108 | |
| * | |
| * if not isinstance(file, Path): | |
| * file = Path(file) # <<<<<<<<<<<<<< | |
| * if not file.exists(): | |
| * raise BoxError(f'file "{file}" does not exist') | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Path); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 108, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_4); | |
| __pyx_t_5 = NULL; | |
| __pyx_t_6 = 0; | |
| if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { | |
| __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); | |
| if (likely(__pyx_t_5)) { | |
| PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); | |
| __Pyx_INCREF(__pyx_t_5); | |
| __Pyx_INCREF(function); | |
| __Pyx_DECREF_SET(__pyx_t_4, function); | |
| __pyx_t_6 = 1; | |
| } | |
| } | |
| { | |
| PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_file}; | |
| __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
| __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 108, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| } | |
| __Pyx_DECREF_SET(__pyx_v_file, __pyx_t_1); | |
| __pyx_t_1 = 0; | |
| /* "box/from_file.py":107 | |
| * """ | |
| * | |
| * if not isinstance(file, Path): # <<<<<<<<<<<<<< | |
| * file = Path(file) | |
| * if not file.exists(): | |
| */ | |
| } | |
| /* "box/from_file.py":109 | |
| * if not isinstance(file, Path): | |
| * file = Path(file) | |
| * if not file.exists(): # <<<<<<<<<<<<<< | |
| * raise BoxError(f'file "{file}" does not exist') | |
| * file_type = file_type or file.suffix | |
| */ | |
| __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_file, __pyx_n_s_exists); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 109, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_4); | |
| __pyx_t_5 = NULL; | |
| __pyx_t_6 = 0; | |
| if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { | |
| __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); | |
| if (likely(__pyx_t_5)) { | |
| PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); | |
| __Pyx_INCREF(__pyx_t_5); | |
| __Pyx_INCREF(function); | |
| __Pyx_DECREF_SET(__pyx_t_4, function); | |
| __pyx_t_6 = 1; | |
| } | |
| } | |
| { | |
| PyObject *__pyx_callargs[1] = {__pyx_t_5, }; | |
| __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 0+__pyx_t_6); | |
| __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 109, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| } | |
| __pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_3 < 0))) __PYX_ERR(0, 109, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __pyx_t_2 = (!__pyx_t_3); | |
| if (unlikely(__pyx_t_2)) { | |
| /* "box/from_file.py":110 | |
| * file = Path(file) | |
| * if not file.exists(): | |
| * raise BoxError(f'file "{file}" does not exist') # <<<<<<<<<<<<<< | |
| * file_type = file_type or file.suffix | |
| * file_type = file_type.lower().lstrip(".") | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 110, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_4); | |
| __pyx_t_5 = PyTuple_New(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 110, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __pyx_t_7 = 0; | |
| __pyx_t_8 = 127; | |
| __Pyx_INCREF(__pyx_kp_u_file_2); | |
| __pyx_t_7 += 6; | |
| __Pyx_GIVEREF(__pyx_kp_u_file_2); | |
| PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_u_file_2); | |
| __pyx_t_9 = __Pyx_PyObject_FormatSimple(__pyx_v_file, __pyx_empty_unicode); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 110, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_9); | |
| __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_9) : __pyx_t_8; | |
| __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_9); | |
| __Pyx_GIVEREF(__pyx_t_9); | |
| PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_t_9); | |
| __pyx_t_9 = 0; | |
| __Pyx_INCREF(__pyx_kp_u_does_not_exist); | |
| __pyx_t_7 += 16; | |
| __Pyx_GIVEREF(__pyx_kp_u_does_not_exist); | |
| PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_u_does_not_exist); | |
| __pyx_t_9 = __Pyx_PyUnicode_Join(__pyx_t_5, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 110, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_9); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __pyx_t_5 = NULL; | |
| __pyx_t_6 = 0; | |
| if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { | |
| __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4); | |
| if (likely(__pyx_t_5)) { | |
| PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4); | |
| __Pyx_INCREF(__pyx_t_5); | |
| __Pyx_INCREF(function); | |
| __Pyx_DECREF_SET(__pyx_t_4, function); | |
| __pyx_t_6 = 1; | |
| } | |
| } | |
| { | |
| PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_9}; | |
| __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
| __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
| if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 110, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| } | |
| __Pyx_Raise(__pyx_t_1, 0, 0, 0); | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __PYX_ERR(0, 110, __pyx_L1_error) | |
| /* "box/from_file.py":109 | |
| * if not isinstance(file, Path): | |
| * file = Path(file) | |
| * if not file.exists(): # <<<<<<<<<<<<<< | |
| * raise BoxError(f'file "{file}" does not exist') | |
| * file_type = file_type or file.suffix | |
| */ | |
| } | |
| /* "box/from_file.py":111 | |
| * if not file.exists(): | |
| * raise BoxError(f'file "{file}" does not exist') | |
| * file_type = file_type or file.suffix # <<<<<<<<<<<<<< | |
| * file_type = file_type.lower().lstrip(".") | |
| * if file_type.lower() in converters: | |
| */ | |
| __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_file_type); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 111, __pyx_L1_error) | |
| if (!__pyx_t_2) { | |
| } else { | |
| __Pyx_INCREF(__pyx_v_file_type); | |
| __pyx_t_1 = __pyx_v_file_type; | |
| goto __pyx_L5_bool_binop_done; | |
| } | |
| __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_file, __pyx_n_s_suffix); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 111, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_4); | |
| if (!(likely(PyUnicode_CheckExact(__pyx_t_4))||((__pyx_t_4) == Py_None) || __Pyx_RaiseUnexpectedTypeError("unicode", __pyx_t_4))) __PYX_ERR(0, 111, __pyx_L1_error) | |
| __Pyx_INCREF(__pyx_t_4); | |
| __pyx_t_1 = __pyx_t_4; | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __pyx_L5_bool_binop_done:; | |
| __Pyx_DECREF_SET(__pyx_v_file_type, ((PyObject*)__pyx_t_1)); | |
| __pyx_t_1 = 0; | |
| /* "box/from_file.py":112 | |
| * raise BoxError(f'file "{file}" does not exist') | |
| * file_type = file_type or file.suffix | |
| * file_type = file_type.lower().lstrip(".") # <<<<<<<<<<<<<< | |
| * if file_type.lower() in converters: | |
| * return converters[file_type.lower()](file, encoding, errors, **kwargs) # type: ignore | |
| */ | |
| __pyx_t_4 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyUnicode_Type_lower, __pyx_v_file_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 112, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_4); | |
| __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_lstrip); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 112, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_9); | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __pyx_t_4 = NULL; | |
| __pyx_t_6 = 0; | |
| if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) { | |
| __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_9); | |
| if (likely(__pyx_t_4)) { | |
| PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); | |
| __Pyx_INCREF(__pyx_t_4); | |
| __Pyx_INCREF(function); | |
| __Pyx_DECREF_SET(__pyx_t_9, function); | |
| __pyx_t_6 = 1; | |
| } | |
| } | |
| { | |
| PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_kp_u__3}; | |
| __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
| __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 112, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
| } | |
| if (!(likely(PyUnicode_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("unicode", __pyx_t_1))) __PYX_ERR(0, 112, __pyx_L1_error) | |
| __Pyx_DECREF_SET(__pyx_v_file_type, ((PyObject*)__pyx_t_1)); | |
| __pyx_t_1 = 0; | |
| /* "box/from_file.py":113 | |
| * file_type = file_type or file.suffix | |
| * file_type = file_type.lower().lstrip(".") | |
| * if file_type.lower() in converters: # <<<<<<<<<<<<<< | |
| * return converters[file_type.lower()](file, encoding, errors, **kwargs) # type: ignore | |
| * raise BoxError(f'"{file_type}" is an unknown type. Please use either csv, toml, msgpack, yaml or json') | |
| */ | |
| __pyx_t_1 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyUnicode_Type_lower, __pyx_v_file_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 113, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_converters); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 113, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_9); | |
| __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_t_1, __pyx_t_9, Py_EQ)); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 113, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
| if (__pyx_t_2) { | |
| /* "box/from_file.py":114 | |
| * file_type = file_type.lower().lstrip(".") | |
| * if file_type.lower() in converters: | |
| * return converters[file_type.lower()](file, encoding, errors, **kwargs) # type: ignore # <<<<<<<<<<<<<< | |
| * raise BoxError(f'"{file_type}" is an unknown type. Please use either csv, toml, msgpack, yaml or json') | |
| * | |
| */ | |
| __Pyx_XDECREF(__pyx_r); | |
| __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_converters); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 114, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_9); | |
| __pyx_t_1 = __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyUnicode_Type_lower, __pyx_v_file_type); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 114, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __pyx_t_4 = __Pyx_PyObject_GetItem(__pyx_t_9, __pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 114, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_4); | |
| __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 114, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __Pyx_INCREF(__pyx_v_file); | |
| __Pyx_GIVEREF(__pyx_v_file); | |
| PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_file); | |
| __Pyx_INCREF(__pyx_v_encoding); | |
| __Pyx_GIVEREF(__pyx_v_encoding); | |
| PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_encoding); | |
| __Pyx_INCREF(__pyx_v_errors); | |
| __Pyx_GIVEREF(__pyx_v_errors); | |
| PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_errors); | |
| __pyx_t_9 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 114, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_9); | |
| __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_1, __pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 114, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
| __pyx_r = __pyx_t_5; | |
| __pyx_t_5 = 0; | |
| goto __pyx_L0; | |
| /* "box/from_file.py":113 | |
| * file_type = file_type or file.suffix | |
| * file_type = file_type.lower().lstrip(".") | |
| * if file_type.lower() in converters: # <<<<<<<<<<<<<< | |
| * return converters[file_type.lower()](file, encoding, errors, **kwargs) # type: ignore | |
| * raise BoxError(f'"{file_type}" is an unknown type. Please use either csv, toml, msgpack, yaml or json') | |
| */ | |
| } | |
| /* "box/from_file.py":115 | |
| * if file_type.lower() in converters: | |
| * return converters[file_type.lower()](file, encoding, errors, **kwargs) # type: ignore | |
| * raise BoxError(f'"{file_type}" is an unknown type. Please use either csv, toml, msgpack, yaml or json') # <<<<<<<<<<<<<< | |
| * | |
| * | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 115, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_9); | |
| __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 115, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_1); | |
| __pyx_t_7 = 0; | |
| __pyx_t_8 = 127; | |
| __Pyx_INCREF(__pyx_kp_u__4); | |
| __pyx_t_7 += 1; | |
| __Pyx_GIVEREF(__pyx_kp_u__4); | |
| PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_u__4); | |
| __pyx_t_4 = __Pyx_PyUnicode_Unicode(__pyx_v_file_type); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 115, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_4); | |
| __pyx_t_8 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) > __pyx_t_8) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_4) : __pyx_t_8; | |
| __pyx_t_7 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_4); | |
| __Pyx_GIVEREF(__pyx_t_4); | |
| PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_4); | |
| __pyx_t_4 = 0; | |
| __Pyx_INCREF(__pyx_kp_u_is_an_unknown_type_Please_use_e); | |
| __pyx_t_7 += 72; | |
| __Pyx_GIVEREF(__pyx_kp_u_is_an_unknown_type_Please_use_e); | |
| PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_kp_u_is_an_unknown_type_Please_use_e); | |
| __pyx_t_4 = __Pyx_PyUnicode_Join(__pyx_t_1, 3, __pyx_t_7, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 115, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_4); | |
| __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __pyx_t_1 = NULL; | |
| __pyx_t_6 = 0; | |
| if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) { | |
| __pyx_t_1 = PyMethod_GET_SELF(__pyx_t_9); | |
| if (likely(__pyx_t_1)) { | |
| PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9); | |
| __Pyx_INCREF(__pyx_t_1); | |
| __Pyx_INCREF(function); | |
| __Pyx_DECREF_SET(__pyx_t_9, function); | |
| __pyx_t_6 = 1; | |
| } | |
| } | |
| { | |
| PyObject *__pyx_callargs[2] = {__pyx_t_1, __pyx_t_4}; | |
| __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_9, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6); | |
| __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 115, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; | |
| } | |
| __Pyx_Raise(__pyx_t_5, 0, 0, 0); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __PYX_ERR(0, 115, __pyx_L1_error) | |
| /* "box/from_file.py":90 | |
| * | |
| * | |
| * def box_from_file( # <<<<<<<<<<<<<< | |
| * file: Union[str, PathLike], | |
| * file_type: Optional[str] = None, | |
| */ | |
| /* function exit code */ | |
| __pyx_L1_error:; | |
| __Pyx_XDECREF(__pyx_t_1); | |
| __Pyx_XDECREF(__pyx_t_4); | |
| __Pyx_XDECREF(__pyx_t_5); | |
| __Pyx_XDECREF(__pyx_t_9); | |
| __Pyx_AddTraceback("box.from_file.box_from_file", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| __pyx_r = NULL; | |
| __pyx_L0:; | |
| __Pyx_XDECREF(__pyx_v_file); | |
| __Pyx_XDECREF(__pyx_v_file_type); | |
| __Pyx_XGIVEREF(__pyx_r); | |
| __Pyx_RefNannyFinishContext(); | |
| return __pyx_r; | |
| } | |
| /* "box/from_file.py":118 | |
| * | |
| * | |
| * def box_from_string(content: str, string_type: str = "json") -> Union[Box, BoxList]: # <<<<<<<<<<<<<< | |
| * """ | |
| * Parse the provided string into a Box or BoxList object as appropriate. | |
| */ | |
| /* Python wrapper */ | |
| static PyObject *__pyx_pw_3box_9from_file_13box_from_string(PyObject *__pyx_self, | |
| PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds | |
| PyObject *__pyx_args, PyObject *__pyx_kwds | |
| ); /*proto*/ | |
| PyDoc_STRVAR(__pyx_doc_3box_9from_file_12box_from_string, "\n Parse the provided string into a Box or BoxList object as appropriate.\n\n :param content: String to parse\n :param string_type: manually specify file type: json, toml or yaml\n :return: Box or BoxList\n "); | |
| static PyMethodDef __pyx_mdef_3box_9from_file_13box_from_string = {"box_from_string", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_3box_9from_file_13box_from_string, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_3box_9from_file_12box_from_string}; | |
| static PyObject *__pyx_pw_3box_9from_file_13box_from_string(PyObject *__pyx_self, | |
| PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds | |
| PyObject *__pyx_args, PyObject *__pyx_kwds | |
| ) { | |
| PyObject *__pyx_v_content = 0; | |
| PyObject *__pyx_v_string_type = 0; | |
| CYTHON_UNUSED const Py_ssize_t __pyx_nargs = PyTuple_GET_SIZE(__pyx_args); | |
| CYTHON_UNUSED PyObject *const *__pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs); | |
| int __pyx_lineno = 0; | |
| const char *__pyx_filename = NULL; | |
| int __pyx_clineno = 0; | |
| PyObject *__pyx_r = 0; | |
| __Pyx_RefNannyDeclarations | |
| __Pyx_RefNannySetupContext("box_from_string (wrapper)", 0); | |
| { | |
| PyObject **__pyx_pyargnames[] = {&__pyx_n_s_content,&__pyx_n_s_string_type,0}; | |
| PyObject* values[2] = {0,0}; | |
| values[1] = ((PyObject*)((PyObject*)__pyx_n_u_json)); | |
| if (__pyx_kwds) { | |
| Py_ssize_t kw_args; | |
| switch (__pyx_nargs) { | |
| case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
| CYTHON_FALLTHROUGH; | |
| case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); | |
| CYTHON_FALLTHROUGH; | |
| case 0: break; | |
| default: goto __pyx_L5_argtuple_error; | |
| } | |
| kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds); | |
| switch (__pyx_nargs) { | |
| case 0: | |
| if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_content)) != 0)) kw_args--; | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 118, __pyx_L3_error) | |
| else goto __pyx_L5_argtuple_error; | |
| CYTHON_FALLTHROUGH; | |
| case 1: | |
| if (kw_args > 0) { | |
| PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_string_type); | |
| if (value) { values[1] = value; kw_args--; } | |
| else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 118, __pyx_L3_error) | |
| } | |
| } | |
| if (unlikely(kw_args > 0)) { | |
| const Py_ssize_t kwd_pos_args = __pyx_nargs; | |
| if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "box_from_string") < 0)) __PYX_ERR(0, 118, __pyx_L3_error) | |
| } | |
| } else { | |
| switch (__pyx_nargs) { | |
| case 2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1); | |
| CYTHON_FALLTHROUGH; | |
| case 1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0); | |
| break; | |
| default: goto __pyx_L5_argtuple_error; | |
| } | |
| } | |
| __pyx_v_content = ((PyObject*)values[0]); | |
| __pyx_v_string_type = ((PyObject*)values[1]); | |
| } | |
| goto __pyx_L4_argument_unpacking_done; | |
| __pyx_L5_argtuple_error:; | |
| __Pyx_RaiseArgtupleInvalid("box_from_string", 0, 1, 2, __pyx_nargs); __PYX_ERR(0, 118, __pyx_L3_error) | |
| __pyx_L3_error:; | |
| __Pyx_AddTraceback("box.from_file.box_from_string", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| __Pyx_RefNannyFinishContext(); | |
| return NULL; | |
| __pyx_L4_argument_unpacking_done:; | |
| if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_content), (&PyUnicode_Type), 0, "content", 1))) __PYX_ERR(0, 118, __pyx_L1_error) | |
| if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_string_type), (&PyUnicode_Type), 0, "string_type", 1))) __PYX_ERR(0, 118, __pyx_L1_error) | |
| __pyx_r = __pyx_pf_3box_9from_file_12box_from_string(__pyx_self, __pyx_v_content, __pyx_v_string_type); | |
| /* function exit code */ | |
| goto __pyx_L0; | |
| __pyx_L1_error:; | |
| __pyx_r = NULL; | |
| __pyx_L0:; | |
| __Pyx_RefNannyFinishContext(); | |
| return __pyx_r; | |
| } | |
| static PyObject *__pyx_pf_3box_9from_file_12box_from_string(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_content, PyObject *__pyx_v_string_type) { | |
| PyObject *__pyx_r = NULL; | |
| __Pyx_RefNannyDeclarations | |
| int __pyx_t_1; | |
| PyObject *__pyx_t_2 = NULL; | |
| PyObject *__pyx_t_3 = NULL; | |
| PyObject *__pyx_t_4 = NULL; | |
| PyObject *__pyx_t_5 = NULL; | |
| PyObject *__pyx_t_6 = NULL; | |
| PyObject *__pyx_t_7 = NULL; | |
| PyObject *__pyx_t_8 = NULL; | |
| int __pyx_t_9; | |
| PyObject *__pyx_t_10 = NULL; | |
| PyObject *__pyx_t_11 = NULL; | |
| int __pyx_lineno = 0; | |
| const char *__pyx_filename = NULL; | |
| int __pyx_clineno = 0; | |
| __Pyx_RefNannySetupContext("box_from_string", 0); | |
| /* "box/from_file.py":127 | |
| * """ | |
| * | |
| * if string_type == "json": # <<<<<<<<<<<<<< | |
| * try: | |
| * return Box.from_json(json_string=content) | |
| */ | |
| __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_string_type, __pyx_n_u_json, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 127, __pyx_L1_error) | |
| if (__pyx_t_1) { | |
| /* "box/from_file.py":128 | |
| * | |
| * if string_type == "json": | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_json(json_string=content) | |
| * except JSONDecodeError: | |
| */ | |
| { | |
| __Pyx_PyThreadState_declare | |
| __Pyx_PyThreadState_assign | |
| __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); | |
| __Pyx_XGOTREF(__pyx_t_2); | |
| __Pyx_XGOTREF(__pyx_t_3); | |
| __Pyx_XGOTREF(__pyx_t_4); | |
| /*try:*/ { | |
| /* "box/from_file.py":129 | |
| * if string_type == "json": | |
| * try: | |
| * return Box.from_json(json_string=content) # <<<<<<<<<<<<<< | |
| * except JSONDecodeError: | |
| * raise BoxError("File is not JSON as expected") | |
| */ | |
| __Pyx_XDECREF(__pyx_r); | |
| __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Box); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 129, __pyx_L4_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_from_json); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 129, __pyx_L4_error) | |
| __Pyx_GOTREF(__pyx_t_6); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 129, __pyx_L4_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_json_string, __pyx_v_content) < 0) __PYX_ERR(0, 129, __pyx_L4_error) | |
| __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 129, __pyx_L4_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __pyx_r = __pyx_t_7; | |
| __pyx_t_7 = 0; | |
| goto __pyx_L8_try_return; | |
| /* "box/from_file.py":128 | |
| * | |
| * if string_type == "json": | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_json(json_string=content) | |
| * except JSONDecodeError: | |
| */ | |
| } | |
| __pyx_L4_error:; | |
| __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; | |
| __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| /* "box/from_file.py":130 | |
| * try: | |
| * return Box.from_json(json_string=content) | |
| * except JSONDecodeError: # <<<<<<<<<<<<<< | |
| * raise BoxError("File is not JSON as expected") | |
| * except BoxError: | |
| */ | |
| __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_5, &__pyx_t_6); | |
| __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_JSONDecodeError); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 130, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| __pyx_t_9 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_7, __pyx_t_8); | |
| __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| __Pyx_ErrRestore(__pyx_t_7, __pyx_t_5, __pyx_t_6); | |
| __pyx_t_7 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; | |
| if (__pyx_t_9) { | |
| __Pyx_AddTraceback("box.from_file.box_from_string", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_7) < 0) __PYX_ERR(0, 130, __pyx_L6_except_error) | |
| __Pyx_XGOTREF(__pyx_t_6); | |
| __Pyx_XGOTREF(__pyx_t_5); | |
| __Pyx_XGOTREF(__pyx_t_7); | |
| /* "box/from_file.py":131 | |
| * return Box.from_json(json_string=content) | |
| * except JSONDecodeError: | |
| * raise BoxError("File is not JSON as expected") # <<<<<<<<<<<<<< | |
| * except BoxError: | |
| * return BoxList.from_json(json_string=content) | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 131, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_10); | |
| __pyx_t_11 = NULL; | |
| __pyx_t_9 = 0; | |
| if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { | |
| __pyx_t_11 = PyMethod_GET_SELF(__pyx_t_10); | |
| if (likely(__pyx_t_11)) { | |
| PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); | |
| __Pyx_INCREF(__pyx_t_11); | |
| __Pyx_INCREF(function); | |
| __Pyx_DECREF_SET(__pyx_t_10, function); | |
| __pyx_t_9 = 1; | |
| } | |
| } | |
| { | |
| PyObject *__pyx_callargs[2] = {__pyx_t_11, __pyx_kp_u_File_is_not_JSON_as_expected}; | |
| __pyx_t_8 = __Pyx_PyObject_FastCall(__pyx_t_10, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); | |
| __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; | |
| if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 131, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
| } | |
| __Pyx_Raise(__pyx_t_8, 0, 0, 0); | |
| __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| __PYX_ERR(0, 131, __pyx_L6_except_error) | |
| } | |
| /* "box/from_file.py":132 | |
| * except JSONDecodeError: | |
| * raise BoxError("File is not JSON as expected") | |
| * except BoxError: # <<<<<<<<<<<<<< | |
| * return BoxList.from_json(json_string=content) | |
| * elif string_type == "toml": | |
| */ | |
| __Pyx_ErrFetch(&__pyx_t_7, &__pyx_t_5, &__pyx_t_6); | |
| __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 132, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| __pyx_t_9 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_7, __pyx_t_8); | |
| __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| __Pyx_ErrRestore(__pyx_t_7, __pyx_t_5, __pyx_t_6); | |
| __pyx_t_7 = 0; __pyx_t_5 = 0; __pyx_t_6 = 0; | |
| if (__pyx_t_9) { | |
| __Pyx_AddTraceback("box.from_file.box_from_string", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_5, &__pyx_t_7) < 0) __PYX_ERR(0, 132, __pyx_L6_except_error) | |
| __Pyx_XGOTREF(__pyx_t_6); | |
| __Pyx_XGOTREF(__pyx_t_5); | |
| __Pyx_XGOTREF(__pyx_t_7); | |
| /* "box/from_file.py":133 | |
| * raise BoxError("File is not JSON as expected") | |
| * except BoxError: | |
| * return BoxList.from_json(json_string=content) # <<<<<<<<<<<<<< | |
| * elif string_type == "toml": | |
| * try: | |
| */ | |
| __Pyx_XDECREF(__pyx_r); | |
| __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_BoxList); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 133, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_from_json); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 133, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_10); | |
| __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| __pyx_t_8 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 133, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_json_string, __pyx_v_content) < 0) __PYX_ERR(0, 133, __pyx_L6_except_error) | |
| __pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_empty_tuple, __pyx_t_8); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 133, __pyx_L6_except_error) | |
| __Pyx_GOTREF(__pyx_t_11); | |
| __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
| __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| __pyx_r = __pyx_t_11; | |
| __pyx_t_11 = 0; | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| goto __pyx_L7_except_return; | |
| } | |
| goto __pyx_L6_except_error; | |
| /* "box/from_file.py":128 | |
| * | |
| * if string_type == "json": | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_json(json_string=content) | |
| * except JSONDecodeError: | |
| */ | |
| __pyx_L6_except_error:; | |
| __Pyx_XGIVEREF(__pyx_t_2); | |
| __Pyx_XGIVEREF(__pyx_t_3); | |
| __Pyx_XGIVEREF(__pyx_t_4); | |
| __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); | |
| goto __pyx_L1_error; | |
| __pyx_L8_try_return:; | |
| __Pyx_XGIVEREF(__pyx_t_2); | |
| __Pyx_XGIVEREF(__pyx_t_3); | |
| __Pyx_XGIVEREF(__pyx_t_4); | |
| __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); | |
| goto __pyx_L0; | |
| __pyx_L7_except_return:; | |
| __Pyx_XGIVEREF(__pyx_t_2); | |
| __Pyx_XGIVEREF(__pyx_t_3); | |
| __Pyx_XGIVEREF(__pyx_t_4); | |
| __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); | |
| goto __pyx_L0; | |
| } | |
| /* "box/from_file.py":127 | |
| * """ | |
| * | |
| * if string_type == "json": # <<<<<<<<<<<<<< | |
| * try: | |
| * return Box.from_json(json_string=content) | |
| */ | |
| } | |
| /* "box/from_file.py":134 | |
| * except BoxError: | |
| * return BoxList.from_json(json_string=content) | |
| * elif string_type == "toml": # <<<<<<<<<<<<<< | |
| * try: | |
| * return Box.from_toml(toml_string=content) | |
| */ | |
| __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_string_type, __pyx_n_u_toml, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 134, __pyx_L1_error) | |
| if (__pyx_t_1) { | |
| /* "box/from_file.py":135 | |
| * return BoxList.from_json(json_string=content) | |
| * elif string_type == "toml": | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_toml(toml_string=content) | |
| * except toml_decode_error: # type: ignore | |
| */ | |
| { | |
| __Pyx_PyThreadState_declare | |
| __Pyx_PyThreadState_assign | |
| __Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_3, &__pyx_t_2); | |
| __Pyx_XGOTREF(__pyx_t_4); | |
| __Pyx_XGOTREF(__pyx_t_3); | |
| __Pyx_XGOTREF(__pyx_t_2); | |
| /*try:*/ { | |
| /* "box/from_file.py":136 | |
| * elif string_type == "toml": | |
| * try: | |
| * return Box.from_toml(toml_string=content) # <<<<<<<<<<<<<< | |
| * except toml_decode_error: # type: ignore | |
| * raise BoxError("File is not TOML as expected") | |
| */ | |
| __Pyx_XDECREF(__pyx_r); | |
| __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_Box); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 136, __pyx_L14_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_from_toml); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 136, __pyx_L14_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| __pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 136, __pyx_L14_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_toml_string, __pyx_v_content) < 0) __PYX_ERR(0, 136, __pyx_L14_error) | |
| __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 136, __pyx_L14_error) | |
| __Pyx_GOTREF(__pyx_t_6); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| __pyx_r = __pyx_t_6; | |
| __pyx_t_6 = 0; | |
| goto __pyx_L18_try_return; | |
| /* "box/from_file.py":135 | |
| * return BoxList.from_json(json_string=content) | |
| * elif string_type == "toml": | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_toml(toml_string=content) | |
| * except toml_decode_error: # type: ignore | |
| */ | |
| } | |
| __pyx_L14_error:; | |
| __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; | |
| __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; | |
| __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; | |
| __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| /* "box/from_file.py":137 | |
| * try: | |
| * return Box.from_toml(toml_string=content) | |
| * except toml_decode_error: # type: ignore # <<<<<<<<<<<<<< | |
| * raise BoxError("File is not TOML as expected") | |
| * except BoxError: | |
| */ | |
| __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_5); | |
| __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_toml_decode_error); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 137, __pyx_L16_except_error) | |
| __Pyx_GOTREF(__pyx_t_11); | |
| __pyx_t_9 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_6, __pyx_t_11); | |
| __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
| __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_5); | |
| __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_5 = 0; | |
| if (__pyx_t_9) { | |
| __Pyx_AddTraceback("box.from_file.box_from_string", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 137, __pyx_L16_except_error) | |
| __Pyx_XGOTREF(__pyx_t_5); | |
| __Pyx_XGOTREF(__pyx_t_7); | |
| __Pyx_XGOTREF(__pyx_t_6); | |
| /* "box/from_file.py":138 | |
| * return Box.from_toml(toml_string=content) | |
| * except toml_decode_error: # type: ignore | |
| * raise BoxError("File is not TOML as expected") # <<<<<<<<<<<<<< | |
| * except BoxError: | |
| * return BoxList.from_toml(toml_string=content) | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 138, __pyx_L16_except_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| __pyx_t_10 = NULL; | |
| __pyx_t_9 = 0; | |
| if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { | |
| __pyx_t_10 = PyMethod_GET_SELF(__pyx_t_8); | |
| if (likely(__pyx_t_10)) { | |
| PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8); | |
| __Pyx_INCREF(__pyx_t_10); | |
| __Pyx_INCREF(function); | |
| __Pyx_DECREF_SET(__pyx_t_8, function); | |
| __pyx_t_9 = 1; | |
| } | |
| } | |
| { | |
| PyObject *__pyx_callargs[2] = {__pyx_t_10, __pyx_kp_u_File_is_not_TOML_as_expected}; | |
| __pyx_t_11 = __Pyx_PyObject_FastCall(__pyx_t_8, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); | |
| __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; | |
| if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 138, __pyx_L16_except_error) | |
| __Pyx_GOTREF(__pyx_t_11); | |
| __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| } | |
| __Pyx_Raise(__pyx_t_11, 0, 0, 0); | |
| __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
| __PYX_ERR(0, 138, __pyx_L16_except_error) | |
| } | |
| /* "box/from_file.py":139 | |
| * except toml_decode_error: # type: ignore | |
| * raise BoxError("File is not TOML as expected") | |
| * except BoxError: # <<<<<<<<<<<<<< | |
| * return BoxList.from_toml(toml_string=content) | |
| * elif string_type == "yaml": | |
| */ | |
| __Pyx_ErrFetch(&__pyx_t_6, &__pyx_t_7, &__pyx_t_5); | |
| __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 139, __pyx_L16_except_error) | |
| __Pyx_GOTREF(__pyx_t_11); | |
| __pyx_t_9 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_6, __pyx_t_11); | |
| __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
| __Pyx_ErrRestore(__pyx_t_6, __pyx_t_7, __pyx_t_5); | |
| __pyx_t_6 = 0; __pyx_t_7 = 0; __pyx_t_5 = 0; | |
| if (__pyx_t_9) { | |
| __Pyx_AddTraceback("box.from_file.box_from_string", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_7, &__pyx_t_6) < 0) __PYX_ERR(0, 139, __pyx_L16_except_error) | |
| __Pyx_XGOTREF(__pyx_t_5); | |
| __Pyx_XGOTREF(__pyx_t_7); | |
| __Pyx_XGOTREF(__pyx_t_6); | |
| /* "box/from_file.py":140 | |
| * raise BoxError("File is not TOML as expected") | |
| * except BoxError: | |
| * return BoxList.from_toml(toml_string=content) # <<<<<<<<<<<<<< | |
| * elif string_type == "yaml": | |
| * try: | |
| */ | |
| __Pyx_XDECREF(__pyx_r); | |
| __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_BoxList); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 140, __pyx_L16_except_error) | |
| __Pyx_GOTREF(__pyx_t_11); | |
| __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_from_toml); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 140, __pyx_L16_except_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
| __pyx_t_11 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 140, __pyx_L16_except_error) | |
| __Pyx_GOTREF(__pyx_t_11); | |
| if (PyDict_SetItem(__pyx_t_11, __pyx_n_s_toml_string, __pyx_v_content) < 0) __PYX_ERR(0, 140, __pyx_L16_except_error) | |
| __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_empty_tuple, __pyx_t_11); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 140, __pyx_L16_except_error) | |
| __Pyx_GOTREF(__pyx_t_10); | |
| __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
| __pyx_r = __pyx_t_10; | |
| __pyx_t_10 = 0; | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| goto __pyx_L17_except_return; | |
| } | |
| goto __pyx_L16_except_error; | |
| /* "box/from_file.py":135 | |
| * return BoxList.from_json(json_string=content) | |
| * elif string_type == "toml": | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_toml(toml_string=content) | |
| * except toml_decode_error: # type: ignore | |
| */ | |
| __pyx_L16_except_error:; | |
| __Pyx_XGIVEREF(__pyx_t_4); | |
| __Pyx_XGIVEREF(__pyx_t_3); | |
| __Pyx_XGIVEREF(__pyx_t_2); | |
| __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_3, __pyx_t_2); | |
| goto __pyx_L1_error; | |
| __pyx_L18_try_return:; | |
| __Pyx_XGIVEREF(__pyx_t_4); | |
| __Pyx_XGIVEREF(__pyx_t_3); | |
| __Pyx_XGIVEREF(__pyx_t_2); | |
| __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_3, __pyx_t_2); | |
| goto __pyx_L0; | |
| __pyx_L17_except_return:; | |
| __Pyx_XGIVEREF(__pyx_t_4); | |
| __Pyx_XGIVEREF(__pyx_t_3); | |
| __Pyx_XGIVEREF(__pyx_t_2); | |
| __Pyx_ExceptionReset(__pyx_t_4, __pyx_t_3, __pyx_t_2); | |
| goto __pyx_L0; | |
| } | |
| /* "box/from_file.py":134 | |
| * except BoxError: | |
| * return BoxList.from_json(json_string=content) | |
| * elif string_type == "toml": # <<<<<<<<<<<<<< | |
| * try: | |
| * return Box.from_toml(toml_string=content) | |
| */ | |
| } | |
| /* "box/from_file.py":141 | |
| * except BoxError: | |
| * return BoxList.from_toml(toml_string=content) | |
| * elif string_type == "yaml": # <<<<<<<<<<<<<< | |
| * try: | |
| * return Box.from_yaml(yaml_string=content) | |
| */ | |
| __pyx_t_1 = (__Pyx_PyUnicode_Equals(__pyx_v_string_type, __pyx_n_u_yaml, Py_EQ)); if (unlikely((__pyx_t_1 < 0))) __PYX_ERR(0, 141, __pyx_L1_error) | |
| if (likely(__pyx_t_1)) { | |
| /* "box/from_file.py":142 | |
| * return BoxList.from_toml(toml_string=content) | |
| * elif string_type == "yaml": | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_yaml(yaml_string=content) | |
| * except YAMLError: | |
| */ | |
| { | |
| __Pyx_PyThreadState_declare | |
| __Pyx_PyThreadState_assign | |
| __Pyx_ExceptionSave(&__pyx_t_2, &__pyx_t_3, &__pyx_t_4); | |
| __Pyx_XGOTREF(__pyx_t_2); | |
| __Pyx_XGOTREF(__pyx_t_3); | |
| __Pyx_XGOTREF(__pyx_t_4); | |
| /*try:*/ { | |
| /* "box/from_file.py":143 | |
| * elif string_type == "yaml": | |
| * try: | |
| * return Box.from_yaml(yaml_string=content) # <<<<<<<<<<<<<< | |
| * except YAMLError: | |
| * raise BoxError("File is not YAML as expected") | |
| */ | |
| __Pyx_XDECREF(__pyx_r); | |
| __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Box); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 143, __pyx_L24_error) | |
| __Pyx_GOTREF(__pyx_t_6); | |
| __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_from_yaml); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 143, __pyx_L24_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
| __pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 143, __pyx_L24_error) | |
| __Pyx_GOTREF(__pyx_t_6); | |
| if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_yaml_string, __pyx_v_content) < 0) __PYX_ERR(0, 143, __pyx_L24_error) | |
| __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_empty_tuple, __pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 143, __pyx_L24_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
| __pyx_r = __pyx_t_5; | |
| __pyx_t_5 = 0; | |
| goto __pyx_L28_try_return; | |
| /* "box/from_file.py":142 | |
| * return BoxList.from_toml(toml_string=content) | |
| * elif string_type == "yaml": | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_yaml(yaml_string=content) | |
| * except YAMLError: | |
| */ | |
| } | |
| __pyx_L24_error:; | |
| __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; | |
| __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; | |
| __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; | |
| __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| /* "box/from_file.py":144 | |
| * try: | |
| * return Box.from_yaml(yaml_string=content) | |
| * except YAMLError: # <<<<<<<<<<<<<< | |
| * raise BoxError("File is not YAML as expected") | |
| * except BoxError: | |
| */ | |
| __Pyx_ErrFetch(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); | |
| __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_YAMLError); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 144, __pyx_L26_except_error) | |
| __Pyx_GOTREF(__pyx_t_10); | |
| __pyx_t_9 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_5, __pyx_t_10); | |
| __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
| __Pyx_ErrRestore(__pyx_t_5, __pyx_t_6, __pyx_t_7); | |
| __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; | |
| if (__pyx_t_9) { | |
| __Pyx_AddTraceback("box.from_file.box_from_string", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(0, 144, __pyx_L26_except_error) | |
| __Pyx_XGOTREF(__pyx_t_7); | |
| __Pyx_XGOTREF(__pyx_t_6); | |
| __Pyx_XGOTREF(__pyx_t_5); | |
| /* "box/from_file.py":145 | |
| * return Box.from_yaml(yaml_string=content) | |
| * except YAMLError: | |
| * raise BoxError("File is not YAML as expected") # <<<<<<<<<<<<<< | |
| * except BoxError: | |
| * return BoxList.from_yaml(yaml_string=content) | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 145, __pyx_L26_except_error) | |
| __Pyx_GOTREF(__pyx_t_11); | |
| __pyx_t_8 = NULL; | |
| __pyx_t_9 = 0; | |
| if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) { | |
| __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_11); | |
| if (likely(__pyx_t_8)) { | |
| PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11); | |
| __Pyx_INCREF(__pyx_t_8); | |
| __Pyx_INCREF(function); | |
| __Pyx_DECREF_SET(__pyx_t_11, function); | |
| __pyx_t_9 = 1; | |
| } | |
| } | |
| { | |
| PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_kp_u_File_is_not_YAML_as_expected}; | |
| __pyx_t_10 = __Pyx_PyObject_FastCall(__pyx_t_11, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); | |
| __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 145, __pyx_L26_except_error) | |
| __Pyx_GOTREF(__pyx_t_10); | |
| __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
| } | |
| __Pyx_Raise(__pyx_t_10, 0, 0, 0); | |
| __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
| __PYX_ERR(0, 145, __pyx_L26_except_error) | |
| } | |
| /* "box/from_file.py":146 | |
| * except YAMLError: | |
| * raise BoxError("File is not YAML as expected") | |
| * except BoxError: # <<<<<<<<<<<<<< | |
| * return BoxList.from_yaml(yaml_string=content) | |
| * else: | |
| */ | |
| __Pyx_ErrFetch(&__pyx_t_5, &__pyx_t_6, &__pyx_t_7); | |
| __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 146, __pyx_L26_except_error) | |
| __Pyx_GOTREF(__pyx_t_10); | |
| __pyx_t_9 = __Pyx_PyErr_GivenExceptionMatches(__pyx_t_5, __pyx_t_10); | |
| __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
| __Pyx_ErrRestore(__pyx_t_5, __pyx_t_6, __pyx_t_7); | |
| __pyx_t_5 = 0; __pyx_t_6 = 0; __pyx_t_7 = 0; | |
| if (__pyx_t_9) { | |
| __Pyx_AddTraceback("box.from_file.box_from_string", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_6, &__pyx_t_5) < 0) __PYX_ERR(0, 146, __pyx_L26_except_error) | |
| __Pyx_XGOTREF(__pyx_t_7); | |
| __Pyx_XGOTREF(__pyx_t_6); | |
| __Pyx_XGOTREF(__pyx_t_5); | |
| /* "box/from_file.py":147 | |
| * raise BoxError("File is not YAML as expected") | |
| * except BoxError: | |
| * return BoxList.from_yaml(yaml_string=content) # <<<<<<<<<<<<<< | |
| * else: | |
| * raise BoxError(f"Unsupported string_string of {string_type}") | |
| */ | |
| __Pyx_XDECREF(__pyx_r); | |
| __Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_BoxList); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 147, __pyx_L26_except_error) | |
| __Pyx_GOTREF(__pyx_t_10); | |
| __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_from_yaml); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 147, __pyx_L26_except_error) | |
| __Pyx_GOTREF(__pyx_t_11); | |
| __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
| __pyx_t_10 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 147, __pyx_L26_except_error) | |
| __Pyx_GOTREF(__pyx_t_10); | |
| if (PyDict_SetItem(__pyx_t_10, __pyx_n_s_yaml_string, __pyx_v_content) < 0) __PYX_ERR(0, 147, __pyx_L26_except_error) | |
| __pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_empty_tuple, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 147, __pyx_L26_except_error) | |
| __Pyx_GOTREF(__pyx_t_8); | |
| __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
| __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; | |
| __pyx_r = __pyx_t_8; | |
| __pyx_t_8 = 0; | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| goto __pyx_L27_except_return; | |
| } | |
| goto __pyx_L26_except_error; | |
| /* "box/from_file.py":142 | |
| * return BoxList.from_toml(toml_string=content) | |
| * elif string_type == "yaml": | |
| * try: # <<<<<<<<<<<<<< | |
| * return Box.from_yaml(yaml_string=content) | |
| * except YAMLError: | |
| */ | |
| __pyx_L26_except_error:; | |
| __Pyx_XGIVEREF(__pyx_t_2); | |
| __Pyx_XGIVEREF(__pyx_t_3); | |
| __Pyx_XGIVEREF(__pyx_t_4); | |
| __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); | |
| goto __pyx_L1_error; | |
| __pyx_L28_try_return:; | |
| __Pyx_XGIVEREF(__pyx_t_2); | |
| __Pyx_XGIVEREF(__pyx_t_3); | |
| __Pyx_XGIVEREF(__pyx_t_4); | |
| __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); | |
| goto __pyx_L0; | |
| __pyx_L27_except_return:; | |
| __Pyx_XGIVEREF(__pyx_t_2); | |
| __Pyx_XGIVEREF(__pyx_t_3); | |
| __Pyx_XGIVEREF(__pyx_t_4); | |
| __Pyx_ExceptionReset(__pyx_t_2, __pyx_t_3, __pyx_t_4); | |
| goto __pyx_L0; | |
| } | |
| /* "box/from_file.py":141 | |
| * except BoxError: | |
| * return BoxList.from_toml(toml_string=content) | |
| * elif string_type == "yaml": # <<<<<<<<<<<<<< | |
| * try: | |
| * return Box.from_yaml(yaml_string=content) | |
| */ | |
| } | |
| /* "box/from_file.py":149 | |
| * return BoxList.from_yaml(yaml_string=content) | |
| * else: | |
| * raise BoxError(f"Unsupported string_string of {string_type}") # <<<<<<<<<<<<<< | |
| */ | |
| /*else*/ { | |
| __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 149, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_6); | |
| __pyx_t_7 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Unsupported_string_string_of, __pyx_v_string_type); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 149, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| __pyx_t_8 = NULL; | |
| __pyx_t_9 = 0; | |
| if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { | |
| __pyx_t_8 = PyMethod_GET_SELF(__pyx_t_6); | |
| if (likely(__pyx_t_8)) { | |
| PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); | |
| __Pyx_INCREF(__pyx_t_8); | |
| __Pyx_INCREF(function); | |
| __Pyx_DECREF_SET(__pyx_t_6, function); | |
| __pyx_t_9 = 1; | |
| } | |
| } | |
| { | |
| PyObject *__pyx_callargs[2] = {__pyx_t_8, __pyx_t_7}; | |
| __pyx_t_5 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_9, 1+__pyx_t_9); | |
| __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 149, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_5); | |
| __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; | |
| } | |
| __Pyx_Raise(__pyx_t_5, 0, 0, 0); | |
| __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __PYX_ERR(0, 149, __pyx_L1_error) | |
| } | |
| /* "box/from_file.py":118 | |
| * | |
| * | |
| * def box_from_string(content: str, string_type: str = "json") -> Union[Box, BoxList]: # <<<<<<<<<<<<<< | |
| * """ | |
| * Parse the provided string into a Box or BoxList object as appropriate. | |
| */ | |
| /* function exit code */ | |
| __pyx_L1_error:; | |
| __Pyx_XDECREF(__pyx_t_5); | |
| __Pyx_XDECREF(__pyx_t_6); | |
| __Pyx_XDECREF(__pyx_t_7); | |
| __Pyx_XDECREF(__pyx_t_8); | |
| __Pyx_XDECREF(__pyx_t_10); | |
| __Pyx_XDECREF(__pyx_t_11); | |
| __Pyx_AddTraceback("box.from_file.box_from_string", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| __pyx_r = NULL; | |
| __pyx_L0:; | |
| __Pyx_XGIVEREF(__pyx_r); | |
| __Pyx_RefNannyFinishContext(); | |
| return __pyx_r; | |
| } | |
| static PyMethodDef __pyx_methods[] = { | |
| {0, 0, 0, 0} | |
| }; | |
| /* #### Code section: pystring_table ### */ | |
| static int __Pyx_CreateStringTabAndInitStrings(void) { | |
| __Pyx_StringTabEntry __pyx_string_tab[] = { | |
| {&__pyx_n_s_, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 1}, | |
| {&__pyx_n_s_Box, __pyx_k_Box, sizeof(__pyx_k_Box), 0, 0, 1, 1}, | |
| {&__pyx_n_s_BoxError, __pyx_k_BoxError, sizeof(__pyx_k_BoxError), 0, 0, 1, 1}, | |
| {&__pyx_n_s_BoxList, __pyx_k_BoxList, sizeof(__pyx_k_BoxList), 0, 0, 1, 1}, | |
| {&__pyx_n_s_Callable, __pyx_k_Callable, sizeof(__pyx_k_Callable), 0, 0, 1, 1}, | |
| {&__pyx_n_s_Dict, __pyx_k_Dict, sizeof(__pyx_k_Dict), 0, 0, 1, 1}, | |
| {&__pyx_kp_u_File, __pyx_k_File, sizeof(__pyx_k_File), 0, 1, 0, 0}, | |
| {&__pyx_kp_u_File_is_not_JSON_as_expected, __pyx_k_File_is_not_JSON_as_expected, sizeof(__pyx_k_File_is_not_JSON_as_expected), 0, 1, 0, 0}, | |
| {&__pyx_kp_u_File_is_not_TOML_as_expected, __pyx_k_File_is_not_TOML_as_expected, sizeof(__pyx_k_File_is_not_TOML_as_expected), 0, 1, 0, 0}, | |
| {&__pyx_kp_u_File_is_not_YAML_as_expected, __pyx_k_File_is_not_YAML_as_expected, sizeof(__pyx_k_File_is_not_YAML_as_expected), 0, 1, 0, 0}, | |
| {&__pyx_kp_u_File_is_not_msgpack_as_expected, __pyx_k_File_is_not_msgpack_as_expected, sizeof(__pyx_k_File_is_not_msgpack_as_expected), 0, 1, 0, 0}, | |
| {&__pyx_n_s_ImportError, __pyx_k_ImportError, sizeof(__pyx_k_ImportError), 0, 0, 1, 1}, | |
| {&__pyx_n_s_JSONDecodeError, __pyx_k_JSONDecodeError, sizeof(__pyx_k_JSONDecodeError), 0, 0, 1, 1}, | |
| {&__pyx_kp_u_None, __pyx_k_None, sizeof(__pyx_k_None), 0, 1, 0, 0}, | |
| {&__pyx_n_s_Optional, __pyx_k_Optional, sizeof(__pyx_k_Optional), 0, 0, 1, 1}, | |
| {&__pyx_kp_s_Optional_str, __pyx_k_Optional_str, sizeof(__pyx_k_Optional_str), 0, 0, 1, 0}, | |
| {&__pyx_n_s_Path, __pyx_k_Path, sizeof(__pyx_k_Path), 0, 0, 1, 1}, | |
| {&__pyx_n_s_PathLike, __pyx_k_PathLike, sizeof(__pyx_k_PathLike), 0, 0, 1, 1}, | |
| {&__pyx_n_s_Union, __pyx_k_Union, sizeof(__pyx_k_Union), 0, 0, 1, 1}, | |
| {&__pyx_kp_s_Union_Box_BoxList, __pyx_k_Union_Box_BoxList, sizeof(__pyx_k_Union_Box_BoxList), 0, 0, 1, 0}, | |
| {&__pyx_kp_s_Union_str_PathLike, __pyx_k_Union_str_PathLike, sizeof(__pyx_k_Union_str_PathLike), 0, 0, 1, 0}, | |
| {&__pyx_n_s_UnpackException, __pyx_k_UnpackException, sizeof(__pyx_k_UnpackException), 0, 0, 1, 1}, | |
| {&__pyx_kp_u_Unsupported_string_string_of, __pyx_k_Unsupported_string_string_of, sizeof(__pyx_k_Unsupported_string_string_of), 0, 1, 0, 0}, | |
| {&__pyx_n_s_ValueError, __pyx_k_ValueError, sizeof(__pyx_k_ValueError), 0, 0, 1, 1}, | |
| {&__pyx_n_s_YAMLError, __pyx_k_YAMLError, sizeof(__pyx_k_YAMLError), 0, 0, 1, 1}, | |
| {&__pyx_n_s__19, __pyx_k__19, sizeof(__pyx_k__19), 0, 0, 1, 1}, | |
| {&__pyx_n_s__2, __pyx_k__2, sizeof(__pyx_k__2), 0, 0, 1, 1}, | |
| {&__pyx_kp_u__3, __pyx_k__3, sizeof(__pyx_k__3), 0, 1, 0, 0}, | |
| {&__pyx_kp_u__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 1, 0, 0}, | |
| {&__pyx_n_s__5, __pyx_k__5, sizeof(__pyx_k__5), 0, 0, 1, 1}, | |
| {&__pyx_n_s_all, __pyx_k_all, sizeof(__pyx_k_all), 0, 0, 1, 1}, | |
| {&__pyx_n_s_asyncio_coroutines, __pyx_k_asyncio_coroutines, sizeof(__pyx_k_asyncio_coroutines), 0, 0, 1, 1}, | |
| {&__pyx_n_s_box_box, __pyx_k_box_box, sizeof(__pyx_k_box_box), 0, 0, 1, 1}, | |
| {&__pyx_n_s_box_box_list, __pyx_k_box_box_list, sizeof(__pyx_k_box_box_list), 0, 0, 1, 1}, | |
| {&__pyx_n_s_box_converters, __pyx_k_box_converters, sizeof(__pyx_k_box_converters), 0, 0, 1, 1}, | |
| {&__pyx_n_s_box_exceptions, __pyx_k_box_exceptions, sizeof(__pyx_k_box_exceptions), 0, 0, 1, 1}, | |
| {&__pyx_n_s_box_from_file, __pyx_k_box_from_file, sizeof(__pyx_k_box_from_file), 0, 0, 1, 1}, | |
| {&__pyx_n_u_box_from_file, __pyx_k_box_from_file, sizeof(__pyx_k_box_from_file), 0, 1, 0, 1}, | |
| {&__pyx_n_s_box_from_file_2, __pyx_k_box_from_file_2, sizeof(__pyx_k_box_from_file_2), 0, 0, 1, 1}, | |
| {&__pyx_kp_s_box_from_file_py, __pyx_k_box_from_file_py, sizeof(__pyx_k_box_from_file_py), 0, 0, 1, 0}, | |
| {&__pyx_n_s_box_from_string, __pyx_k_box_from_string, sizeof(__pyx_k_box_from_string), 0, 0, 1, 1}, | |
| {&__pyx_n_u_box_from_string, __pyx_k_box_from_string, sizeof(__pyx_k_box_from_string), 0, 1, 0, 1}, | |
| {&__pyx_n_s_class_getitem, __pyx_k_class_getitem, sizeof(__pyx_k_class_getitem), 0, 0, 1, 1}, | |
| {&__pyx_n_s_cline_in_traceback, __pyx_k_cline_in_traceback, sizeof(__pyx_k_cline_in_traceback), 0, 0, 1, 1}, | |
| {&__pyx_n_s_content, __pyx_k_content, sizeof(__pyx_k_content), 0, 0, 1, 1}, | |
| {&__pyx_n_s_converters, __pyx_k_converters, sizeof(__pyx_k_converters), 0, 0, 1, 1}, | |
| {&__pyx_n_u_csv, __pyx_k_csv, sizeof(__pyx_k_csv), 0, 1, 0, 1}, | |
| {&__pyx_kp_u_does_not_exist, __pyx_k_does_not_exist, sizeof(__pyx_k_does_not_exist), 0, 1, 0, 0}, | |
| {&__pyx_n_s_encoding, __pyx_k_encoding, sizeof(__pyx_k_encoding), 0, 0, 1, 1}, | |
| {&__pyx_n_s_errors, __pyx_k_errors, sizeof(__pyx_k_errors), 0, 0, 1, 1}, | |
| {&__pyx_n_s_exists, __pyx_k_exists, sizeof(__pyx_k_exists), 0, 0, 1, 1}, | |
| {&__pyx_n_s_file, __pyx_k_file, sizeof(__pyx_k_file), 0, 0, 1, 1}, | |
| {&__pyx_kp_u_file_2, __pyx_k_file_2, sizeof(__pyx_k_file_2), 0, 1, 0, 0}, | |
| {&__pyx_n_s_file_type, __pyx_k_file_type, sizeof(__pyx_k_file_type), 0, 0, 1, 1}, | |
| {&__pyx_n_s_filename, __pyx_k_filename, sizeof(__pyx_k_filename), 0, 0, 1, 1}, | |
| {&__pyx_n_s_from_csv, __pyx_k_from_csv, sizeof(__pyx_k_from_csv), 0, 0, 1, 1}, | |
| {&__pyx_n_s_from_json, __pyx_k_from_json, sizeof(__pyx_k_from_json), 0, 0, 1, 1}, | |
| {&__pyx_n_s_from_msgpack, __pyx_k_from_msgpack, sizeof(__pyx_k_from_msgpack), 0, 0, 1, 1}, | |
| {&__pyx_n_s_from_toml, __pyx_k_from_toml, sizeof(__pyx_k_from_toml), 0, 0, 1, 1}, | |
| {&__pyx_n_s_from_yaml, __pyx_k_from_yaml, sizeof(__pyx_k_from_yaml), 0, 0, 1, 1}, | |
| {&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1}, | |
| {&__pyx_n_s_initializing, __pyx_k_initializing, sizeof(__pyx_k_initializing), 0, 0, 1, 1}, | |
| {&__pyx_kp_u_is_an_unknown_type_Please_use_e, __pyx_k_is_an_unknown_type_Please_use_e, sizeof(__pyx_k_is_an_unknown_type_Please_use_e), 0, 1, 0, 0}, | |
| {&__pyx_n_s_is_coroutine, __pyx_k_is_coroutine, sizeof(__pyx_k_is_coroutine), 0, 0, 1, 1}, | |
| {&__pyx_kp_u_is_msgpack_but_no_package_is_av, __pyx_k_is_msgpack_but_no_package_is_av, sizeof(__pyx_k_is_msgpack_but_no_package_is_av), 0, 1, 0, 0}, | |
| {&__pyx_kp_u_is_toml_but_no_package_is_avail, __pyx_k_is_toml_but_no_package_is_avail, sizeof(__pyx_k_is_toml_but_no_package_is_avail), 0, 1, 0, 0}, | |
| {&__pyx_kp_u_is_yaml_but_no_package_is_avail, __pyx_k_is_yaml_but_no_package_is_avail, sizeof(__pyx_k_is_yaml_but_no_package_is_avail), 0, 1, 0, 0}, | |
| {&__pyx_n_s_items, __pyx_k_items, sizeof(__pyx_k_items), 0, 0, 1, 1}, | |
| {&__pyx_n_u_jsn, __pyx_k_jsn, sizeof(__pyx_k_jsn), 0, 1, 0, 1}, | |
| {&__pyx_n_s_json, __pyx_k_json, sizeof(__pyx_k_json), 0, 0, 1, 1}, | |
| {&__pyx_n_u_json, __pyx_k_json, sizeof(__pyx_k_json), 0, 1, 0, 1}, | |
| {&__pyx_n_s_json_string, __pyx_k_json_string, sizeof(__pyx_k_json_string), 0, 0, 1, 1}, | |
| {&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1}, | |
| {&__pyx_n_s_lower, __pyx_k_lower, sizeof(__pyx_k_lower), 0, 0, 1, 1}, | |
| {&__pyx_n_s_lstrip, __pyx_k_lstrip, sizeof(__pyx_k_lstrip), 0, 0, 1, 1}, | |
| {&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1}, | |
| {&__pyx_n_s_msgpack, __pyx_k_msgpack, sizeof(__pyx_k_msgpack), 0, 0, 1, 1}, | |
| {&__pyx_n_u_msgpack, __pyx_k_msgpack, sizeof(__pyx_k_msgpack), 0, 1, 0, 1}, | |
| {&__pyx_n_s_msgpack_available, __pyx_k_msgpack_available, sizeof(__pyx_k_msgpack_available), 0, 0, 1, 1}, | |
| {&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1}, | |
| {&__pyx_n_s_os, __pyx_k_os, sizeof(__pyx_k_os), 0, 0, 1, 1}, | |
| {&__pyx_n_u_pack, __pyx_k_pack, sizeof(__pyx_k_pack), 0, 1, 0, 1}, | |
| {&__pyx_n_s_pathlib, __pyx_k_pathlib, sizeof(__pyx_k_pathlib), 0, 0, 1, 1}, | |
| {&__pyx_n_s_return, __pyx_k_return, sizeof(__pyx_k_return), 0, 0, 1, 1}, | |
| {&__pyx_n_s_ruamel_yaml, __pyx_k_ruamel_yaml, sizeof(__pyx_k_ruamel_yaml), 0, 0, 1, 1}, | |
| {&__pyx_n_s_spec, __pyx_k_spec, sizeof(__pyx_k_spec), 0, 0, 1, 1}, | |
| {&__pyx_n_s_str, __pyx_k_str, sizeof(__pyx_k_str), 0, 0, 1, 1}, | |
| {&__pyx_n_u_strict, __pyx_k_strict, sizeof(__pyx_k_strict), 0, 1, 0, 1}, | |
| {&__pyx_n_s_string_type, __pyx_k_string_type, sizeof(__pyx_k_string_type), 0, 0, 1, 1}, | |
| {&__pyx_n_s_suffix, __pyx_k_suffix, sizeof(__pyx_k_suffix), 0, 0, 1, 1}, | |
| {&__pyx_n_s_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 0, 0, 1, 1}, | |
| {&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1}, | |
| {&__pyx_n_u_tml, __pyx_k_tml, sizeof(__pyx_k_tml), 0, 1, 0, 1}, | |
| {&__pyx_n_s_to_csv, __pyx_k_to_csv, sizeof(__pyx_k_to_csv), 0, 0, 1, 1}, | |
| {&__pyx_n_s_to_json, __pyx_k_to_json, sizeof(__pyx_k_to_json), 0, 0, 1, 1}, | |
| {&__pyx_n_s_to_msgpack, __pyx_k_to_msgpack, sizeof(__pyx_k_to_msgpack), 0, 0, 1, 1}, | |
| {&__pyx_n_s_to_toml, __pyx_k_to_toml, sizeof(__pyx_k_to_toml), 0, 0, 1, 1}, | |
| {&__pyx_n_s_to_yaml, __pyx_k_to_yaml, sizeof(__pyx_k_to_yaml), 0, 0, 1, 1}, | |
| {&__pyx_n_u_toml, __pyx_k_toml, sizeof(__pyx_k_toml), 0, 1, 0, 1}, | |
| {&__pyx_n_s_toml_decode_error, __pyx_k_toml_decode_error, sizeof(__pyx_k_toml_decode_error), 0, 0, 1, 1}, | |
| {&__pyx_n_s_toml_read_library, __pyx_k_toml_read_library, sizeof(__pyx_k_toml_read_library), 0, 0, 1, 1}, | |
| {&__pyx_n_s_toml_string, __pyx_k_toml_string, sizeof(__pyx_k_toml_string), 0, 0, 1, 1}, | |
| {&__pyx_n_s_typing, __pyx_k_typing, sizeof(__pyx_k_typing), 0, 0, 1, 1}, | |
| {&__pyx_kp_u_utf_8, __pyx_k_utf_8, sizeof(__pyx_k_utf_8), 0, 1, 0, 0}, | |
| {&__pyx_n_s_yaml, __pyx_k_yaml, sizeof(__pyx_k_yaml), 0, 0, 1, 1}, | |
| {&__pyx_n_u_yaml, __pyx_k_yaml, sizeof(__pyx_k_yaml), 0, 1, 0, 1}, | |
| {&__pyx_n_s_yaml_available, __pyx_k_yaml_available, sizeof(__pyx_k_yaml_available), 0, 0, 1, 1}, | |
| {&__pyx_n_s_yaml_string, __pyx_k_yaml_string, sizeof(__pyx_k_yaml_string), 0, 0, 1, 1}, | |
| {&__pyx_n_u_yml, __pyx_k_yml, sizeof(__pyx_k_yml), 0, 1, 0, 1}, | |
| {0, 0, 0, 0, 0, 0, 0} | |
| }; | |
| return __Pyx_InitStrings(__pyx_string_tab); | |
| } | |
| /* #### Code section: cached_builtins ### */ | |
| static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { | |
| __pyx_builtin_ImportError = __Pyx_GetBuiltinName(__pyx_n_s_ImportError); if (!__pyx_builtin_ImportError) __PYX_ERR(0, 16, __pyx_L1_error) | |
| __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(0, 71, __pyx_L1_error) | |
| return 0; | |
| __pyx_L1_error:; | |
| return -1; | |
| } | |
| /* #### Code section: cached_constants ### */ | |
| static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { | |
| __Pyx_RefNannyDeclarations | |
| __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); | |
| /* "box/from_file.py":31 | |
| * | |
| * | |
| * def _to_json(file, encoding, errors, **kwargs): # <<<<<<<<<<<<<< | |
| * try: | |
| * return Box.from_json(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| */ | |
| __pyx_tuple__6 = PyTuple_Pack(4, __pyx_n_s_file, __pyx_n_s_encoding, __pyx_n_s_errors, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 31, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_tuple__6); | |
| __Pyx_GIVEREF(__pyx_tuple__6); | |
| __pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__6, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_box_from_file_py, __pyx_n_s_to_json, 31, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 31, __pyx_L1_error) | |
| /* "box/from_file.py":40 | |
| * | |
| * | |
| * def _to_csv(file, encoding, errors, **kwargs): # <<<<<<<<<<<<<< | |
| * return BoxList.from_csv(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * | |
| */ | |
| __pyx_codeobj__8 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__6, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_box_from_file_py, __pyx_n_s_to_csv, 40, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__8)) __PYX_ERR(0, 40, __pyx_L1_error) | |
| /* "box/from_file.py":44 | |
| * | |
| * | |
| * def _to_yaml(file, encoding, errors, **kwargs): # <<<<<<<<<<<<<< | |
| * if not yaml_available: | |
| * raise BoxError( | |
| */ | |
| __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__6, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_box_from_file_py, __pyx_n_s_to_yaml, 44, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 44, __pyx_L1_error) | |
| /* "box/from_file.py":57 | |
| * | |
| * | |
| * def _to_toml(file, encoding, errors, **kwargs): # <<<<<<<<<<<<<< | |
| * if not toml_read_library: | |
| * raise BoxError(f'File "{file}" is toml but no package is available to open it. Please install "tomli"') | |
| */ | |
| __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__6, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_box_from_file_py, __pyx_n_s_to_toml, 57, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 57, __pyx_L1_error) | |
| /* "box/from_file.py":66 | |
| * | |
| * | |
| * def _to_msgpack(file, _, __, **kwargs): # <<<<<<<<<<<<<< | |
| * if not msgpack_available: | |
| * raise BoxError(f'File "{file}" is msgpack but no package is available to open it. Please install "msgpack"') | |
| */ | |
| __pyx_tuple__11 = PyTuple_Pack(4, __pyx_n_s_file, __pyx_n_s_, __pyx_n_s__2, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 66, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_tuple__11); | |
| __Pyx_GIVEREF(__pyx_tuple__11); | |
| __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_box_from_file_py, __pyx_n_s_to_msgpack, 66, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 66, __pyx_L1_error) | |
| /* "box/from_file.py":90 | |
| * | |
| * | |
| * def box_from_file( # <<<<<<<<<<<<<< | |
| * file: Union[str, PathLike], | |
| * file_type: Optional[str] = None, | |
| */ | |
| __pyx_tuple__13 = PyTuple_Pack(5, __pyx_n_s_file, __pyx_n_s_file_type, __pyx_n_s_encoding, __pyx_n_s_errors, __pyx_n_s_kwargs); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 90, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_tuple__13); | |
| __Pyx_GIVEREF(__pyx_tuple__13); | |
| __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_box_from_file_py, __pyx_n_s_box_from_file, 90, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 90, __pyx_L1_error) | |
| __pyx_tuple__15 = PyTuple_Pack(3, ((PyObject *)Py_None), ((PyObject*)__pyx_kp_u_utf_8), ((PyObject*)__pyx_n_u_strict)); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 90, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_tuple__15); | |
| __Pyx_GIVEREF(__pyx_tuple__15); | |
| /* "box/from_file.py":118 | |
| * | |
| * | |
| * def box_from_string(content: str, string_type: str = "json") -> Union[Box, BoxList]: # <<<<<<<<<<<<<< | |
| * """ | |
| * Parse the provided string into a Box or BoxList object as appropriate. | |
| */ | |
| __pyx_tuple__16 = PyTuple_Pack(2, __pyx_n_s_content, __pyx_n_s_string_type); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 118, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_tuple__16); | |
| __Pyx_GIVEREF(__pyx_tuple__16); | |
| __pyx_codeobj__17 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__16, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_box_from_file_py, __pyx_n_s_box_from_string, 118, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__17)) __PYX_ERR(0, 118, __pyx_L1_error) | |
| __pyx_tuple__18 = PyTuple_Pack(1, ((PyObject*)__pyx_n_u_json)); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 118, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_tuple__18); | |
| __Pyx_GIVEREF(__pyx_tuple__18); | |
| __Pyx_RefNannyFinishContext(); | |
| return 0; | |
| __pyx_L1_error:; | |
| __Pyx_RefNannyFinishContext(); | |
| return -1; | |
| } | |
| /* #### Code section: init_constants ### */ | |
| static CYTHON_SMALL_CODE int __Pyx_InitConstants(void) { | |
| __pyx_umethod_PyUnicode_Type_lower.type = (PyObject*)&PyUnicode_Type; | |
| __pyx_umethod_PyUnicode_Type_lower.method_name = &__pyx_n_s_lower; | |
| if (__Pyx_CreateStringTabAndInitStrings() < 0) __PYX_ERR(0, 1, __pyx_L1_error); | |
| return 0; | |
| __pyx_L1_error:; | |
| return -1; | |
| } | |
| /* #### Code section: init_globals ### */ | |
| static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) { | |
| return 0; | |
| } | |
| /* #### Code section: init_module ### */ | |
| static CYTHON_SMALL_CODE int __Pyx_modinit_global_init_code(void); /*proto*/ | |
| static CYTHON_SMALL_CODE int __Pyx_modinit_variable_export_code(void); /*proto*/ | |
| static CYTHON_SMALL_CODE int __Pyx_modinit_function_export_code(void); /*proto*/ | |
| static CYTHON_SMALL_CODE int __Pyx_modinit_type_init_code(void); /*proto*/ | |
| static CYTHON_SMALL_CODE int __Pyx_modinit_type_import_code(void); /*proto*/ | |
| static CYTHON_SMALL_CODE int __Pyx_modinit_variable_import_code(void); /*proto*/ | |
| static CYTHON_SMALL_CODE int __Pyx_modinit_function_import_code(void); /*proto*/ | |
| static int __Pyx_modinit_global_init_code(void) { | |
| __Pyx_RefNannyDeclarations | |
| __Pyx_RefNannySetupContext("__Pyx_modinit_global_init_code", 0); | |
| /*--- Global init code ---*/ | |
| __Pyx_RefNannyFinishContext(); | |
| return 0; | |
| } | |
| static int __Pyx_modinit_variable_export_code(void) { | |
| __Pyx_RefNannyDeclarations | |
| __Pyx_RefNannySetupContext("__Pyx_modinit_variable_export_code", 0); | |
| /*--- Variable export code ---*/ | |
| __Pyx_RefNannyFinishContext(); | |
| return 0; | |
| } | |
| static int __Pyx_modinit_function_export_code(void) { | |
| __Pyx_RefNannyDeclarations | |
| __Pyx_RefNannySetupContext("__Pyx_modinit_function_export_code", 0); | |
| /*--- Function export code ---*/ | |
| __Pyx_RefNannyFinishContext(); | |
| return 0; | |
| } | |
| static int __Pyx_modinit_type_init_code(void) { | |
| __Pyx_RefNannyDeclarations | |
| __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); | |
| /*--- Type init code ---*/ | |
| __Pyx_RefNannyFinishContext(); | |
| return 0; | |
| } | |
| static int __Pyx_modinit_type_import_code(void) { | |
| __Pyx_RefNannyDeclarations | |
| __Pyx_RefNannySetupContext("__Pyx_modinit_type_import_code", 0); | |
| /*--- Type import code ---*/ | |
| __Pyx_RefNannyFinishContext(); | |
| return 0; | |
| } | |
| static int __Pyx_modinit_variable_import_code(void) { | |
| __Pyx_RefNannyDeclarations | |
| __Pyx_RefNannySetupContext("__Pyx_modinit_variable_import_code", 0); | |
| /*--- Variable import code ---*/ | |
| __Pyx_RefNannyFinishContext(); | |
| return 0; | |
| } | |
| static int __Pyx_modinit_function_import_code(void) { | |
| __Pyx_RefNannyDeclarations | |
| __Pyx_RefNannySetupContext("__Pyx_modinit_function_import_code", 0); | |
| /*--- Function import code ---*/ | |
| __Pyx_RefNannyFinishContext(); | |
| return 0; | |
| } | |
| static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/ | |
| static int __pyx_pymod_exec_from_file(PyObject* module); /*proto*/ | |
| static PyModuleDef_Slot __pyx_moduledef_slots[] = { | |
| {Py_mod_create, (void*)__pyx_pymod_create}, | |
| {Py_mod_exec, (void*)__pyx_pymod_exec_from_file}, | |
| {0, NULL} | |
| }; | |
| namespace { | |
| struct PyModuleDef __pyx_moduledef = | |
| static struct PyModuleDef __pyx_moduledef = | |
| { | |
| PyModuleDef_HEAD_INIT, | |
| "from_file", | |
| 0, /* m_doc */ | |
| 0, /* m_size */ | |
| sizeof(__pyx_mstate), /* m_size */ | |
| -1, /* m_size */ | |
| __pyx_methods /* m_methods */, | |
| __pyx_moduledef_slots, /* m_slots */ | |
| NULL, /* m_reload */ | |
| __pyx_m_traverse, /* m_traverse */ | |
| __pyx_m_clear, /* m_clear */ | |
| NULL /* m_free */ | |
| NULL, /* m_traverse */ | |
| NULL, /* m_clear */ | |
| NULL /* m_free */ | |
| }; | |
| } /* anonymous namespace */ | |
| __Pyx_PyMODINIT_FUNC initfrom_file(void) CYTHON_SMALL_CODE; /*proto*/ | |
| __Pyx_PyMODINIT_FUNC initfrom_file(void) | |
| __Pyx_PyMODINIT_FUNC PyInit_from_file(void) CYTHON_SMALL_CODE; /*proto*/ | |
| __Pyx_PyMODINIT_FUNC PyInit_from_file(void) | |
| { | |
| return PyModuleDef_Init(&__pyx_moduledef); | |
| } | |
| static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) { | |
| static PY_INT64_T main_interpreter_id = -1; | |
| PY_INT64_T current_id = PyInterpreterState_GetID(PyThreadState_Get()->interp); | |
| if (main_interpreter_id == -1) { | |
| main_interpreter_id = current_id; | |
| return (unlikely(current_id == -1)) ? -1 : 0; | |
| } else if (unlikely(main_interpreter_id != current_id)) | |
| static PyInterpreterState *main_interpreter = NULL; | |
| PyInterpreterState *current_interpreter = PyThreadState_Get()->interp; | |
| if (!main_interpreter) { | |
| main_interpreter = current_interpreter; | |
| } else if (unlikely(main_interpreter != current_interpreter)) | |
| { | |
| PyErr_SetString( | |
| PyExc_ImportError, | |
| "Interpreter change detected - this module can only be loaded into one interpreter per process."); | |
| return -1; | |
| } | |
| return 0; | |
| } | |
| static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *module, const char* from_name, const char* to_name, int allow_none) | |
| static CYTHON_SMALL_CODE int __Pyx_copy_spec_to_module(PyObject *spec, PyObject *moddict, const char* from_name, const char* to_name, int allow_none) | |
| { | |
| PyObject *value = PyObject_GetAttrString(spec, from_name); | |
| int result = 0; | |
| if (likely(value)) { | |
| if (allow_none || value != Py_None) { | |
| result = PyModule_AddObject(module, to_name, value); | |
| result = PyDict_SetItemString(moddict, to_name, value); | |
| } | |
| Py_DECREF(value); | |
| } else if (PyErr_ExceptionMatches(PyExc_AttributeError)) { | |
| PyErr_Clear(); | |
| } else { | |
| result = -1; | |
| } | |
| return result; | |
| } | |
| static CYTHON_SMALL_CODE PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def) { | |
| PyObject *module = NULL, *moddict, *modname; | |
| CYTHON_UNUSED_VAR(def); | |
| if (__Pyx_check_single_interpreter()) | |
| return NULL; | |
| if (__pyx_m) | |
| return __Pyx_NewRef(__pyx_m); | |
| modname = PyObject_GetAttrString(spec, "name"); | |
| if (unlikely(!modname)) goto bad; | |
| module = PyModule_NewObject(modname); | |
| Py_DECREF(modname); | |
| if (unlikely(!module)) goto bad; | |
| moddict = module; | |
| moddict = PyModule_GetDict(module); | |
| if (unlikely(!moddict)) goto bad; | |
| if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "loader", "__loader__", 1) < 0)) goto bad; | |
| if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "origin", "__file__", 1) < 0)) goto bad; | |
| if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "parent", "__package__", 1) < 0)) goto bad; | |
| if (unlikely(__Pyx_copy_spec_to_module(spec, moddict, "submodule_search_locations", "__path__", 0) < 0)) goto bad; | |
| return module; | |
| bad: | |
| Py_XDECREF(module); | |
| return NULL; | |
| } | |
| static CYTHON_SMALL_CODE int __pyx_pymod_exec_from_file(PyObject *__pyx_pyinit_module) | |
| { | |
| int stringtab_initialized = 0; | |
| int pystate_addmodule_run = 0; | |
| PyObject *__pyx_t_1 = NULL; | |
| PyObject *__pyx_t_2 = NULL; | |
| PyObject *__pyx_t_3 = NULL; | |
| PyObject *__pyx_t_4 = NULL; | |
| PyObject *__pyx_t_5 = NULL; | |
| int __pyx_t_6; | |
| PyObject *__pyx_t_7 = NULL; | |
| PyObject *__pyx_t_8 = NULL; | |
| PyObject *__pyx_t_9 = NULL; | |
| PyObject *__pyx_t_10 = NULL; | |
| PyObject *__pyx_t_11 = NULL; | |
| PyObject *__pyx_t_12 = NULL; | |
| PyObject *__pyx_t_13 = NULL; | |
| int __pyx_lineno = 0; | |
| const char *__pyx_filename = NULL; | |
| int __pyx_clineno = 0; | |
| __Pyx_RefNannyDeclarations | |
| if (__pyx_m) { | |
| if (__pyx_m == __pyx_pyinit_module) return 0; | |
| PyErr_SetString(PyExc_RuntimeError, "Module 'from_file' has already been imported. Re-initialisation is not supported."); | |
| return -1; | |
| } | |
| if (__pyx_m) return __Pyx_NewRef(__pyx_m); | |
| /*--- Module creation code ---*/ | |
| __pyx_m = __pyx_pyinit_module; | |
| Py_INCREF(__pyx_m); | |
| __pyx_m = Py_InitModule4("from_file", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m); | |
| if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) | |
| __pyx_t_1 = PyModule_Create(&__pyx_moduledef); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error) | |
| { | |
| int add_module_result = PyState_AddModule(__pyx_t_1, &__pyx_moduledef); | |
| __pyx_t_1 = 0; /* transfer ownership from __pyx_t_1 to from_file pseudovariable */ | |
| if (unlikely((add_module_result < 0))) __PYX_ERR(0, 1, __pyx_L1_error) | |
| pystate_addmodule_run = 1; | |
| } | |
| __pyx_m = PyModule_Create(&__pyx_moduledef); | |
| if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error) | |
| CYTHON_UNUSED_VAR(__pyx_t_1); | |
| __pyx_d = PyModule_GetDict(__pyx_m); if (unlikely(!__pyx_d)) __PYX_ERR(0, 1, __pyx_L1_error) | |
| Py_INCREF(__pyx_d); | |
| __pyx_b = PyImport_AddModule(__Pyx_BUILTIN_MODULE_NAME); if (unlikely(!__pyx_b)) __PYX_ERR(0, 1, __pyx_L1_error) | |
| Py_INCREF(__pyx_b); | |
| __pyx_cython_runtime = PyImport_AddModule((char *) "cython_runtime"); if (unlikely(!__pyx_cython_runtime)) __PYX_ERR(0, 1, __pyx_L1_error) | |
| Py_INCREF(__pyx_cython_runtime); | |
| if (PyObject_SetAttrString(__pyx_m, "__builtins__", __pyx_b) < 0) __PYX_ERR(0, 1, __pyx_L1_error) | |
| __Pyx_RefNanny = __Pyx_RefNannyImportAPI("refnanny"); | |
| if (!__Pyx_RefNanny) { | |
| PyErr_Clear(); | |
| __Pyx_RefNanny = __Pyx_RefNannyImportAPI("Cython.Runtime.refnanny"); | |
| if (!__Pyx_RefNanny) | |
| Py_FatalError("failed to import 'refnanny' module"); | |
| } | |
| __Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_from_file(void)", 0); | |
| if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error) | |
| __Pxy_PyFrame_Initialize_Offsets(); | |
| __pyx_empty_tuple = PyTuple_New(0); if (unlikely(!__pyx_empty_tuple)) __PYX_ERR(0, 1, __pyx_L1_error) | |
| __pyx_empty_bytes = PyBytes_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_bytes)) __PYX_ERR(0, 1, __pyx_L1_error) | |
| __pyx_empty_unicode = PyUnicode_FromStringAndSize("", 0); if (unlikely(!__pyx_empty_unicode)) __PYX_ERR(0, 1, __pyx_L1_error) | |
| if (__pyx_CyFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) | |
| if (__pyx_FusedFunction_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) | |
| if (__pyx_Coroutine_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) | |
| if (__pyx_Generator_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) | |
| if (__pyx_AsyncGen_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) | |
| if (__pyx_StopAsyncIteration_init(__pyx_m) < 0) __PYX_ERR(0, 1, __pyx_L1_error) | |
| /*--- Library function declarations ---*/ | |
| /*--- Threads initialization code ---*/ | |
| PyEval_InitThreads(); | |
| /*--- Initialize various global constants etc. ---*/ | |
| if (__Pyx_InitConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) | |
| stringtab_initialized = 1; | |
| if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error) | |
| if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error) | |
| if (__pyx_module_is_main_box__from_file) { | |
| if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error) | |
| } | |
| { | |
| PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error) | |
| if (!PyDict_GetItemString(modules, "box.from_file")) { | |
| if (unlikely((PyDict_SetItemString(modules, "box.from_file", __pyx_m) < 0))) __PYX_ERR(0, 1, __pyx_L1_error) | |
| } | |
| } | |
| /*--- Builtin init code ---*/ | |
| if (__Pyx_InitCachedBuiltins() < 0) __PYX_ERR(0, 1, __pyx_L1_error) | |
| /*--- Constants init code ---*/ | |
| if (__Pyx_InitCachedConstants() < 0) __PYX_ERR(0, 1, __pyx_L1_error) | |
| /*--- Global type/function init code ---*/ | |
| (void)__Pyx_modinit_global_init_code(); | |
| (void)__Pyx_modinit_variable_export_code(); | |
| (void)__Pyx_modinit_function_export_code(); | |
| (void)__Pyx_modinit_type_init_code(); | |
| (void)__Pyx_modinit_type_import_code(); | |
| (void)__Pyx_modinit_variable_import_code(); | |
| (void)__Pyx_modinit_function_import_code(); | |
| /*--- Execution code ---*/ | |
| if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) | |
| /* "box/from_file.py":3 | |
| * #!/usr/bin/env python | |
| * # -*- coding: utf-8 -*- | |
| * from json import JSONDecodeError # <<<<<<<<<<<<<< | |
| * from os import PathLike | |
| * from pathlib import Path | |
| */ | |
| __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| __Pyx_INCREF(__pyx_n_s_JSONDecodeError); | |
| __Pyx_GIVEREF(__pyx_n_s_JSONDecodeError); | |
| PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_JSONDecodeError); | |
| __pyx_t_3 = __Pyx_Import(__pyx_n_s_json, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 3, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_JSONDecodeError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 3, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_JSONDecodeError, __pyx_t_2) < 0) __PYX_ERR(0, 3, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| /* "box/from_file.py":4 | |
| * # -*- coding: utf-8 -*- | |
| * from json import JSONDecodeError | |
| * from os import PathLike # <<<<<<<<<<<<<< | |
| * from pathlib import Path | |
| * from typing import Optional, Callable, Dict, Union | |
| */ | |
| __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| __Pyx_INCREF(__pyx_n_s_PathLike); | |
| __Pyx_GIVEREF(__pyx_n_s_PathLike); | |
| PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_PathLike); | |
| __pyx_t_2 = __Pyx_Import(__pyx_n_s_os, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 4, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_PathLike); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 4, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_PathLike, __pyx_t_3) < 0) __PYX_ERR(0, 4, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| /* "box/from_file.py":5 | |
| * from json import JSONDecodeError | |
| * from os import PathLike | |
| * from pathlib import Path # <<<<<<<<<<<<<< | |
| * from typing import Optional, Callable, Dict, Union | |
| * import sys | |
| */ | |
| __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| __Pyx_INCREF(__pyx_n_s_Path); | |
| __Pyx_GIVEREF(__pyx_n_s_Path); | |
| PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Path); | |
| __pyx_t_3 = __Pyx_Import(__pyx_n_s_pathlib, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 5, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_Path); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_Path, __pyx_t_2) < 0) __PYX_ERR(0, 5, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| /* "box/from_file.py":6 | |
| * from os import PathLike | |
| * from pathlib import Path | |
| * from typing import Optional, Callable, Dict, Union # <<<<<<<<<<<<<< | |
| * import sys | |
| * | |
| */ | |
| __pyx_t_3 = PyList_New(4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| __Pyx_INCREF(__pyx_n_s_Optional); | |
| __Pyx_GIVEREF(__pyx_n_s_Optional); | |
| PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_Optional); | |
| __Pyx_INCREF(__pyx_n_s_Callable); | |
| __Pyx_GIVEREF(__pyx_n_s_Callable); | |
| PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_s_Callable); | |
| __Pyx_INCREF(__pyx_n_s_Dict); | |
| __Pyx_GIVEREF(__pyx_n_s_Dict); | |
| PyList_SET_ITEM(__pyx_t_3, 2, __pyx_n_s_Dict); | |
| __Pyx_INCREF(__pyx_n_s_Union); | |
| __Pyx_GIVEREF(__pyx_n_s_Union); | |
| PyList_SET_ITEM(__pyx_t_3, 3, __pyx_n_s_Union); | |
| __pyx_t_2 = __Pyx_Import(__pyx_n_s_typing, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 6, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Optional); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_Optional, __pyx_t_3) < 0) __PYX_ERR(0, 6, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Callable); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_Callable, __pyx_t_3) < 0) __PYX_ERR(0, 6, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Dict); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_Dict, __pyx_t_3) < 0) __PYX_ERR(0, 6, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Union); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 6, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_Union, __pyx_t_3) < 0) __PYX_ERR(0, 6, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| /* "box/from_file.py":7 | |
| * from pathlib import Path | |
| * from typing import Optional, Callable, Dict, Union | |
| * import sys # <<<<<<<<<<<<<< | |
| * | |
| * from box.box import Box | |
| */ | |
| __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_sys, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_2) < 0) __PYX_ERR(0, 7, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| /* "box/from_file.py":9 | |
| * import sys | |
| * | |
| * from box.box import Box # <<<<<<<<<<<<<< | |
| * from box.box_list import BoxList | |
| * from box.converters import msgpack_available, toml_read_library, yaml_available, toml_decode_error | |
| */ | |
| __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| __Pyx_INCREF(__pyx_n_s_Box); | |
| __Pyx_GIVEREF(__pyx_n_s_Box); | |
| PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Box); | |
| __pyx_t_3 = __Pyx_Import(__pyx_n_s_box_box, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 9, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_Box); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_Box, __pyx_t_2) < 0) __PYX_ERR(0, 9, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| /* "box/from_file.py":10 | |
| * | |
| * from box.box import Box | |
| * from box.box_list import BoxList # <<<<<<<<<<<<<< | |
| * from box.converters import msgpack_available, toml_read_library, yaml_available, toml_decode_error | |
| * from box.exceptions import BoxError | |
| */ | |
| __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| __Pyx_INCREF(__pyx_n_s_BoxList); | |
| __Pyx_GIVEREF(__pyx_n_s_BoxList); | |
| PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_BoxList); | |
| __pyx_t_2 = __Pyx_Import(__pyx_n_s_box_box_list, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_BoxList); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 10, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_BoxList, __pyx_t_3) < 0) __PYX_ERR(0, 10, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| /* "box/from_file.py":11 | |
| * from box.box import Box | |
| * from box.box_list import BoxList | |
| * from box.converters import msgpack_available, toml_read_library, yaml_available, toml_decode_error # <<<<<<<<<<<<<< | |
| * from box.exceptions import BoxError | |
| * | |
| */ | |
| __pyx_t_2 = PyList_New(4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| __Pyx_INCREF(__pyx_n_s_msgpack_available); | |
| __Pyx_GIVEREF(__pyx_n_s_msgpack_available); | |
| PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_msgpack_available); | |
| __Pyx_INCREF(__pyx_n_s_toml_read_library); | |
| __Pyx_GIVEREF(__pyx_n_s_toml_read_library); | |
| PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_toml_read_library); | |
| __Pyx_INCREF(__pyx_n_s_yaml_available); | |
| __Pyx_GIVEREF(__pyx_n_s_yaml_available); | |
| PyList_SET_ITEM(__pyx_t_2, 2, __pyx_n_s_yaml_available); | |
| __Pyx_INCREF(__pyx_n_s_toml_decode_error); | |
| __Pyx_GIVEREF(__pyx_n_s_toml_decode_error); | |
| PyList_SET_ITEM(__pyx_t_2, 3, __pyx_n_s_toml_decode_error); | |
| __pyx_t_3 = __Pyx_Import(__pyx_n_s_box_converters, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 11, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_msgpack_available); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_msgpack_available, __pyx_t_2) < 0) __PYX_ERR(0, 11, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_toml_read_library); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_toml_read_library, __pyx_t_2) < 0) __PYX_ERR(0, 11, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_yaml_available); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_yaml_available, __pyx_t_2) < 0) __PYX_ERR(0, 11, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_toml_decode_error); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_toml_decode_error, __pyx_t_2) < 0) __PYX_ERR(0, 11, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| /* "box/from_file.py":12 | |
| * from box.box_list import BoxList | |
| * from box.converters import msgpack_available, toml_read_library, yaml_available, toml_decode_error | |
| * from box.exceptions import BoxError # <<<<<<<<<<<<<< | |
| * | |
| * try: | |
| */ | |
| __pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| __Pyx_INCREF(__pyx_n_s_BoxError); | |
| __Pyx_GIVEREF(__pyx_n_s_BoxError); | |
| PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_BoxError); | |
| __pyx_t_2 = __Pyx_Import(__pyx_n_s_box_exceptions, __pyx_t_3, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| __pyx_t_3 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_BoxError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 12, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_BoxError, __pyx_t_3) < 0) __PYX_ERR(0, 12, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| /* "box/from_file.py":14 | |
| * from box.exceptions import BoxError | |
| * | |
| * try: # <<<<<<<<<<<<<< | |
| * from ruamel.yaml import YAMLError | |
| * except ImportError: | |
| */ | |
| { | |
| __Pyx_PyThreadState_declare | |
| __Pyx_PyThreadState_assign | |
| __Pyx_ExceptionSave(&__pyx_t_1, &__pyx_t_4, &__pyx_t_5); | |
| __Pyx_XGOTREF(__pyx_t_1); | |
| __Pyx_XGOTREF(__pyx_t_4); | |
| __Pyx_XGOTREF(__pyx_t_5); | |
| /*try:*/ { | |
| /* "box/from_file.py":15 | |
| * | |
| * try: | |
| * from ruamel.yaml import YAMLError # <<<<<<<<<<<<<< | |
| * except ImportError: | |
| * try: | |
| */ | |
| __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L2_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| __Pyx_INCREF(__pyx_n_s_YAMLError); | |
| __Pyx_GIVEREF(__pyx_n_s_YAMLError); | |
| PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_YAMLError); | |
| __pyx_t_3 = __Pyx_Import(__pyx_n_s_ruamel_yaml, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 15, __pyx_L2_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_YAMLError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 15, __pyx_L2_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_YAMLError, __pyx_t_2) < 0) __PYX_ERR(0, 15, __pyx_L2_error) | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| /* "box/from_file.py":14 | |
| * from box.exceptions import BoxError | |
| * | |
| * try: # <<<<<<<<<<<<<< | |
| * from ruamel.yaml import YAMLError | |
| * except ImportError: | |
| */ | |
| } | |
| __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| goto __pyx_L7_try_end; | |
| __pyx_L2_error:; | |
| __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| /* "box/from_file.py":16 | |
| * try: | |
| * from ruamel.yaml import YAMLError | |
| * except ImportError: # <<<<<<<<<<<<<< | |
| * try: | |
| * from yaml import YAMLError # type: ignore | |
| */ | |
| __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError); | |
| if (__pyx_t_6) { | |
| __Pyx_AddTraceback("box.from_file", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_7) < 0) __PYX_ERR(0, 16, __pyx_L4_except_error) | |
| __Pyx_XGOTREF(__pyx_t_3); | |
| __Pyx_XGOTREF(__pyx_t_2); | |
| __Pyx_XGOTREF(__pyx_t_7); | |
| /* "box/from_file.py":17 | |
| * from ruamel.yaml import YAMLError | |
| * except ImportError: | |
| * try: # <<<<<<<<<<<<<< | |
| * from yaml import YAMLError # type: ignore | |
| * except ImportError: | |
| */ | |
| { | |
| __Pyx_PyThreadState_declare | |
| __Pyx_PyThreadState_assign | |
| __Pyx_ExceptionSave(&__pyx_t_8, &__pyx_t_9, &__pyx_t_10); | |
| __Pyx_XGOTREF(__pyx_t_8); | |
| __Pyx_XGOTREF(__pyx_t_9); | |
| __Pyx_XGOTREF(__pyx_t_10); | |
| /*try:*/ { | |
| /* "box/from_file.py":18 | |
| * except ImportError: | |
| * try: | |
| * from yaml import YAMLError # type: ignore # <<<<<<<<<<<<<< | |
| * except ImportError: | |
| * YAMLError = False # type: ignore | |
| */ | |
| __pyx_t_11 = PyList_New(1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 18, __pyx_L10_error) | |
| __Pyx_GOTREF(__pyx_t_11); | |
| __Pyx_INCREF(__pyx_n_s_YAMLError); | |
| __Pyx_GIVEREF(__pyx_n_s_YAMLError); | |
| PyList_SET_ITEM(__pyx_t_11, 0, __pyx_n_s_YAMLError); | |
| __pyx_t_12 = __Pyx_Import(__pyx_n_s_yaml, __pyx_t_11, 0); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 18, __pyx_L10_error) | |
| __Pyx_GOTREF(__pyx_t_12); | |
| __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
| __pyx_t_11 = __Pyx_ImportFrom(__pyx_t_12, __pyx_n_s_YAMLError); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 18, __pyx_L10_error) | |
| __Pyx_GOTREF(__pyx_t_11); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_YAMLError, __pyx_t_11) < 0) __PYX_ERR(0, 18, __pyx_L10_error) | |
| __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; | |
| __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; | |
| /* "box/from_file.py":17 | |
| * from ruamel.yaml import YAMLError | |
| * except ImportError: | |
| * try: # <<<<<<<<<<<<<< | |
| * from yaml import YAMLError # type: ignore | |
| * except ImportError: | |
| */ | |
| } | |
| __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; | |
| __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; | |
| __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; | |
| goto __pyx_L17_try_end; | |
| __pyx_L10_error:; | |
| __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; | |
| __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
| /* "box/from_file.py":19 | |
| * try: | |
| * from yaml import YAMLError # type: ignore | |
| * except ImportError: # <<<<<<<<<<<<<< | |
| * YAMLError = False # type: ignore | |
| * | |
| */ | |
| __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError); | |
| if (__pyx_t_6) { | |
| __Pyx_AddTraceback("box.from_file", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| if (__Pyx_GetException(&__pyx_t_12, &__pyx_t_11, &__pyx_t_13) < 0) __PYX_ERR(0, 19, __pyx_L12_except_error) | |
| __Pyx_XGOTREF(__pyx_t_12); | |
| __Pyx_XGOTREF(__pyx_t_11); | |
| __Pyx_XGOTREF(__pyx_t_13); | |
| /* "box/from_file.py":20 | |
| * from yaml import YAMLError # type: ignore | |
| * except ImportError: | |
| * YAMLError = False # type: ignore # <<<<<<<<<<<<<< | |
| * | |
| * try: | |
| */ | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_YAMLError, Py_False) < 0) __PYX_ERR(0, 20, __pyx_L12_except_error) | |
| __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
| __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; | |
| __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; | |
| goto __pyx_L11_exception_handled; | |
| } | |
| goto __pyx_L12_except_error; | |
| /* "box/from_file.py":17 | |
| * from ruamel.yaml import YAMLError | |
| * except ImportError: | |
| * try: # <<<<<<<<<<<<<< | |
| * from yaml import YAMLError # type: ignore | |
| * except ImportError: | |
| */ | |
| __pyx_L12_except_error:; | |
| __Pyx_XGIVEREF(__pyx_t_8); | |
| __Pyx_XGIVEREF(__pyx_t_9); | |
| __Pyx_XGIVEREF(__pyx_t_10); | |
| __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); | |
| goto __pyx_L4_except_error; | |
| __pyx_L11_exception_handled:; | |
| __Pyx_XGIVEREF(__pyx_t_8); | |
| __Pyx_XGIVEREF(__pyx_t_9); | |
| __Pyx_XGIVEREF(__pyx_t_10); | |
| __Pyx_ExceptionReset(__pyx_t_8, __pyx_t_9, __pyx_t_10); | |
| __pyx_L17_try_end:; | |
| } | |
| __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| goto __pyx_L3_exception_handled; | |
| } | |
| goto __pyx_L4_except_error; | |
| /* "box/from_file.py":14 | |
| * from box.exceptions import BoxError | |
| * | |
| * try: # <<<<<<<<<<<<<< | |
| * from ruamel.yaml import YAMLError | |
| * except ImportError: | |
| */ | |
| __pyx_L4_except_error:; | |
| __Pyx_XGIVEREF(__pyx_t_1); | |
| __Pyx_XGIVEREF(__pyx_t_4); | |
| __Pyx_XGIVEREF(__pyx_t_5); | |
| __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_4, __pyx_t_5); | |
| goto __pyx_L1_error; | |
| __pyx_L3_exception_handled:; | |
| __Pyx_XGIVEREF(__pyx_t_1); | |
| __Pyx_XGIVEREF(__pyx_t_4); | |
| __Pyx_XGIVEREF(__pyx_t_5); | |
| __Pyx_ExceptionReset(__pyx_t_1, __pyx_t_4, __pyx_t_5); | |
| __pyx_L7_try_end:; | |
| } | |
| /* "box/from_file.py":22 | |
| * YAMLError = False # type: ignore | |
| * | |
| * try: # <<<<<<<<<<<<<< | |
| * from msgpack import UnpackException # type: ignore | |
| * except ImportError: | |
| */ | |
| { | |
| __Pyx_PyThreadState_declare | |
| __Pyx_PyThreadState_assign | |
| __Pyx_ExceptionSave(&__pyx_t_5, &__pyx_t_4, &__pyx_t_1); | |
| __Pyx_XGOTREF(__pyx_t_5); | |
| __Pyx_XGOTREF(__pyx_t_4); | |
| __Pyx_XGOTREF(__pyx_t_1); | |
| /*try:*/ { | |
| /* "box/from_file.py":23 | |
| * | |
| * try: | |
| * from msgpack import UnpackException # type: ignore # <<<<<<<<<<<<<< | |
| * except ImportError: | |
| * UnpackException = False # type: ignore | |
| */ | |
| __pyx_t_7 = PyList_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 23, __pyx_L20_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| __Pyx_INCREF(__pyx_n_s_UnpackException); | |
| __Pyx_GIVEREF(__pyx_n_s_UnpackException); | |
| PyList_SET_ITEM(__pyx_t_7, 0, __pyx_n_s_UnpackException); | |
| __pyx_t_2 = __Pyx_Import(__pyx_n_s_msgpack, __pyx_t_7, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L20_error) | |
| __Pyx_GOTREF(__pyx_t_2); | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| __pyx_t_7 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_UnpackException); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 23, __pyx_L20_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_UnpackException, __pyx_t_7) < 0) __PYX_ERR(0, 23, __pyx_L20_error) | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| /* "box/from_file.py":22 | |
| * YAMLError = False # type: ignore | |
| * | |
| * try: # <<<<<<<<<<<<<< | |
| * from msgpack import UnpackException # type: ignore | |
| * except ImportError: | |
| */ | |
| } | |
| __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; | |
| __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; | |
| __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0; | |
| goto __pyx_L25_try_end; | |
| __pyx_L20_error:; | |
| __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; | |
| __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; | |
| __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; | |
| __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| /* "box/from_file.py":24 | |
| * try: | |
| * from msgpack import UnpackException # type: ignore | |
| * except ImportError: # <<<<<<<<<<<<<< | |
| * UnpackException = False # type: ignore | |
| * | |
| */ | |
| __pyx_t_6 = __Pyx_PyErr_ExceptionMatches(__pyx_builtin_ImportError); | |
| if (__pyx_t_6) { | |
| __Pyx_AddTraceback("box.from_file", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| if (__Pyx_GetException(&__pyx_t_2, &__pyx_t_7, &__pyx_t_3) < 0) __PYX_ERR(0, 24, __pyx_L22_except_error) | |
| __Pyx_XGOTREF(__pyx_t_2); | |
| __Pyx_XGOTREF(__pyx_t_7); | |
| __Pyx_XGOTREF(__pyx_t_3); | |
| /* "box/from_file.py":25 | |
| * from msgpack import UnpackException # type: ignore | |
| * except ImportError: | |
| * UnpackException = False # type: ignore # <<<<<<<<<<<<<< | |
| * | |
| * | |
| */ | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_UnpackException, Py_False) < 0) __PYX_ERR(0, 25, __pyx_L22_except_error) | |
| __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; | |
| __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| goto __pyx_L21_exception_handled; | |
| } | |
| goto __pyx_L22_except_error; | |
| /* "box/from_file.py":22 | |
| * YAMLError = False # type: ignore | |
| * | |
| * try: # <<<<<<<<<<<<<< | |
| * from msgpack import UnpackException # type: ignore | |
| * except ImportError: | |
| */ | |
| __pyx_L22_except_error:; | |
| __Pyx_XGIVEREF(__pyx_t_5); | |
| __Pyx_XGIVEREF(__pyx_t_4); | |
| __Pyx_XGIVEREF(__pyx_t_1); | |
| __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_1); | |
| goto __pyx_L1_error; | |
| __pyx_L21_exception_handled:; | |
| __Pyx_XGIVEREF(__pyx_t_5); | |
| __Pyx_XGIVEREF(__pyx_t_4); | |
| __Pyx_XGIVEREF(__pyx_t_1); | |
| __Pyx_ExceptionReset(__pyx_t_5, __pyx_t_4, __pyx_t_1); | |
| __pyx_L25_try_end:; | |
| } | |
| /* "box/from_file.py":28 | |
| * | |
| * | |
| * __all__ = ["box_from_file", "box_from_string"] # <<<<<<<<<<<<<< | |
| * | |
| * | |
| */ | |
| __pyx_t_3 = PyList_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 28, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| __Pyx_INCREF(__pyx_n_u_box_from_file); | |
| __Pyx_GIVEREF(__pyx_n_u_box_from_file); | |
| PyList_SET_ITEM(__pyx_t_3, 0, __pyx_n_u_box_from_file); | |
| __Pyx_INCREF(__pyx_n_u_box_from_string); | |
| __Pyx_GIVEREF(__pyx_n_u_box_from_string); | |
| PyList_SET_ITEM(__pyx_t_3, 1, __pyx_n_u_box_from_string); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_all, __pyx_t_3) < 0) __PYX_ERR(0, 28, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| /* "box/from_file.py":31 | |
| * | |
| * | |
| * def _to_json(file, encoding, errors, **kwargs): # <<<<<<<<<<<<<< | |
| * try: | |
| * return Box.from_json(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| */ | |
| __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_3box_9from_file_1_to_json, 0, __pyx_n_s_to_json, NULL, __pyx_n_s_box_from_file_2, __pyx_d, ((PyObject *)__pyx_codeobj__7)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 31, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_to_json, __pyx_t_3) < 0) __PYX_ERR(0, 31, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| /* "box/from_file.py":40 | |
| * | |
| * | |
| * def _to_csv(file, encoding, errors, **kwargs): # <<<<<<<<<<<<<< | |
| * return BoxList.from_csv(filename=file, encoding=encoding, errors=errors, **kwargs) | |
| * | |
| */ | |
| __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_3box_9from_file_3_to_csv, 0, __pyx_n_s_to_csv, NULL, __pyx_n_s_box_from_file_2, __pyx_d, ((PyObject *)__pyx_codeobj__8)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 40, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_to_csv, __pyx_t_3) < 0) __PYX_ERR(0, 40, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| /* "box/from_file.py":44 | |
| * | |
| * | |
| * def _to_yaml(file, encoding, errors, **kwargs): # <<<<<<<<<<<<<< | |
| * if not yaml_available: | |
| * raise BoxError( | |
| */ | |
| __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_3box_9from_file_5_to_yaml, 0, __pyx_n_s_to_yaml, NULL, __pyx_n_s_box_from_file_2, __pyx_d, ((PyObject *)__pyx_codeobj__9)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 44, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_to_yaml, __pyx_t_3) < 0) __PYX_ERR(0, 44, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| /* "box/from_file.py":57 | |
| * | |
| * | |
| * def _to_toml(file, encoding, errors, **kwargs): # <<<<<<<<<<<<<< | |
| * if not toml_read_library: | |
| * raise BoxError(f'File "{file}" is toml but no package is available to open it. Please install "tomli"') | |
| */ | |
| __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_3box_9from_file_7_to_toml, 0, __pyx_n_s_to_toml, NULL, __pyx_n_s_box_from_file_2, __pyx_d, ((PyObject *)__pyx_codeobj__10)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 57, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_to_toml, __pyx_t_3) < 0) __PYX_ERR(0, 57, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| /* "box/from_file.py":66 | |
| * | |
| * | |
| * def _to_msgpack(file, _, __, **kwargs): # <<<<<<<<<<<<<< | |
| * if not msgpack_available: | |
| * raise BoxError(f'File "{file}" is msgpack but no package is available to open it. Please install "msgpack"') | |
| */ | |
| __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_3box_9from_file_9_to_msgpack, 0, __pyx_n_s_to_msgpack, NULL, __pyx_n_s_box_from_file_2, __pyx_d, ((PyObject *)__pyx_codeobj__12)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 66, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_to_msgpack, __pyx_t_3) < 0) __PYX_ERR(0, 66, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| /* "box/from_file.py":78 | |
| * | |
| * converters = { | |
| * "json": _to_json, # <<<<<<<<<<<<<< | |
| * "jsn": _to_json, | |
| * "yaml": _to_yaml, | |
| */ | |
| __pyx_t_3 = __Pyx_PyDict_NewPresized(9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 78, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_to_json); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 78, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_json, __pyx_t_7) < 0) __PYX_ERR(0, 78, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| /* "box/from_file.py":79 | |
| * converters = { | |
| * "json": _to_json, | |
| * "jsn": _to_json, # <<<<<<<<<<<<<< | |
| * "yaml": _to_yaml, | |
| * "yml": _to_yaml, | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_to_json); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 79, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_jsn, __pyx_t_7) < 0) __PYX_ERR(0, 78, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| /* "box/from_file.py":80 | |
| * "json": _to_json, | |
| * "jsn": _to_json, | |
| * "yaml": _to_yaml, # <<<<<<<<<<<<<< | |
| * "yml": _to_yaml, | |
| * "toml": _to_toml, | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_to_yaml); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 80, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_yaml, __pyx_t_7) < 0) __PYX_ERR(0, 78, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| /* "box/from_file.py":81 | |
| * "jsn": _to_json, | |
| * "yaml": _to_yaml, | |
| * "yml": _to_yaml, # <<<<<<<<<<<<<< | |
| * "toml": _to_toml, | |
| * "tml": _to_toml, | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_to_yaml); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 81, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_yml, __pyx_t_7) < 0) __PYX_ERR(0, 78, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| /* "box/from_file.py":82 | |
| * "yaml": _to_yaml, | |
| * "yml": _to_yaml, | |
| * "toml": _to_toml, # <<<<<<<<<<<<<< | |
| * "tml": _to_toml, | |
| * "msgpack": _to_msgpack, | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_to_toml); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 82, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_toml, __pyx_t_7) < 0) __PYX_ERR(0, 78, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| /* "box/from_file.py":83 | |
| * "yml": _to_yaml, | |
| * "toml": _to_toml, | |
| * "tml": _to_toml, # <<<<<<<<<<<<<< | |
| * "msgpack": _to_msgpack, | |
| * "pack": _to_msgpack, | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_to_toml); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 83, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_tml, __pyx_t_7) < 0) __PYX_ERR(0, 78, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| /* "box/from_file.py":84 | |
| * "toml": _to_toml, | |
| * "tml": _to_toml, | |
| * "msgpack": _to_msgpack, # <<<<<<<<<<<<<< | |
| * "pack": _to_msgpack, | |
| * "csv": _to_csv, | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_to_msgpack); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 84, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_msgpack, __pyx_t_7) < 0) __PYX_ERR(0, 78, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| /* "box/from_file.py":85 | |
| * "tml": _to_toml, | |
| * "msgpack": _to_msgpack, | |
| * "pack": _to_msgpack, # <<<<<<<<<<<<<< | |
| * "csv": _to_csv, | |
| * } # type: Dict[str, Callable] | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_to_msgpack); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 85, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_pack, __pyx_t_7) < 0) __PYX_ERR(0, 78, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| /* "box/from_file.py":86 | |
| * "msgpack": _to_msgpack, | |
| * "pack": _to_msgpack, | |
| * "csv": _to_csv, # <<<<<<<<<<<<<< | |
| * } # type: Dict[str, Callable] | |
| * | |
| */ | |
| __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_to_csv); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 86, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_u_csv, __pyx_t_7) < 0) __PYX_ERR(0, 78, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_converters, __pyx_t_3) < 0) __PYX_ERR(0, 77, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| /* "box/from_file.py":90 | |
| * | |
| * | |
| * def box_from_file( # <<<<<<<<<<<<<< | |
| * file: Union[str, PathLike], | |
| * file_type: Optional[str] = None, | |
| */ | |
| __pyx_t_3 = __Pyx_PyDict_NewPresized(5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 90, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_file, __pyx_kp_s_Union_str_PathLike) < 0) __PYX_ERR(0, 90, __pyx_L1_error) | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_file_type, __pyx_kp_s_Optional_str) < 0) __PYX_ERR(0, 90, __pyx_L1_error) | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_encoding, __pyx_n_s_str) < 0) __PYX_ERR(0, 90, __pyx_L1_error) | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_errors, __pyx_n_s_str) < 0) __PYX_ERR(0, 90, __pyx_L1_error) | |
| if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_return, __pyx_kp_s_Union_Box_BoxList) < 0) __PYX_ERR(0, 90, __pyx_L1_error) | |
| __pyx_t_7 = __Pyx_CyFunction_New(&__pyx_mdef_3box_9from_file_11box_from_file, 0, __pyx_n_s_box_from_file, NULL, __pyx_n_s_box_from_file_2, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 90, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_7, __pyx_tuple__15); | |
| __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_7, __pyx_t_3); | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_box_from_file, __pyx_t_7) < 0) __PYX_ERR(0, 90, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| /* "box/from_file.py":118 | |
| * | |
| * | |
| * def box_from_string(content: str, string_type: str = "json") -> Union[Box, BoxList]: # <<<<<<<<<<<<<< | |
| * """ | |
| * Parse the provided string into a Box or BoxList object as appropriate. | |
| */ | |
| __pyx_t_7 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 118, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_7); | |
| if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_content, __pyx_n_s_str) < 0) __PYX_ERR(0, 118, __pyx_L1_error) | |
| if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_string_type, __pyx_n_s_str) < 0) __PYX_ERR(0, 118, __pyx_L1_error) | |
| if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_return, __pyx_kp_s_Union_Box_BoxList) < 0) __PYX_ERR(0, 118, __pyx_L1_error) | |
| __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_3box_9from_file_13box_from_string, 0, __pyx_n_s_box_from_string, NULL, __pyx_n_s_box_from_file_2, __pyx_d, ((PyObject *)__pyx_codeobj__17)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 118, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_tuple__18); | |
| __Pyx_CyFunction_SetAnnotationsDict(__pyx_t_3, __pyx_t_7); | |
| __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_box_from_string, __pyx_t_3) < 0) __PYX_ERR(0, 118, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| /* "box/from_file.py":1 | |
| * #!/usr/bin/env python # <<<<<<<<<<<<<< | |
| * # -*- coding: utf-8 -*- | |
| * from json import JSONDecodeError | |
| */ | |
| __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error) | |
| __Pyx_GOTREF(__pyx_t_3); | |
| if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_3) < 0) __PYX_ERR(0, 1, __pyx_L1_error) | |
| __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; | |
| /*--- Wrapped vars code ---*/ | |
| goto __pyx_L0; | |
| __pyx_L1_error:; | |
| __Pyx_XDECREF(__pyx_t_2); | |
| __Pyx_XDECREF(__pyx_t_3); | |
| __Pyx_XDECREF(__pyx_t_7); | |
| __Pyx_XDECREF(__pyx_t_11); | |
| __Pyx_XDECREF(__pyx_t_12); | |
| __Pyx_XDECREF(__pyx_t_13); | |
| if (__pyx_m) { | |
| if (__pyx_d && stringtab_initialized) { | |
| __Pyx_AddTraceback("init box.from_file", __pyx_clineno, __pyx_lineno, __pyx_filename); | |
| } | |
| Py_CLEAR(__pyx_m); | |
| Py_DECREF(__pyx_m); | |
| if (pystate_addmodule_run) { | |
| PyObject *tp, *value, *tb; | |
| PyErr_Fetch(&tp, &value, &tb); | |
| PyState_RemoveModule(&__pyx_moduledef); | |
| PyErr_Restore(tp, value, tb); | |
| } | |
| } else if (!PyErr_Occurred()) { | |
| PyErr_SetString(PyExc_ImportError, "init box.from_file"); | |
| } | |
| __pyx_L0:; | |
| __Pyx_RefNannyFinishContext(); | |
| return (__pyx_m != NULL) ? 0 : -1; | |
| return __pyx_m; | |
| return; | |
| } | |
| /* #### Code section: cleanup_globals ### */ | |
| /* #### Code section: cleanup_module ### */ | |
| /* #### Code section: main_method ### */ | |
| /* #### Code section: utility_code_pragmas ### */ | |
| /* Warning 4127: conditional expression is constant | |
| * Cython uses constant conditional expressions to allow in inline functions to be optimized at | |
| * compile-time, so this warning is not useful | |
| */ | |
| /* #### Code section: utility_code_def ### */ | |
| /* --- Runtime support code --- */ | |
| /* Refnanny */ | |
| static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname) { | |
| PyObject *m = NULL, *p = NULL; | |
| void *r = NULL; | |
| m = PyImport_ImportModule(modname); | |
| if (!m) goto end; | |
| p = PyObject_GetAttrString(m, "RefNannyAPI"); | |
| if (!p) goto end; | |
| r = PyLong_AsVoidPtr(p); | |
| end: | |
| Py_XDECREF(p); | |
| Py_XDECREF(m); | |
| return (__Pyx_RefNannyAPIStruct *)r; | |
| } | |
| /* PyErrExceptionMatches */ | |
| static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { | |
| Py_ssize_t i, n; | |
| n = PyTuple_GET_SIZE(tuple); | |
| for (i=0; i<n; i++) { | |
| if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1; | |
| } | |
| for (i=0; i<n; i++) { | |
| if (__Pyx_PyErr_GivenExceptionMatches(exc_type, PyTuple_GET_ITEM(tuple, i))) return 1; | |
| } | |
| return 0; | |
| } | |
| static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err) { | |
| int result; | |
| PyObject *exc_type; | |
| PyObject *current_exception = tstate->current_exception; | |
| if (unlikely(!current_exception)) return 0; | |
| exc_type = (PyObject*) Py_TYPE(current_exception); | |
| if (exc_type == err) return 1; | |
| exc_type = tstate->curexc_type; | |
| if (exc_type == err) return 1; | |
| if (unlikely(!exc_type)) return 0; | |
| Py_INCREF(exc_type); | |
| if (unlikely(PyTuple_Check(err))) { | |
| result = __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err); | |
| } else { | |
| result = __Pyx_PyErr_GivenExceptionMatches(exc_type, err); | |
| } | |
| Py_DECREF(exc_type); | |
| return result; | |
| } | |
| /* PyErrFetchRestore */ | |
| static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { | |
| PyObject *tmp_value; | |
| assert(type == NULL || (value != NULL && type == (PyObject*) Py_TYPE(value))); | |
| if (value) { | |
| if (unlikely(((PyBaseExceptionObject*) value)->traceback != tb)) | |
| PyException_SetTraceback(value, tb); | |
| } | |
| tmp_value = tstate->current_exception; | |
| tstate->current_exception = value; | |
| Py_XDECREF(tmp_value); | |
| PyObject *tmp_type, *tmp_value, *tmp_tb; | |
| tmp_type = tstate->curexc_type; | |
| tmp_value = tstate->curexc_value; | |
| tmp_tb = tstate->curexc_traceback; | |
| tstate->curexc_type = type; | |
| tstate->curexc_value = value; | |
| tstate->curexc_traceback = tb; | |
| Py_XDECREF(tmp_type); | |
| Py_XDECREF(tmp_value); | |
| Py_XDECREF(tmp_tb); | |
| } | |
| static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { | |
| PyObject* exc_value; | |
| exc_value = tstate->current_exception; | |
| tstate->current_exception = 0; | |
| *value = exc_value; | |
| *type = NULL; | |
| *tb = NULL; | |
| if (exc_value) { | |
| *type = (PyObject*) Py_TYPE(exc_value); | |
| Py_INCREF(*type); | |
| *tb = ((PyBaseExceptionObject*) exc_value)->traceback; | |
| Py_XINCREF(*tb); | |
| *tb = PyException_GetTraceback(exc_value); | |
| } | |
| *type = tstate->curexc_type; | |
| *value = tstate->curexc_value; | |
| *tb = tstate->curexc_traceback; | |
| tstate->curexc_type = 0; | |
| tstate->curexc_value = 0; | |
| tstate->curexc_traceback = 0; | |
| } | |
| /* PyObjectGetAttrStr */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name) { | |
| PyTypeObject* tp = Py_TYPE(obj); | |
| if (likely(tp->tp_getattro)) | |
| return tp->tp_getattro(obj, attr_name); | |
| if (likely(tp->tp_getattr)) | |
| return tp->tp_getattr(obj, PyString_AS_STRING(attr_name)); | |
| return PyObject_GetAttr(obj, attr_name); | |
| } | |
| /* PyObjectGetAttrStrNoError */ | |
| static void __Pyx_PyObject_GetAttrStr_ClearAttributeError(void) { | |
| __Pyx_PyThreadState_declare | |
| __Pyx_PyThreadState_assign | |
| if (likely(__Pyx_PyErr_ExceptionMatches(PyExc_AttributeError))) | |
| __Pyx_PyErr_Clear(); | |
| } | |
| static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStrNoError(PyObject* obj, PyObject* attr_name) { | |
| PyObject *result; | |
| PyTypeObject* tp = Py_TYPE(obj); | |
| if (likely(tp->tp_getattro == PyObject_GenericGetAttr)) { | |
| return _PyObject_GenericGetAttrWithDict(obj, attr_name, NULL, 1); | |
| } | |
| result = __Pyx_PyObject_GetAttrStr(obj, attr_name); | |
| if (unlikely(!result)) { | |
| __Pyx_PyObject_GetAttrStr_ClearAttributeError(); | |
| } | |
| return result; | |
| } | |
| /* GetBuiltinName */ | |
| static PyObject *__Pyx_GetBuiltinName(PyObject *name) { | |
| PyObject* result = __Pyx_PyObject_GetAttrStrNoError(__pyx_b, name); | |
| if (unlikely(!result) && !PyErr_Occurred()) { | |
| PyErr_Format(PyExc_NameError, | |
| "name '%U' is not defined", name); | |
| "name '%.200s' is not defined", PyString_AS_STRING(name)); | |
| } | |
| return result; | |
| } | |
| /* TupleAndListFromArray */ | |
| static CYTHON_INLINE void __Pyx_copy_object_array(PyObject *const *CYTHON_RESTRICT src, PyObject** CYTHON_RESTRICT dest, Py_ssize_t length) { | |
| PyObject *v; | |
| Py_ssize_t i; | |
| for (i = 0; i < length; i++) { | |
| v = dest[i] = src[i]; | |
| Py_INCREF(v); | |
| } | |
| } | |
| static CYTHON_INLINE PyObject * | |
| __Pyx_PyTuple_FromArray(PyObject *const *src, Py_ssize_t n) | |
| { | |
| PyObject *res; | |
| if (n <= 0) { | |
| Py_INCREF(__pyx_empty_tuple); | |
| return __pyx_empty_tuple; | |
| } | |
| res = PyTuple_New(n); | |
| if (unlikely(res == NULL)) return NULL; | |
| __Pyx_copy_object_array(src, ((PyTupleObject*)res)->ob_item, n); | |
| return res; | |
| } | |
| static CYTHON_INLINE PyObject * | |
| __Pyx_PyList_FromArray(PyObject *const *src, Py_ssize_t n) | |
| { | |
| PyObject *res; | |
| if (n <= 0) { | |
| return PyList_New(0); | |
| } | |
| res = PyList_New(n); | |
| if (unlikely(res == NULL)) return NULL; | |
| __Pyx_copy_object_array(src, ((PyListObject*)res)->ob_item, n); | |
| return res; | |
| } | |
| /* BytesEquals */ | |
| static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) { | |
| return PyObject_RichCompareBool(s1, s2, equals); | |
| if (s1 == s2) { | |
| return (equals == Py_EQ); | |
| } else if (PyBytes_CheckExact(s1) & PyBytes_CheckExact(s2)) { | |
| const char *ps1, *ps2; | |
| Py_ssize_t length = PyBytes_GET_SIZE(s1); | |
| if (length != PyBytes_GET_SIZE(s2)) | |
| return (equals == Py_NE); | |
| ps1 = PyBytes_AS_STRING(s1); | |
| ps2 = PyBytes_AS_STRING(s2); | |
| if (ps1[0] != ps2[0]) { | |
| return (equals == Py_NE); | |
| } else if (length == 1) { | |
| return (equals == Py_EQ); | |
| } else { | |
| int result; | |
| Py_hash_t hash1, hash2; | |
| hash1 = ((PyBytesObject*)s1)->ob_shash; | |
| hash2 = ((PyBytesObject*)s2)->ob_shash; | |
| if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { | |
| return (equals == Py_NE); | |
| } | |
| result = memcmp(ps1, ps2, (size_t)length); | |
| return (equals == Py_EQ) ? (result == 0) : (result != 0); | |
| } | |
| } else if ((s1 == Py_None) & PyBytes_CheckExact(s2)) { | |
| return (equals == Py_NE); | |
| } else if ((s2 == Py_None) & PyBytes_CheckExact(s1)) { | |
| return (equals == Py_NE); | |
| } else { | |
| int result; | |
| PyObject* py_result = PyObject_RichCompare(s1, s2, equals); | |
| if (!py_result) | |
| return -1; | |
| result = __Pyx_PyObject_IsTrue(py_result); | |
| Py_DECREF(py_result); | |
| return result; | |
| } | |
| } | |
| /* UnicodeEquals */ | |
| static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) { | |
| return PyObject_RichCompareBool(s1, s2, equals); | |
| PyObject* owned_ref = NULL; | |
| int s1_is_unicode, s2_is_unicode; | |
| if (s1 == s2) { | |
| goto return_eq; | |
| } | |
| s1_is_unicode = PyUnicode_CheckExact(s1); | |
| s2_is_unicode = PyUnicode_CheckExact(s2); | |
| if ((s1_is_unicode & (!s2_is_unicode)) && PyString_CheckExact(s2)) { | |
| owned_ref = PyUnicode_FromObject(s2); | |
| if (unlikely(!owned_ref)) | |
| return -1; | |
| s2 = owned_ref; | |
| s2_is_unicode = 1; | |
| } else if ((s2_is_unicode & (!s1_is_unicode)) && PyString_CheckExact(s1)) { | |
| owned_ref = PyUnicode_FromObject(s1); | |
| if (unlikely(!owned_ref)) | |
| return -1; | |
| s1 = owned_ref; | |
| s1_is_unicode = 1; | |
| } else if (((!s2_is_unicode) & (!s1_is_unicode))) { | |
| return __Pyx_PyBytes_Equals(s1, s2, equals); | |
| } | |
| if (s1_is_unicode & s2_is_unicode) { | |
| Py_ssize_t length; | |
| int kind; | |
| void *data1, *data2; | |
| if (unlikely(__Pyx_PyUnicode_READY(s1) < 0) || unlikely(__Pyx_PyUnicode_READY(s2) < 0)) | |
| return -1; | |
| length = __Pyx_PyUnicode_GET_LENGTH(s1); | |
| if (length != __Pyx_PyUnicode_GET_LENGTH(s2)) { | |
| goto return_ne; | |
| } | |
| { | |
| Py_hash_t hash1, hash2; | |
| hash1 = ((PyASCIIObject*)s1)->hash; | |
| hash2 = ((PyASCIIObject*)s2)->hash; | |
| hash1 = ((PyUnicodeObject*)s1)->hash; | |
| hash2 = ((PyUnicodeObject*)s2)->hash; | |
| if (hash1 != hash2 && hash1 != -1 && hash2 != -1) { | |
| goto return_ne; | |
| } | |
| } | |
| kind = __Pyx_PyUnicode_KIND(s1); | |
| if (kind != __Pyx_PyUnicode_KIND(s2)) { | |
| goto return_ne; | |
| } | |
| data1 = __Pyx_PyUnicode_DATA(s1); | |
| data2 = __Pyx_PyUnicode_DATA(s2); | |
| if (__Pyx_PyUnicode_READ(kind, data1, 0) != __Pyx_PyUnicode_READ(kind, data2, 0)) { | |
| goto return_ne; | |
| } else if (length == 1) { | |
| goto return_eq; | |
| } else { | |
| int result = memcmp(data1, data2, (size_t)(length * kind)); | |
| Py_XDECREF(owned_ref); | |
| return (equals == Py_EQ) ? (result == 0) : (result != 0); | |
| } | |
| } else if ((s1 == Py_None) & s2_is_unicode) { | |
| goto return_ne; | |
| } else if ((s2 == Py_None) & s1_is_unicode) { | |
| goto return_ne; | |
| } else { | |
| int result; | |
| PyObject* py_result = PyObject_RichCompare(s1, s2, equals); | |
| Py_XDECREF(owned_ref); | |
| if (!py_result) | |
| return -1; | |
| result = __Pyx_PyObject_IsTrue(py_result); | |
| Py_DECREF(py_result); | |
| return result; | |
| } | |
| return_eq: | |
| Py_XDECREF(owned_ref); | |
| return (equals == Py_EQ); | |
| return_ne: | |
| Py_XDECREF(owned_ref); | |
| return (equals == Py_NE); | |
| } | |
| /* fastcall */ | |
| static CYTHON_INLINE PyObject * __Pyx_GetKwValue_FASTCALL(PyObject *kwnames, PyObject *const *kwvalues, PyObject *s) | |
| { | |
| Py_ssize_t i, n = PyTuple_GET_SIZE(kwnames); | |
| for (i = 0; i < n; i++) | |
| { | |
| if (s == PyTuple_GET_ITEM(kwnames, i)) return kwvalues[i]; | |
| } | |
| for (i = 0; i < n; i++) | |
| { | |
| int eq = __Pyx_PyUnicode_Equals(s, PyTuple_GET_ITEM(kwnames, i), Py_EQ); | |
| if (unlikely(eq != 0)) { | |
| if (unlikely(eq < 0)) return NULL; // error | |
| return kwvalues[i]; | |
| } | |
| } | |
| return NULL; // not found (no exception set) | |
| } | |
| /* RaiseArgTupleInvalid */ | |
| static void __Pyx_RaiseArgtupleInvalid( | |
| const char* func_name, | |
| int exact, | |
| Py_ssize_t num_min, | |
| Py_ssize_t num_max, | |
| Py_ssize_t num_found) | |
| { | |
| Py_ssize_t num_expected; | |
| const char *more_or_less; | |
| if (num_found < num_min) { | |
| num_expected = num_min; | |
| more_or_less = "at least"; | |
| } else { | |
| num_expected = num_max; | |
| more_or_less = "at most"; | |
| } | |
| if (exact) { | |
| more_or_less = "exactly"; | |
| } | |
| PyErr_Format(PyExc_TypeError, | |
| "%.200s() takes %.8s %" CYTHON_FORMAT_SSIZE_T "d positional argument%.1s (%" CYTHON_FORMAT_SSIZE_T "d given)", | |
| func_name, more_or_less, num_expected, | |
| (num_expected == 1) ? "" : "s", num_found); | |
| } | |
| /* RaiseDoubleKeywords */ | |
| static void __Pyx_RaiseDoubleKeywordsError( | |
| const char* func_name, | |
| PyObject* kw_name) | |
| { | |
| PyErr_Format(PyExc_TypeError, | |
| "%s() got multiple values for keyword argument '%U'", func_name, kw_name); | |
| "%s() got multiple values for keyword argument '%s'", func_name, | |
| PyString_AsString(kw_name)); | |
| } | |
| /* ParseKeywords */ | |
| static int __Pyx_ParseOptionalKeywords( | |
| PyObject *kwds, | |
| PyObject *const *kwvalues, | |
| PyObject **argnames[], | |
| PyObject *kwds2, | |
| PyObject *values[], | |
| Py_ssize_t num_pos_args, | |
| const char* function_name) | |
| { | |
| PyObject *key = 0, *value = 0; | |
| Py_ssize_t pos = 0; | |
| PyObject*** name; | |
| PyObject*** first_kw_arg = argnames + num_pos_args; | |
| int kwds_is_tuple = CYTHON_METH_FASTCALL && likely(PyTuple_Check(kwds)); | |
| while (1) { | |
| if (kwds_is_tuple) { | |
| if (pos >= PyTuple_GET_SIZE(kwds)) break; | |
| key = PyTuple_GET_ITEM(kwds, pos); | |
| value = kwvalues[pos]; | |
| pos++; | |
| } | |
| else | |
| { | |
| if (!PyDict_Next(kwds, &pos, &key, &value)) break; | |
| } | |
| name = first_kw_arg; | |
| while (*name && (**name != key)) name++; | |
| if (*name) { | |
| values[name-argnames] = value; | |
| continue; | |
| } | |
| name = first_kw_arg; | |
| if (likely(PyString_Check(key))) { | |
| while (*name) { | |
| if ((CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**name) == PyString_GET_SIZE(key)) | |
| && _PyString_Eq(**name, key)) { | |
| values[name-argnames] = value; | |
| break; | |
| } | |
| name++; | |
| } | |
| if (*name) continue; | |
| else { | |
| PyObject*** argname = argnames; | |
| while (argname != first_kw_arg) { | |
| if ((**argname == key) || ( | |
| (CYTHON_COMPILING_IN_PYPY || PyString_GET_SIZE(**argname) == PyString_GET_SIZE(key)) | |
| && _PyString_Eq(**argname, key))) { | |
| goto arg_passed_twice; | |
| } | |
| argname++; | |
| } | |
| } | |
| } else | |
| if (likely(PyUnicode_Check(key))) { | |
| while (*name) { | |
| int cmp = ( | |
| (__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : | |
| PyUnicode_Compare(**name, key) | |
| ); | |
| if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; | |
| if (cmp == 0) { | |
| values[name-argnames] = value; | |
| break; | |
| } | |
| name++; | |
| } | |
| if (*name) continue; | |
| else { | |
| PyObject*** argname = argnames; | |
| while (argname != first_kw_arg) { | |
| int cmp = (**argname == key) ? 0 : | |
| (__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 : | |
| PyUnicode_Compare(**argname, key); | |
| if (cmp < 0 && unlikely(PyErr_Occurred())) goto bad; | |
| if (cmp == 0) goto arg_passed_twice; | |
| argname++; | |
| } | |
| } | |
| } else | |
| goto invalid_keyword_type; | |
| if (kwds2) { | |
| if (unlikely(PyDict_SetItem(kwds2, key, value))) goto bad; | |
| } else { | |
| goto invalid_keyword; | |
| } | |
| } | |
| return 0; | |
| arg_passed_twice: | |
| __Pyx_RaiseDoubleKeywordsError(function_name, key); | |
| goto bad; | |
| invalid_keyword_type: | |
| PyErr_Format(PyExc_TypeError, | |
| "%.200s() keywords must be strings", function_name); | |
| goto bad; | |
| invalid_keyword: | |
| PyErr_Format(PyExc_TypeError, | |
| "%.200s() got an unexpected keyword argument '%.200s'", | |
| function_name, PyString_AsString(key)); | |
| PyErr_Format(PyExc_TypeError, | |
| "%s() got an unexpected keyword argument '%U'", | |
| function_name, key); | |
| bad: | |
| return -1; | |
| } | |
| /* PyDictVersioning */ | |
| static CYTHON_INLINE PY_UINT64_T __Pyx_get_tp_dict_version(PyObject *obj) { | |
| PyObject *dict = Py_TYPE(obj)->tp_dict; | |
| return likely(dict) ? __PYX_GET_DICT_VERSION(dict) : 0; | |
| } | |
| static CYTHON_INLINE PY_UINT64_T __Pyx_get_object_dict_version(PyObject *obj) { | |
| PyObject **dictptr = NULL; | |
| Py_ssize_t offset = Py_TYPE(obj)->tp_dictoffset; | |
| if (offset) { | |
| dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj); | |
| dictptr = _PyObject_GetDictPtr(obj); | |
| } | |
| return (dictptr && *dictptr) ? __PYX_GET_DICT_VERSION(*dictptr) : 0; | |
| } | |
| static CYTHON_INLINE int __Pyx_object_dict_version_matches(PyObject* obj, PY_UINT64_T tp_dict_version, PY_UINT64_T obj_dict_version) { | |
| PyObject *dict = Py_TYPE(obj)->tp_dict; | |
| if (unlikely(!dict) || unlikely(tp_dict_version != __PYX_GET_DICT_VERSION(dict))) | |
| return 0; | |
| return obj_dict_version == __Pyx_get_object_dict_version(obj); | |
| } | |
| /* GetModuleGlobalName */ | |
| static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value) | |
| static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name) | |
| { | |
| PyObject *result; | |
| result = _PyDict_GetItem_KnownHash(__pyx_d, name, ((PyASCIIObject *) name)->hash); | |
| __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) | |
| if (likely(result)) { | |
| return __Pyx_NewRef(result); | |
| } else if (unlikely(PyErr_Occurred())) { | |
| return NULL; | |
| } | |
| if (unlikely(!__pyx_m)) { | |
| return NULL; | |
| } | |
| result = PyObject_GetAttr(__pyx_m, name); | |
| if (likely(result)) { | |
| return result; | |
| } | |
| result = PyDict_GetItem(__pyx_d, name); | |
| __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) | |
| if (likely(result)) { | |
| return __Pyx_NewRef(result); | |
| } | |
| result = PyObject_GetItem(__pyx_d, name); | |
| __PYX_UPDATE_DICT_CACHE(__pyx_d, result, *dict_cached_value, *dict_version) | |
| if (likely(result)) { | |
| return __Pyx_NewRef(result); | |
| } | |
| PyErr_Clear(); | |
| return __Pyx_GetBuiltinName(name); | |
| } | |
| /* IterFinish */ | |
| static CYTHON_INLINE int __Pyx_IterFinish(void) { | |
| __Pyx_PyThreadState_declare | |
| __Pyx_PyThreadState_assign | |
| PyObject* exc_type = __Pyx_PyErr_CurrentExceptionType(); | |
| if (unlikely(exc_type)) { | |
| if (unlikely(!__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) | |
| return -1; | |
| __Pyx_PyErr_Clear(); | |
| return 0; | |
| } | |
| return 0; | |
| } | |
| /* PyFunctionFastCall */ | |
| static PyObject* __Pyx_PyFunction_FastCallNoKw(PyCodeObject *co, PyObject **args, Py_ssize_t na, | |
| PyObject *globals) { | |
| PyFrameObject *f; | |
| PyThreadState *tstate = __Pyx_PyThreadState_Current; | |
| PyObject **fastlocals; | |
| Py_ssize_t i; | |
| PyObject *result; | |
| assert(globals != NULL); | |
| /* XXX Perhaps we should create a specialized | |
| PyFrame_New() that doesn't take locals, but does | |
| take builtins without sanity checking them. | |
| */ | |
| assert(tstate != NULL); | |
| f = PyFrame_New(tstate, co, globals, NULL); | |
| if (f == NULL) { | |
| return NULL; | |
| } | |
| fastlocals = __Pyx_PyFrame_GetLocalsplus(f); | |
| for (i = 0; i < na; i++) { | |
| Py_INCREF(*args); | |
| fastlocals[i] = *args++; | |
| } | |
| result = PyEval_EvalFrameEx(f,0); | |
| ++tstate->recursion_depth; | |
| Py_DECREF(f); | |
| --tstate->recursion_depth; | |
| return result; | |
| } | |
| static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs) { | |
| PyCodeObject *co = (PyCodeObject *)PyFunction_GET_CODE(func); | |
| PyObject *globals = PyFunction_GET_GLOBALS(func); | |
| PyObject *argdefs = PyFunction_GET_DEFAULTS(func); | |
| PyObject *closure; | |
| PyObject *kwdefs; | |
| PyObject *kwtuple, **k; | |
| PyObject **d; | |
| Py_ssize_t nd; | |
| Py_ssize_t nk; | |
| PyObject *result; | |
| assert(kwargs == NULL || PyDict_Check(kwargs)); | |
| nk = kwargs ? PyDict_Size(kwargs) : 0; | |
| if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) { | |
| return NULL; | |
| } | |
| if ( | |
| co->co_kwonlyargcount == 0 && | |
| likely(kwargs == NULL || nk == 0) && | |
| co->co_flags == (CO_OPTIMIZED | CO_NEWLOCALS | CO_NOFREE)) { | |
| if (argdefs == NULL && co->co_argcount == nargs) { | |
| result = __Pyx_PyFunction_FastCallNoKw(co, args, nargs, globals); | |
| goto done; | |
| } | |
| else if (nargs == 0 && argdefs != NULL | |
| && co->co_argcount == Py_SIZE(argdefs)) { | |
| /* function called with no arguments, but all parameters have | |
| a default value: use default values as arguments .*/ | |
| args = &PyTuple_GET_ITEM(argdefs, 0); | |
| result =__Pyx_PyFunction_FastCallNoKw(co, args, Py_SIZE(argdefs), globals); | |
| goto done; | |
| } | |
| } | |
| if (kwargs != NULL) { | |
| Py_ssize_t pos, i; | |
| kwtuple = PyTuple_New(2 * nk); | |
| if (kwtuple == NULL) { | |
| result = NULL; | |
| goto done; | |
| } | |
| k = &PyTuple_GET_ITEM(kwtuple, 0); | |
| pos = i = 0; | |
| while (PyDict_Next(kwargs, &pos, &k[i], &k[i+1])) { | |
| Py_INCREF(k[i]); | |
| Py_INCREF(k[i+1]); | |
| i += 2; | |
| } | |
| nk = i / 2; | |
| } | |
| else { | |
| kwtuple = NULL; | |
| k = NULL; | |
| } | |
| closure = PyFunction_GET_CLOSURE(func); | |
| kwdefs = PyFunction_GET_KW_DEFAULTS(func); | |
| if (argdefs != NULL) { | |
| d = &PyTuple_GET_ITEM(argdefs, 0); | |
| nd = Py_SIZE(argdefs); | |
| } | |
| else { | |
| d = NULL; | |
| nd = 0; | |
| } | |
| result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL, | |
| args, (int)nargs, | |
| k, (int)nk, | |
| d, (int)nd, kwdefs, closure); | |
| result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL, | |
| args, (int)nargs, | |
| k, (int)nk, | |
| d, (int)nd, closure); | |
| Py_XDECREF(kwtuple); | |
| done: | |
| Py_LeaveRecursiveCall(); | |
| return result; | |
| } | |
| /* PyObjectCall */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) { | |
| PyObject *result; | |
| ternaryfunc call = Py_TYPE(func)->tp_call; | |
| if (unlikely(!call)) | |
| return PyObject_Call(func, arg, kw); | |
| if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) | |
| return NULL; | |
| result = (*call)(func, arg, kw); | |
| Py_LeaveRecursiveCall(); | |
| if (unlikely(!result) && unlikely(!PyErr_Occurred())) { | |
| PyErr_SetString( | |
| PyExc_SystemError, | |
| "NULL result without error in PyObject_Call"); | |
| } | |
| return result; | |
| } | |
| /* PyObjectCallMethO */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg) { | |
| PyObject *self, *result; | |
| PyCFunction cfunc; | |
| cfunc = PyCFunction_GET_FUNCTION(func); | |
| self = PyCFunction_GET_SELF(func); | |
| if (unlikely(Py_EnterRecursiveCall((char*)" while calling a Python object"))) | |
| return NULL; | |
| result = cfunc(self, arg); | |
| Py_LeaveRecursiveCall(); | |
| if (unlikely(!result) && unlikely(!PyErr_Occurred())) { | |
| PyErr_SetString( | |
| PyExc_SystemError, | |
| "NULL result without error in PyObject_Call"); | |
| } | |
| return result; | |
| } | |
| /* PyObjectFastCall */ | |
| static PyObject* __Pyx_PyObject_FastCall_fallback(PyObject *func, PyObject **args, size_t nargs, PyObject *kwargs) { | |
| PyObject *argstuple; | |
| PyObject *result; | |
| size_t i; | |
| argstuple = PyTuple_New((Py_ssize_t)nargs); | |
| if (unlikely(!argstuple)) return NULL; | |
| for (i = 0; i < nargs; i++) { | |
| Py_INCREF(args[i]); | |
| PyTuple_SET_ITEM(argstuple, (Py_ssize_t)i, args[i]); | |
| } | |
| result = __Pyx_PyObject_Call(func, argstuple, kwargs); | |
| Py_DECREF(argstuple); | |
| return result; | |
| } | |
| static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObject **args, size_t _nargs, PyObject *kwargs) { | |
| Py_ssize_t nargs = __Pyx_PyVectorcall_NARGS(_nargs); | |
| if (nargs == 0 && kwargs == NULL) { | |
| if (__Pyx_IsCyOrPyCFunction(func)) | |
| if (PyCFunction_Check(func)) | |
| { | |
| if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) { | |
| return __Pyx_PyObject_CallMethO(func, NULL); | |
| } | |
| } | |
| } | |
| else if (nargs == 1 && kwargs == NULL) { | |
| if (PyCFunction_Check(func)) | |
| { | |
| if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) { | |
| return __Pyx_PyObject_CallMethO(func, args[0]); | |
| } | |
| } | |
| } | |
| if (PyCFunction_Check(func)) { | |
| if (kwargs) { | |
| return _PyCFunction_FastCallDict(func, args, nargs, kwargs); | |
| } else { | |
| return _PyCFunction_FastCallKeywords(func, args, nargs, NULL); | |
| } | |
| } | |
| if (!kwargs && __Pyx_IS_TYPE(func, &PyMethodDescr_Type)) { | |
| return _PyMethodDescr_FastCallKeywords(func, args, nargs, NULL); | |
| } | |
| if (PyFunction_Check(func)) { | |
| return __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs); | |
| } | |
| vectorcallfunc f = _PyVectorcall_Function(func); | |
| if (f) { | |
| return f(func, args, (size_t)nargs, kwargs); | |
| } | |
| if (__Pyx_CyFunction_CheckExact(func)) { | |
| __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func); | |
| if (f) return f(func, args, (size_t)nargs, kwargs); | |
| } | |
| if (nargs == 0) { | |
| return __Pyx_PyObject_Call(func, __pyx_empty_tuple, kwargs); | |
| } | |
| return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs); | |
| } | |
| /* PyObjectCallNoArg */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) { | |
| PyObject *arg = NULL; | |
| return __Pyx_PyObject_FastCall(func, (&arg)+1, 0 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); | |
| } | |
| /* PyObjectCallOneArg */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) { | |
| PyObject *args[2] = {NULL, arg}; | |
| return __Pyx_PyObject_FastCall(func, args+1, 1 | __Pyx_PY_VECTORCALL_ARGUMENTS_OFFSET); | |
| } | |
| /* PyObjectGetMethod */ | |
| static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) { | |
| PyObject *attr; | |
| __Pyx_TypeName type_name; | |
| PyTypeObject *tp = Py_TYPE(obj); | |
| PyObject *descr; | |
| descrgetfunc f = NULL; | |
| PyObject **dictptr, *dict; | |
| int meth_found = 0; | |
| assert (*method == NULL); | |
| if (unlikely(tp->tp_getattro != PyObject_GenericGetAttr)) { | |
| attr = __Pyx_PyObject_GetAttrStr(obj, name); | |
| goto try_unpack; | |
| } | |
| if (unlikely(tp->tp_dict == NULL) && unlikely(PyType_Ready(tp) < 0)) { | |
| return 0; | |
| } | |
| descr = _PyType_Lookup(tp, name); | |
| if (likely(descr != NULL)) { | |
| Py_INCREF(descr); | |
| if (__Pyx_PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_METHOD_DESCRIPTOR)) | |
| if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr))) | |
| if (likely(PyFunction_Check(descr) || __Pyx_IS_TYPE(descr, &PyMethodDescr_Type))) | |
| if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr))) | |
| if (likely(PyFunction_Check(descr))) | |
| { | |
| meth_found = 1; | |
| } else { | |
| f = Py_TYPE(descr)->tp_descr_get; | |
| if (f != NULL && PyDescr_IsData(descr)) { | |
| attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); | |
| Py_DECREF(descr); | |
| goto try_unpack; | |
| } | |
| } | |
| } | |
| dictptr = _PyObject_GetDictPtr(obj); | |
| if (dictptr != NULL && (dict = *dictptr) != NULL) { | |
| Py_INCREF(dict); | |
| attr = __Pyx_PyDict_GetItemStr(dict, name); | |
| if (attr != NULL) { | |
| Py_INCREF(attr); | |
| Py_DECREF(dict); | |
| Py_XDECREF(descr); | |
| goto try_unpack; | |
| } | |
| Py_DECREF(dict); | |
| } | |
| if (meth_found) { | |
| *method = descr; | |
| return 1; | |
| } | |
| if (f != NULL) { | |
| attr = f(descr, obj, (PyObject *)Py_TYPE(obj)); | |
| Py_DECREF(descr); | |
| goto try_unpack; | |
| } | |
| if (likely(descr != NULL)) { | |
| *method = descr; | |
| return 0; | |
| } | |
| type_name = __Pyx_PyType_GetName(tp); | |
| PyErr_Format(PyExc_AttributeError, | |
| "'" __Pyx_FMT_TYPENAME "' object has no attribute '%U'", | |
| type_name, name); | |
| "'" __Pyx_FMT_TYPENAME "' object has no attribute '%.400s'", | |
| type_name, PyString_AS_STRING(name)); | |
| __Pyx_DECREF_TypeName(type_name); | |
| return 0; | |
| attr = __Pyx_PyObject_GetAttrStr(obj, name); | |
| goto try_unpack; | |
| try_unpack: | |
| if (likely(attr) && PyMethod_Check(attr) && likely(PyMethod_GET_SELF(attr) == obj)) { | |
| PyObject *function = PyMethod_GET_FUNCTION(attr); | |
| Py_INCREF(function); | |
| Py_DECREF(attr); | |
| *method = function; | |
| return 1; | |
| } | |
| *method = attr; | |
| return 0; | |
| } | |
| /* PyObjectCallMethod0 */ | |
| static PyObject* __Pyx_PyObject_CallMethod0(PyObject* obj, PyObject* method_name) { | |
| PyObject *method = NULL, *result = NULL; | |
| int is_method = __Pyx_PyObject_GetMethod(obj, method_name, &method); | |
| if (likely(is_method)) { | |
| result = __Pyx_PyObject_CallOneArg(method, obj); | |
| Py_DECREF(method); | |
| return result; | |
| } | |
| if (unlikely(!method)) goto bad; | |
| result = __Pyx_PyObject_CallNoArg(method); | |
| Py_DECREF(method); | |
| bad: | |
| return result; | |
| } | |
| /* RaiseNeedMoreValuesToUnpack */ | |
| static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index) { | |
| PyErr_Format(PyExc_ValueError, | |
| "need more than %" CYTHON_FORMAT_SSIZE_T "d value%.1s to unpack", | |
| index, (index == 1) ? "" : "s"); | |
| } | |
| /* RaiseTooManyValuesToUnpack */ | |
| static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected) { | |
| PyErr_Format(PyExc_ValueError, | |
| "too many values to unpack (expected %" CYTHON_FORMAT_SSIZE_T "d)", expected); | |
| } | |
| /* UnpackItemEndCheck */ | |
| static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) { | |
| if (unlikely(retval)) { | |
| Py_DECREF(retval); | |
| __Pyx_RaiseTooManyValuesError(expected); | |
| return -1; | |
| } | |
| return __Pyx_IterFinish(); | |
| } | |
| /* RaiseNoneIterError */ | |
| static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void) { | |
| PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable"); | |
| } | |
| /* UnpackTupleError */ | |
| static void __Pyx_UnpackTupleError(PyObject *t, Py_ssize_t index) { | |
| if (t == Py_None) { | |
| __Pyx_RaiseNoneNotIterableError(); | |
| } else if (PyTuple_GET_SIZE(t) < index) { | |
| __Pyx_RaiseNeedMoreValuesError(PyTuple_GET_SIZE(t)); | |
| } else { | |
| __Pyx_RaiseTooManyValuesError(index); | |
| } | |
| } | |
| /* UnpackTuple2 */ | |
| static CYTHON_INLINE int __Pyx_unpack_tuple2_exact( | |
| PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, int decref_tuple) { | |
| PyObject *value1 = NULL, *value2 = NULL; | |
| value1 = PySequence_ITEM(tuple, 0); if (unlikely(!value1)) goto bad; | |
| value2 = PySequence_ITEM(tuple, 1); if (unlikely(!value2)) goto bad; | |
| value1 = PyTuple_GET_ITEM(tuple, 0); Py_INCREF(value1); | |
| value2 = PyTuple_GET_ITEM(tuple, 1); Py_INCREF(value2); | |
| if (decref_tuple) { | |
| Py_DECREF(tuple); | |
| } | |
| *pvalue1 = value1; | |
| *pvalue2 = value2; | |
| return 0; | |
| bad: | |
| Py_XDECREF(value1); | |
| Py_XDECREF(value2); | |
| if (decref_tuple) { Py_XDECREF(tuple); } | |
| return -1; | |
| } | |
| static int __Pyx_unpack_tuple2_generic(PyObject* tuple, PyObject** pvalue1, PyObject** pvalue2, | |
| int has_known_size, int decref_tuple) { | |
| Py_ssize_t index; | |
| PyObject *value1 = NULL, *value2 = NULL, *iter = NULL; | |
| iternextfunc iternext; | |
| iter = PyObject_GetIter(tuple); | |
| if (unlikely(!iter)) goto bad; | |
| if (decref_tuple) { Py_DECREF(tuple); tuple = NULL; } | |
| iternext = __Pyx_PyObject_GetIterNextFunc(iter); | |
| value1 = iternext(iter); if (unlikely(!value1)) { index = 0; goto unpacking_failed; } | |
| value2 = iternext(iter); if (unlikely(!value2)) { index = 1; goto unpacking_failed; } | |
| if (!has_known_size && unlikely(__Pyx_IternextUnpackEndCheck(iternext(iter), 2))) goto bad; | |
| Py_DECREF(iter); | |
| *pvalue1 = value1; | |
| *pvalue2 = value2; | |
| return 0; | |
| unpacking_failed: | |
| if (!has_known_size && __Pyx_IterFinish() == 0) | |
| __Pyx_RaiseNeedMoreValuesError(index); | |
| bad: | |
| Py_XDECREF(iter); | |
| Py_XDECREF(value1); | |
| Py_XDECREF(value2); | |
| if (decref_tuple) { Py_XDECREF(tuple); } | |
| return -1; | |
| } | |
| /* dict_iter */ | |
| static CYTHON_INLINE PyObject* __Pyx_dict_iterator(PyObject* iterable, int is_dict, PyObject* method_name, | |
| Py_ssize_t* p_orig_length, int* p_source_is_dict) { | |
| is_dict = is_dict || likely(PyDict_CheckExact(iterable)); | |
| *p_source_is_dict = is_dict; | |
| if (is_dict) { | |
| *p_orig_length = PyDict_Size(iterable); | |
| Py_INCREF(iterable); | |
| return iterable; | |
| static PyObject *py_items = NULL, *py_keys = NULL, *py_values = NULL; | |
| PyObject **pp = NULL; | |
| if (method_name) { | |
| const char *name = PyUnicode_AsUTF8(method_name); | |
| if (strcmp(name, "iteritems") == 0) pp = &py_items; | |
| else if (strcmp(name, "iterkeys") == 0) pp = &py_keys; | |
| else if (strcmp(name, "itervalues") == 0) pp = &py_values; | |
| if (pp) { | |
| if (!*pp) { | |
| *pp = PyUnicode_FromString(name + 4); | |
| if (!*pp) | |
| return NULL; | |
| } | |
| method_name = *pp; | |
| } | |
| } | |
| } | |
| *p_orig_length = 0; | |
| if (method_name) { | |
| PyObject* iter; | |
| iterable = __Pyx_PyObject_CallMethod0(iterable, method_name); | |
| if (!iterable) | |
| return NULL; | |
| if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable)) | |
| return iterable; | |
| iter = PyObject_GetIter(iterable); | |
| Py_DECREF(iterable); | |
| return iter; | |
| } | |
| return PyObject_GetIter(iterable); | |
| } | |
| static CYTHON_INLINE int __Pyx_dict_iter_next( | |
| PyObject* iter_obj, CYTHON_NCP_UNUSED Py_ssize_t orig_length, CYTHON_NCP_UNUSED Py_ssize_t* ppos, | |
| PyObject** pkey, PyObject** pvalue, PyObject** pitem, int source_is_dict) { | |
| PyObject* next_item; | |
| if (source_is_dict) { | |
| PyObject *key, *value; | |
| if (unlikely(orig_length != PyDict_Size(iter_obj))) { | |
| PyErr_SetString(PyExc_RuntimeError, "dictionary changed size during iteration"); | |
| return -1; | |
| } | |
| if (unlikely(!PyDict_Next(iter_obj, ppos, &key, &value))) { | |
| return 0; | |
| } | |
| if (pitem) { | |
| PyObject* tuple = PyTuple_New(2); | |
| if (unlikely(!tuple)) { | |
| return -1; | |
| } | |
| Py_INCREF(key); | |
| Py_INCREF(value); | |
| PyTuple_SET_ITEM(tuple, 0, key); | |
| PyTuple_SET_ITEM(tuple, 1, value); | |
| *pitem = tuple; | |
| } else { | |
| if (pkey) { | |
| Py_INCREF(key); | |
| *pkey = key; | |
| } | |
| if (pvalue) { | |
| Py_INCREF(value); | |
| *pvalue = value; | |
| } | |
| } | |
| return 1; | |
| } else if (PyTuple_CheckExact(iter_obj)) { | |
| Py_ssize_t pos = *ppos; | |
| if (unlikely(pos >= PyTuple_GET_SIZE(iter_obj))) return 0; | |
| *ppos = pos + 1; | |
| next_item = PyTuple_GET_ITEM(iter_obj, pos); | |
| Py_INCREF(next_item); | |
| } else if (PyList_CheckExact(iter_obj)) { | |
| Py_ssize_t pos = *ppos; | |
| if (unlikely(pos >= PyList_GET_SIZE(iter_obj))) return 0; | |
| *ppos = pos + 1; | |
| next_item = PyList_GET_ITEM(iter_obj, pos); | |
| Py_INCREF(next_item); | |
| } else | |
| { | |
| next_item = PyIter_Next(iter_obj); | |
| if (unlikely(!next_item)) { | |
| return __Pyx_IterFinish(); | |
| } | |
| } | |
| if (pitem) { | |
| *pitem = next_item; | |
| } else if (pkey && pvalue) { | |
| if (__Pyx_unpack_tuple2(next_item, pkey, pvalue, source_is_dict, source_is_dict, 1)) | |
| return -1; | |
| } else if (pkey) { | |
| *pkey = next_item; | |
| } else { | |
| *pvalue = next_item; | |
| } | |
| return 1; | |
| } | |
| /* MergeKeywords */ | |
| static int __Pyx_MergeKeywords(PyObject *kwdict, PyObject *source_mapping) { | |
| PyObject *iter, *key = NULL, *value = NULL; | |
| int source_is_dict, result; | |
| Py_ssize_t orig_length, ppos = 0; | |
| iter = __Pyx_dict_iterator(source_mapping, 0, __pyx_n_s_items, &orig_length, &source_is_dict); | |
| if (unlikely(!iter)) { | |
| PyObject *args; | |
| if (unlikely(!PyErr_ExceptionMatches(PyExc_AttributeError))) goto bad; | |
| PyErr_Clear(); | |
| args = PyTuple_Pack(1, source_mapping); | |
| if (likely(args)) { | |
| PyObject *fallback = PyObject_Call((PyObject*)&PyDict_Type, args, NULL); | |
| Py_DECREF(args); | |
| if (likely(fallback)) { | |
| iter = __Pyx_dict_iterator(fallback, 1, __pyx_n_s_items, &orig_length, &source_is_dict); | |
| Py_DECREF(fallback); | |
| } | |
| } | |
| if (unlikely(!iter)) goto bad; | |
| } | |
| while (1) { | |
| result = __Pyx_dict_iter_next(iter, orig_length, &ppos, &key, &value, NULL, source_is_dict); | |
| if (unlikely(result < 0)) goto bad; | |
| if (!result) break; | |
| if (unlikely(PyDict_Contains(kwdict, key))) { | |
| __Pyx_RaiseDoubleKeywordsError("function", key); | |
| result = -1; | |
| } else { | |
| result = PyDict_SetItem(kwdict, key, value); | |
| } | |
| Py_DECREF(key); | |
| Py_DECREF(value); | |
| if (unlikely(result < 0)) goto bad; | |
| } | |
| Py_XDECREF(iter); | |
| return 0; | |
| bad: | |
| Py_XDECREF(iter); | |
| return -1; | |
| } | |
| /* GetTopmostException */ | |
| static _PyErr_StackItem * | |
| __Pyx_PyErr_GetTopmostException(PyThreadState *tstate) | |
| { | |
| _PyErr_StackItem *exc_info = tstate->exc_info; | |
| while ((exc_info->exc_value == NULL || exc_info->exc_value == Py_None) && | |
| exc_info->previous_item != NULL) | |
| { | |
| exc_info = exc_info->previous_item; | |
| } | |
| return exc_info; | |
| } | |
| /* SaveResetException */ | |
| static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { | |
| _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); | |
| PyObject *exc_value = exc_info->exc_value; | |
| if (exc_value == NULL || exc_value == Py_None) { | |
| *value = NULL; | |
| *type = NULL; | |
| *tb = NULL; | |
| } else { | |
| *value = exc_value; | |
| Py_INCREF(*value); | |
| *type = (PyObject*) Py_TYPE(exc_value); | |
| Py_INCREF(*type); | |
| *tb = PyException_GetTraceback(exc_value); | |
| } | |
| _PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate); | |
| *type = exc_info->exc_type; | |
| *value = exc_info->exc_value; | |
| *tb = exc_info->exc_traceback; | |
| Py_XINCREF(*type); | |
| Py_XINCREF(*value); | |
| Py_XINCREF(*tb); | |
| *type = tstate->exc_type; | |
| *value = tstate->exc_value; | |
| *tb = tstate->exc_traceback; | |
| Py_XINCREF(*type); | |
| Py_XINCREF(*value); | |
| Py_XINCREF(*tb); | |
| } | |
| static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) { | |
| _PyErr_StackItem *exc_info = tstate->exc_info; | |
| PyObject *tmp_value = exc_info->exc_value; | |
| exc_info->exc_value = value; | |
| Py_XDECREF(tmp_value); | |
| Py_XDECREF(type); | |
| Py_XDECREF(tb); | |
| PyObject *tmp_type, *tmp_value, *tmp_tb; | |
| _PyErr_StackItem *exc_info = tstate->exc_info; | |
| tmp_type = exc_info->exc_type; | |
| tmp_value = exc_info->exc_value; | |
| tmp_tb = exc_info->exc_traceback; | |
| exc_info->exc_type = type; | |
| exc_info->exc_value = value; | |
| exc_info->exc_traceback = tb; | |
| tmp_type = tstate->exc_type; | |
| tmp_value = tstate->exc_value; | |
| tmp_tb = tstate->exc_traceback; | |
| tstate->exc_type = type; | |
| tstate->exc_value = value; | |
| tstate->exc_traceback = tb; | |
| Py_XDECREF(tmp_type); | |
| Py_XDECREF(tmp_value); | |
| Py_XDECREF(tmp_tb); | |
| } | |
| /* FastTypeChecks */ | |
| static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) { | |
| while (a) { | |
| a = __Pyx_PyType_GetSlot(a, tp_base, PyTypeObject*); | |
| if (a == b) | |
| return 1; | |
| } | |
| return b == &PyBaseObject_Type; | |
| } | |
| static CYTHON_INLINE int __Pyx_IsSubtype(PyTypeObject *a, PyTypeObject *b) { | |
| PyObject *mro; | |
| if (a == b) return 1; | |
| mro = a->tp_mro; | |
| if (likely(mro)) { | |
| Py_ssize_t i, n; | |
| n = PyTuple_GET_SIZE(mro); | |
| for (i = 0; i < n; i++) { | |
| if (PyTuple_GET_ITEM(mro, i) == (PyObject *)b) | |
| return 1; | |
| } | |
| return 0; | |
| } | |
| return __Pyx_InBases(a, b); | |
| } | |
| static CYTHON_INLINE int __Pyx_IsAnySubtype2(PyTypeObject *cls, PyTypeObject *a, PyTypeObject *b) { | |
| PyObject *mro; | |
| if (cls == a || cls == b) return 1; | |
| mro = cls->tp_mro; | |
| if (likely(mro)) { | |
| Py_ssize_t i, n; | |
| n = PyTuple_GET_SIZE(mro); | |
| for (i = 0; i < n; i++) { | |
| PyObject *base = PyTuple_GET_ITEM(mro, i); | |
| if (base == (PyObject *)a || base == (PyObject *)b) | |
| return 1; | |
| } | |
| return 0; | |
| } | |
| return __Pyx_InBases(cls, a) || __Pyx_InBases(cls, b); | |
| } | |
| static int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject* exc_type2) { | |
| PyObject *exception, *value, *tb; | |
| int res; | |
| __Pyx_PyThreadState_declare | |
| __Pyx_PyThreadState_assign | |
| __Pyx_ErrFetch(&exception, &value, &tb); | |
| res = exc_type1 ? PyObject_IsSubclass(err, exc_type1) : 0; | |
| if (unlikely(res == -1)) { | |
| PyErr_WriteUnraisable(err); | |
| res = 0; | |
| } | |
| if (!res) { | |
| res = PyObject_IsSubclass(err, exc_type2); | |
| if (unlikely(res == -1)) { | |
| PyErr_WriteUnraisable(err); | |
| res = 0; | |
| } | |
| } | |
| __Pyx_ErrRestore(exception, value, tb); | |
| return res; | |
| } | |
| static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) { | |
| if (exc_type1) { | |
| return __Pyx_IsAnySubtype2((PyTypeObject*)err, (PyTypeObject*)exc_type1, (PyTypeObject*)exc_type2); | |
| } else { | |
| return __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2); | |
| } | |
| } | |
| static int __Pyx_PyErr_GivenExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) { | |
| Py_ssize_t i, n; | |
| assert(PyExceptionClass_Check(exc_type)); | |
| n = PyTuple_GET_SIZE(tuple); | |
| for (i=0; i<n; i++) { | |
| if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1; | |
| } | |
| for (i=0; i<n; i++) { | |
| PyObject *t = PyTuple_GET_ITEM(tuple, i); | |
| if (likely(exc_type == t)) return 1; | |
| if (likely(PyExceptionClass_Check(t))) { | |
| if (__Pyx_inner_PyErr_GivenExceptionMatches2(exc_type, NULL, t)) return 1; | |
| } else { | |
| } | |
| } | |
| return 0; | |
| } | |
| static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches(PyObject *err, PyObject* exc_type) { | |
| if (likely(err == exc_type)) return 1; | |
| if (likely(PyExceptionClass_Check(err))) { | |
| if (likely(PyExceptionClass_Check(exc_type))) { | |
| return __Pyx_inner_PyErr_GivenExceptionMatches2(err, NULL, exc_type); | |
| } else if (likely(PyTuple_Check(exc_type))) { | |
| return __Pyx_PyErr_GivenExceptionMatchesTuple(err, exc_type); | |
| } else { | |
| } | |
| } | |
| return PyErr_GivenExceptionMatches(err, exc_type); | |
| } | |
| static CYTHON_INLINE int __Pyx_PyErr_GivenExceptionMatches2(PyObject *err, PyObject *exc_type1, PyObject *exc_type2) { | |
| assert(PyExceptionClass_Check(exc_type1)); | |
| assert(PyExceptionClass_Check(exc_type2)); | |
| if (likely(err == exc_type1 || err == exc_type2)) return 1; | |
| if (likely(PyExceptionClass_Check(err))) { | |
| return __Pyx_inner_PyErr_GivenExceptionMatches2(err, exc_type1, exc_type2); | |
| } | |
| return (PyErr_GivenExceptionMatches(err, exc_type1) || PyErr_GivenExceptionMatches(err, exc_type2)); | |
| } | |
| /* GetException */ | |
| static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) | |
| static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb) | |
| { | |
| PyObject *local_type = NULL, *local_value, *local_tb = NULL; | |
| PyObject *tmp_type, *tmp_value, *tmp_tb; | |
| local_value = tstate->current_exception; | |
| tstate->current_exception = 0; | |
| if (likely(local_value)) { | |
| local_type = (PyObject*) Py_TYPE(local_value); | |
| Py_INCREF(local_type); | |
| local_tb = PyException_GetTraceback(local_value); | |
| } | |
| local_type = tstate->curexc_type; | |
| local_value = tstate->curexc_value; | |
| local_tb = tstate->curexc_traceback; | |
| tstate->curexc_type = 0; | |
| tstate->curexc_value = 0; | |
| tstate->curexc_traceback = 0; | |
| PyErr_Fetch(&local_type, &local_value, &local_tb); | |
| PyErr_NormalizeException(&local_type, &local_value, &local_tb); | |
| if (unlikely(tstate->current_exception)) | |
| if (unlikely(tstate->curexc_type)) | |
| if (unlikely(PyErr_Occurred())) | |
| goto bad; | |
| if (local_tb) { | |
| if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0)) | |
| goto bad; | |
| } | |
| Py_XINCREF(local_tb); | |
| Py_XINCREF(local_type); | |
| Py_XINCREF(local_value); | |
| *type = local_type; | |
| *value = local_value; | |
| *tb = local_tb; | |
| { | |
| _PyErr_StackItem *exc_info = tstate->exc_info; | |
| tmp_value = exc_info->exc_value; | |
| exc_info->exc_value = local_value; | |
| tmp_type = NULL; | |
| tmp_tb = NULL; | |
| Py_XDECREF(local_type); | |
| Py_XDECREF(local_tb); | |
| tmp_type = exc_info->exc_type; | |
| tmp_value = exc_info->exc_value; | |
| tmp_tb = exc_info->exc_traceback; | |
| exc_info->exc_type = local_type; | |
| exc_info->exc_value = local_value; | |
| exc_info->exc_traceback = local_tb; | |
| } | |
| tmp_type = tstate->exc_type; | |
| tmp_value = tstate->exc_value; | |
| tmp_tb = tstate->exc_traceback; | |
| tstate->exc_type = local_type; | |
| tstate->exc_value = local_value; | |
| tstate->exc_traceback = local_tb; | |
| Py_XDECREF(tmp_type); | |
| Py_XDECREF(tmp_value); | |
| Py_XDECREF(tmp_tb); | |
| PyErr_SetExcInfo(local_type, local_value, local_tb); | |
| return 0; | |
| bad: | |
| *type = 0; | |
| *value = 0; | |
| *tb = 0; | |
| Py_XDECREF(local_type); | |
| Py_XDECREF(local_value); | |
| Py_XDECREF(local_tb); | |
| return -1; | |
| } | |
| /* RaiseException */ | |
| static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { | |
| __Pyx_PyThreadState_declare | |
| CYTHON_UNUSED_VAR(cause); | |
| Py_XINCREF(type); | |
| if (!value || value == Py_None) | |
| value = NULL; | |
| else | |
| Py_INCREF(value); | |
| if (!tb || tb == Py_None) | |
| tb = NULL; | |
| else { | |
| Py_INCREF(tb); | |
| if (!PyTraceBack_Check(tb)) { | |
| PyErr_SetString(PyExc_TypeError, | |
| "raise: arg 3 must be a traceback or None"); | |
| goto raise_error; | |
| } | |
| } | |
| if (PyType_Check(type)) { | |
| if (!value) { | |
| Py_INCREF(Py_None); | |
| value = Py_None; | |
| } | |
| PyErr_NormalizeException(&type, &value, &tb); | |
| } else { | |
| if (value) { | |
| PyErr_SetString(PyExc_TypeError, | |
| "instance exception may not have a separate value"); | |
| goto raise_error; | |
| } | |
| value = type; | |
| type = (PyObject*) Py_TYPE(type); | |
| Py_INCREF(type); | |
| if (!PyType_IsSubtype((PyTypeObject *)type, (PyTypeObject *)PyExc_BaseException)) { | |
| PyErr_SetString(PyExc_TypeError, | |
| "raise: exception class must be a subclass of BaseException"); | |
| goto raise_error; | |
| } | |
| } | |
| __Pyx_PyThreadState_assign | |
| __Pyx_ErrRestore(type, value, tb); | |
| return; | |
| raise_error: | |
| Py_XDECREF(value); | |
| Py_XDECREF(type); | |
| Py_XDECREF(tb); | |
| return; | |
| } | |
| static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause) { | |
| PyObject* owned_instance = NULL; | |
| if (tb == Py_None) { | |
| tb = 0; | |
| } else if (tb && !PyTraceBack_Check(tb)) { | |
| PyErr_SetString(PyExc_TypeError, | |
| "raise: arg 3 must be a traceback or None"); | |
| goto bad; | |
| } | |
| if (value == Py_None) | |
| value = 0; | |
| if (PyExceptionInstance_Check(type)) { | |
| if (value) { | |
| PyErr_SetString(PyExc_TypeError, | |
| "instance exception may not have a separate value"); | |
| goto bad; | |
| } | |
| value = type; | |
| type = (PyObject*) Py_TYPE(value); | |
| } else if (PyExceptionClass_Check(type)) { | |
| PyObject *instance_class = NULL; | |
| if (value && PyExceptionInstance_Check(value)) { | |
| instance_class = (PyObject*) Py_TYPE(value); | |
| if (instance_class != type) { | |
| int is_subclass = PyObject_IsSubclass(instance_class, type); | |
| if (!is_subclass) { | |
| instance_class = NULL; | |
| } else if (unlikely(is_subclass == -1)) { | |
| goto bad; | |
| } else { | |
| type = instance_class; | |
| } | |
| } | |
| } | |
| if (!instance_class) { | |
| PyObject *args; | |
| if (!value) | |
| args = PyTuple_New(0); | |
| else if (PyTuple_Check(value)) { | |
| Py_INCREF(value); | |
| args = value; | |
| } else | |
| args = PyTuple_Pack(1, value); | |
| if (!args) | |
| goto bad; | |
| owned_instance = PyObject_Call(type, args, NULL); | |
| Py_DECREF(args); | |
| if (!owned_instance) | |
| goto bad; | |
| value = owned_instance; | |
| if (!PyExceptionInstance_Check(value)) { | |
| PyErr_Format(PyExc_TypeError, | |
| "calling %R should have returned an instance of " | |
| "BaseException, not %R", | |
| type, Py_TYPE(value)); | |
| goto bad; | |
| } | |
| } | |
| } else { | |
| PyErr_SetString(PyExc_TypeError, | |
| "raise: exception class must be a subclass of BaseException"); | |
| goto bad; | |
| } | |
| if (cause) { | |
| PyObject *fixed_cause; | |
| if (cause == Py_None) { | |
| fixed_cause = NULL; | |
| } else if (PyExceptionClass_Check(cause)) { | |
| fixed_cause = PyObject_CallObject(cause, NULL); | |
| if (fixed_cause == NULL) | |
| goto bad; | |
| } else if (PyExceptionInstance_Check(cause)) { | |
| fixed_cause = cause; | |
| Py_INCREF(fixed_cause); | |
| } else { | |
| PyErr_SetString(PyExc_TypeError, | |
| "exception causes must derive from " | |
| "BaseException"); | |
| goto bad; | |
| } | |
| PyException_SetCause(value, fixed_cause); | |
| } | |
| PyErr_SetObject(type, value); | |
| if (tb) { | |
| PyException_SetTraceback(value, tb); | |
| PyThreadState *tstate = __Pyx_PyThreadState_Current; | |
| PyObject* tmp_tb = tstate->curexc_traceback; | |
| if (tb != tmp_tb) { | |
| Py_INCREF(tb); | |
| tstate->curexc_traceback = tb; | |
| Py_XDECREF(tmp_tb); | |
| } | |
| PyObject *tmp_type, *tmp_value, *tmp_tb; | |
| PyErr_Fetch(&tmp_type, &tmp_value, &tmp_tb); | |
| Py_INCREF(tb); | |
| PyErr_Restore(tmp_type, tmp_value, tb); | |
| Py_XDECREF(tmp_tb); | |
| } | |
| bad: | |
| Py_XDECREF(owned_instance); | |
| return; | |
| } | |
| /* JoinPyUnicode */ | |
| static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength, | |
| Py_UCS4 max_char) { | |
| PyObject *result_uval; | |
| int result_ukind, kind_shift; | |
| Py_ssize_t i, char_pos; | |
| void *result_udata; | |
| CYTHON_MAYBE_UNUSED_VAR(max_char); | |
| result_uval = PyUnicode_New(result_ulength, max_char); | |
| if (unlikely(!result_uval)) return NULL; | |
| result_ukind = (max_char <= 255) ? PyUnicode_1BYTE_KIND : (max_char <= 65535) ? PyUnicode_2BYTE_KIND : PyUnicode_4BYTE_KIND; | |
| kind_shift = (result_ukind == PyUnicode_4BYTE_KIND) ? 2 : result_ukind - 1; | |
| result_udata = PyUnicode_DATA(result_uval); | |
| result_uval = PyUnicode_FromUnicode(NULL, result_ulength); | |
| if (unlikely(!result_uval)) return NULL; | |
| result_ukind = sizeof(Py_UNICODE); | |
| kind_shift = (result_ukind == 4) ? 2 : result_ukind - 1; | |
| result_udata = PyUnicode_AS_UNICODE(result_uval); | |
| assert(kind_shift == 2 || kind_shift == 1 || kind_shift == 0); | |
| char_pos = 0; | |
| for (i=0; i < value_count; i++) { | |
| int ukind; | |
| Py_ssize_t ulength; | |
| void *udata; | |
| PyObject *uval = PyTuple_GET_ITEM(value_tuple, i); | |
| if (unlikely(__Pyx_PyUnicode_READY(uval))) | |
| goto bad; | |
| ulength = __Pyx_PyUnicode_GET_LENGTH(uval); | |
| if (unlikely(!ulength)) | |
| continue; | |
| if (unlikely((PY_SSIZE_T_MAX >> kind_shift) - ulength < char_pos)) | |
| goto overflow; | |
| ukind = __Pyx_PyUnicode_KIND(uval); | |
| udata = __Pyx_PyUnicode_DATA(uval); | |
| if (!CYTHON_PEP393_ENABLED || ukind == result_ukind) { | |
| memcpy((char *)result_udata + (char_pos << kind_shift), udata, (size_t) (ulength << kind_shift)); | |
| } else { | |
| _PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength); | |
| Py_ssize_t j; | |
| for (j=0; j < ulength; j++) { | |
| Py_UCS4 uchar = __Pyx_PyUnicode_READ(ukind, udata, j); | |
| __Pyx_PyUnicode_WRITE(result_ukind, result_udata, char_pos+j, uchar); | |
| } | |
| } | |
| char_pos += ulength; | |
| } | |
| return result_uval; | |
| overflow: | |
| PyErr_SetString(PyExc_OverflowError, "join() result is too long for a Python string"); | |
| bad: | |
| Py_DECREF(result_uval); | |
| return NULL; | |
| CYTHON_UNUSED_VAR(max_char); | |
| CYTHON_UNUSED_VAR(result_ulength); | |
| CYTHON_UNUSED_VAR(value_count); | |
| return PyUnicode_Join(__pyx_empty_unicode, value_tuple); | |
| } | |
| /* ArgTypeTest */ | |
| static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact) | |
| { | |
| __Pyx_TypeName type_name; | |
| __Pyx_TypeName obj_type_name; | |
| if (unlikely(!type)) { | |
| PyErr_SetString(PyExc_SystemError, "Missing type object"); | |
| return 0; | |
| } | |
| else if (exact) { | |
| if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1; | |
| } | |
| else { | |
| if (likely(__Pyx_TypeCheck(obj, type))) return 1; | |
| } | |
| type_name = __Pyx_PyType_GetName(type); | |
| obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); | |
| PyErr_Format(PyExc_TypeError, | |
| "Argument '%.200s' has incorrect type (expected " __Pyx_FMT_TYPENAME | |
| ", got " __Pyx_FMT_TYPENAME ")", name, type_name, obj_type_name); | |
| __Pyx_DECREF_TypeName(type_name); | |
| __Pyx_DECREF_TypeName(obj_type_name); | |
| return 0; | |
| } | |
| /* RaiseUnexpectedTypeError */ | |
| static int | |
| __Pyx_RaiseUnexpectedTypeError(const char *expected, PyObject *obj) | |
| { | |
| __Pyx_TypeName obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); | |
| PyErr_Format(PyExc_TypeError, "Expected %s, got " __Pyx_FMT_TYPENAME, | |
| expected, obj_type_name); | |
| __Pyx_DECREF_TypeName(obj_type_name); | |
| return 0; | |
| } | |
| /* UnpackUnboundCMethod */ | |
| static PyObject *__Pyx_SelflessCall(PyObject *method, PyObject *args, PyObject *kwargs) { | |
| PyObject *selfless_args = PyTuple_GetSlice(args, 1, PyTuple_Size(args)); | |
| if (unlikely(!selfless_args)) return NULL; | |
| PyObject *result = PyObject_Call(method, selfless_args, kwargs); | |
| Py_DECREF(selfless_args); | |
| return result; | |
| } | |
| static PyMethodDef __Pyx_UnboundCMethod_Def = { | |
| "CythonUnboundCMethod", | |
| __PYX_REINTERPRET_FUNCION(PyCFunction, __Pyx_SelflessCall), | |
| METH_VARARGS | METH_KEYWORDS, | |
| NULL | |
| }; | |
| static int __Pyx_TryUnpackUnboundCMethod(__Pyx_CachedCFunction* target) { | |
| PyObject *method; | |
| method = __Pyx_PyObject_GetAttrStr(target->type, *target->method_name); | |
| if (unlikely(!method)) | |
| return -1; | |
| target->method = method; | |
| if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type))) | |
| if (likely(!PyCFunction_Check(method))) | |
| { | |
| PyMethodDescrObject *descr = (PyMethodDescrObject*) method; | |
| target->func = descr->d_method->ml_meth; | |
| target->flag = descr->d_method->ml_flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_STACKLESS); | |
| } else | |
| if (PyCFunction_CheckExact(method)) | |
| if (PyCFunction_Check(method)) | |
| { | |
| PyObject *self; | |
| int self_found; | |
| self = PyObject_GetAttrString(method, "__self__"); | |
| if (!self) { | |
| PyErr_Clear(); | |
| } | |
| self = PyCFunction_GET_SELF(method); | |
| self_found = (self && self != Py_None); | |
| Py_XDECREF(self); | |
| if (self_found) { | |
| PyObject *unbound_method = PyCFunction_New(&__Pyx_UnboundCMethod_Def, method); | |
| if (unlikely(!unbound_method)) return -1; | |
| Py_DECREF(method); | |
| target->method = unbound_method; | |
| } | |
| } | |
| return 0; | |
| } | |
| /* CallUnboundCMethod0 */ | |
| static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self) { | |
| PyObject *args, *result = NULL; | |
| if (unlikely(!cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL; | |
| args = PyTuple_New(1); | |
| if (unlikely(!args)) goto bad; | |
| Py_INCREF(self); | |
| PyTuple_SET_ITEM(args, 0, self); | |
| args = PyTuple_Pack(1, self); | |
| if (unlikely(!args)) goto bad; | |
| result = __Pyx_PyObject_Call(cfunc->method, args, NULL); | |
| Py_DECREF(args); | |
| bad: | |
| return result; | |
| } | |
| /* GetItemInt */ | |
| static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) { | |
| PyObject *r; | |
| if (unlikely(!j)) return NULL; | |
| r = PyObject_GetItem(o, j); | |
| Py_DECREF(j); | |
| return r; | |
| } | |
| static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i, | |
| CYTHON_NCP_UNUSED int wraparound, | |
| CYTHON_NCP_UNUSED int boundscheck) { | |
| Py_ssize_t wrapped_i = i; | |
| if (wraparound & unlikely(i < 0)) { | |
| wrapped_i += PyList_GET_SIZE(o); | |
| } | |
| if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyList_GET_SIZE(o)))) { | |
| PyObject *r = PyList_GET_ITEM(o, wrapped_i); | |
| Py_INCREF(r); | |
| return r; | |
| } | |
| return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); | |
| return PySequence_GetItem(o, i); | |
| } | |
| static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i, | |
| CYTHON_NCP_UNUSED int wraparound, | |
| CYTHON_NCP_UNUSED int boundscheck) { | |
| Py_ssize_t wrapped_i = i; | |
| if (wraparound & unlikely(i < 0)) { | |
| wrapped_i += PyTuple_GET_SIZE(o); | |
| } | |
| if ((!boundscheck) || likely(__Pyx_is_valid_index(wrapped_i, PyTuple_GET_SIZE(o)))) { | |
| PyObject *r = PyTuple_GET_ITEM(o, wrapped_i); | |
| Py_INCREF(r); | |
| return r; | |
| } | |
| return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); | |
| return PySequence_GetItem(o, i); | |
| } | |
| static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Fast(PyObject *o, Py_ssize_t i, int is_list, | |
| CYTHON_NCP_UNUSED int wraparound, | |
| CYTHON_NCP_UNUSED int boundscheck) { | |
| if (is_list || PyList_CheckExact(o)) { | |
| Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyList_GET_SIZE(o); | |
| if ((!boundscheck) || (likely(__Pyx_is_valid_index(n, PyList_GET_SIZE(o))))) { | |
| PyObject *r = PyList_GET_ITEM(o, n); | |
| Py_INCREF(r); | |
| return r; | |
| } | |
| } | |
| else if (PyTuple_CheckExact(o)) { | |
| Py_ssize_t n = ((!wraparound) | likely(i >= 0)) ? i : i + PyTuple_GET_SIZE(o); | |
| if ((!boundscheck) || likely(__Pyx_is_valid_index(n, PyTuple_GET_SIZE(o)))) { | |
| PyObject *r = PyTuple_GET_ITEM(o, n); | |
| Py_INCREF(r); | |
| return r; | |
| } | |
| } else { | |
| PyMappingMethods *mm = Py_TYPE(o)->tp_as_mapping; | |
| PySequenceMethods *sm = Py_TYPE(o)->tp_as_sequence; | |
| if (mm && mm->mp_subscript) { | |
| PyObject *r, *key = PyInt_FromSsize_t(i); | |
| if (unlikely(!key)) return NULL; | |
| r = mm->mp_subscript(o, key); | |
| Py_DECREF(key); | |
| return r; | |
| } | |
| if (likely(sm && sm->sq_item)) { | |
| if (wraparound && unlikely(i < 0) && likely(sm->sq_length)) { | |
| Py_ssize_t l = sm->sq_length(o); | |
| if (likely(l >= 0)) { | |
| i += l; | |
| } else { | |
| if (!PyErr_ExceptionMatches(PyExc_OverflowError)) | |
| return NULL; | |
| PyErr_Clear(); | |
| } | |
| } | |
| return sm->sq_item(o, i); | |
| } | |
| } | |
| if (is_list || PySequence_Check(o)) { | |
| return PySequence_GetItem(o, i); | |
| } | |
| return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i)); | |
| } | |
| /* ObjectGetItem */ | |
| static PyObject *__Pyx_PyObject_GetIndex(PyObject *obj, PyObject *index) { | |
| PyObject *runerr = NULL; | |
| Py_ssize_t key_value; | |
| key_value = __Pyx_PyIndex_AsSsize_t(index); | |
| if (likely(key_value != -1 || !(runerr = PyErr_Occurred()))) { | |
| return __Pyx_GetItemInt_Fast(obj, key_value, 0, 1, 1); | |
| } | |
| if (PyErr_GivenExceptionMatches(runerr, PyExc_OverflowError)) { | |
| __Pyx_TypeName index_type_name = __Pyx_PyType_GetName(Py_TYPE(index)); | |
| PyErr_Clear(); | |
| PyErr_Format(PyExc_IndexError, | |
| "cannot fit '" __Pyx_FMT_TYPENAME "' into an index-sized integer", index_type_name); | |
| __Pyx_DECREF_TypeName(index_type_name); | |
| } | |
| return NULL; | |
| } | |
| static PyObject *__Pyx_PyObject_GetItem_Slow(PyObject *obj, PyObject *key) { | |
| __Pyx_TypeName obj_type_name; | |
| if (likely(PyType_Check(obj))) { | |
| PyObject *meth = __Pyx_PyObject_GetAttrStrNoError(obj, __pyx_n_s_class_getitem); | |
| if (meth) { | |
| PyObject *result = __Pyx_PyObject_CallOneArg(meth, key); | |
| Py_DECREF(meth); | |
| return result; | |
| } | |
| } | |
| obj_type_name = __Pyx_PyType_GetName(Py_TYPE(obj)); | |
| PyErr_Format(PyExc_TypeError, | |
| "'" __Pyx_FMT_TYPENAME "' object is not subscriptable", obj_type_name); | |
| __Pyx_DECREF_TypeName(obj_type_name); | |
| return NULL; | |
| } | |
| static PyObject *__Pyx_PyObject_GetItem(PyObject *obj, PyObject *key) { | |
| PyTypeObject *tp = Py_TYPE(obj); | |
| PyMappingMethods *mm = tp->tp_as_mapping; | |
| PySequenceMethods *sm = tp->tp_as_sequence; | |
| if (likely(mm && mm->mp_subscript)) { | |
| return mm->mp_subscript(obj, key); | |
| } | |
| if (likely(sm && sm->sq_item)) { | |
| return __Pyx_PyObject_GetIndex(obj, key); | |
| } | |
| return __Pyx_PyObject_GetItem_Slow(obj, key); | |
| } | |
| /* PyUnicode_Unicode */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyUnicode_Unicode(PyObject *obj) { | |
| if (unlikely(obj == Py_None)) | |
| obj = __pyx_kp_u_None; | |
| return __Pyx_NewRef(obj); | |
| } | |
| /* Import */ | |
| static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) { | |
| PyObject *module = 0; | |
| PyObject *empty_dict = 0; | |
| PyObject *empty_list = 0; | |
| PyObject *py_import; | |
| py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import); | |
| if (unlikely(!py_import)) | |
| goto bad; | |
| if (!from_list) { | |
| empty_list = PyList_New(0); | |
| if (unlikely(!empty_list)) | |
| goto bad; | |
| from_list = empty_list; | |
| } | |
| empty_dict = PyDict_New(); | |
| if (unlikely(!empty_dict)) | |
| goto bad; | |
| { | |
| if (level == -1) { | |
| if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) { | |
| module = PyImport_ImportModuleLevelObject( | |
| name, empty_dict, empty_dict, from_list, 1); | |
| module = PyImport_ImportModuleLevelObject( | |
| name, __pyx_d, empty_dict, from_list, 1); | |
| if (unlikely(!module)) { | |
| if (unlikely(!PyErr_ExceptionMatches(PyExc_ImportError))) | |
| goto bad; | |
| PyErr_Clear(); | |
| } | |
| } | |
| level = 0; | |
| } | |
| if (!module) { | |
| PyObject *py_level = PyInt_FromLong(level); | |
| if (unlikely(!py_level)) | |
| goto bad; | |
| module = PyObject_CallFunctionObjArgs(py_import, | |
| name, __pyx_d, empty_dict, from_list, py_level, (PyObject *)NULL); | |
| Py_DECREF(py_level); | |
| module = PyImport_ImportModuleLevelObject( | |
| name, empty_dict, empty_dict, from_list, level); | |
| module = PyImport_ImportModuleLevelObject( | |
| name, __pyx_d, empty_dict, from_list, level); | |
| } | |
| } | |
| bad: | |
| Py_XDECREF(empty_dict); | |
| Py_XDECREF(empty_list); | |
| Py_XDECREF(py_import); | |
| return module; | |
| } | |
| /* ImportFrom */ | |
| static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name) { | |
| PyObject* value = __Pyx_PyObject_GetAttrStr(module, name); | |
| if (unlikely(!value) && PyErr_ExceptionMatches(PyExc_AttributeError)) { | |
| const char* module_name_str = 0; | |
| PyObject* module_name = 0; | |
| PyObject* module_dot = 0; | |
| PyObject* full_name = 0; | |
| PyErr_Clear(); | |
| module_name_str = PyModule_GetName(module); | |
| if (unlikely(!module_name_str)) { goto modbad; } | |
| module_name = PyUnicode_FromString(module_name_str); | |
| if (unlikely(!module_name)) { goto modbad; } | |
| module_dot = PyUnicode_Concat(module_name, __pyx_kp_u__3); | |
| if (unlikely(!module_dot)) { goto modbad; } | |
| full_name = PyUnicode_Concat(module_dot, name); | |
| if (unlikely(!full_name)) { goto modbad; } | |
| { | |
| PyObject *modules = PyImport_GetModuleDict(); | |
| if (unlikely(!modules)) | |
| goto modbad; | |
| value = PyObject_GetItem(modules, full_name); | |
| } | |
| value = PyImport_GetModule(full_name); | |
| modbad: | |
| Py_XDECREF(full_name); | |
| Py_XDECREF(module_dot); | |
| Py_XDECREF(module_name); | |
| } | |
| if (unlikely(!value)) { | |
| PyErr_Format(PyExc_ImportError, | |
| "cannot import name %.230s", PyString_AS_STRING(name)); | |
| "cannot import name %S", name); | |
| } | |
| return value; | |
| } | |
| /* ImportDottedModule */ | |
| static PyObject *__Pyx__ImportDottedModule_Error(PyObject *name, PyObject *parts_tuple, Py_ssize_t count) { | |
| PyObject *partial_name = NULL, *slice = NULL, *sep = NULL; | |
| if (unlikely(PyErr_Occurred())) { | |
| PyErr_Clear(); | |
| } | |
| if (likely(PyTuple_GET_SIZE(parts_tuple) == count)) { | |
| partial_name = name; | |
| } else { | |
| slice = PySequence_GetSlice(parts_tuple, 0, count); | |
| if (unlikely(!slice)) | |
| goto bad; | |
| sep = PyUnicode_FromStringAndSize(".", 1); | |
| if (unlikely(!sep)) | |
| goto bad; | |
| partial_name = PyUnicode_Join(sep, slice); | |
| } | |
| PyErr_Format( | |
| PyExc_ImportError, | |
| "No module named '%s'", PyString_AS_STRING(partial_name)); | |
| PyExc_ModuleNotFoundError, | |
| PyExc_ImportError, | |
| "No module named '%U'", partial_name); | |
| bad: | |
| Py_XDECREF(sep); | |
| Py_XDECREF(slice); | |
| Py_XDECREF(partial_name); | |
| return NULL; | |
| } | |
| static PyObject *__Pyx__ImportDottedModule_Lookup(PyObject *name) { | |
| PyObject *imported_module; | |
| PyObject *modules = PyImport_GetModuleDict(); | |
| if (unlikely(!modules)) | |
| return NULL; | |
| imported_module = __Pyx_PyDict_GetItemStr(modules, name); | |
| Py_XINCREF(imported_module); | |
| imported_module = PyImport_GetModule(name); | |
| return imported_module; | |
| } | |
| static PyObject *__Pyx_ImportDottedModule_WalkParts(PyObject *module, PyObject *name, PyObject *parts_tuple) { | |
| Py_ssize_t i, nparts; | |
| nparts = PyTuple_GET_SIZE(parts_tuple); | |
| for (i=1; i < nparts && module; i++) { | |
| PyObject *part, *submodule; | |
| part = PyTuple_GET_ITEM(parts_tuple, i); | |
| part = PySequence_ITEM(parts_tuple, i); | |
| submodule = __Pyx_PyObject_GetAttrStrNoError(module, part); | |
| Py_DECREF(part); | |
| Py_DECREF(module); | |
| module = submodule; | |
| } | |
| if (unlikely(!module)) { | |
| return __Pyx__ImportDottedModule_Error(name, parts_tuple, i); | |
| } | |
| return module; | |
| } | |
| static PyObject *__Pyx__ImportDottedModule(PyObject *name, PyObject *parts_tuple) { | |
| PyObject *module, *from_list, *star = __pyx_n_s__5; | |
| CYTHON_UNUSED_VAR(parts_tuple); | |
| from_list = PyList_New(1); | |
| if (unlikely(!from_list)) | |
| return NULL; | |
| Py_INCREF(star); | |
| PyList_SET_ITEM(from_list, 0, star); | |
| module = __Pyx_Import(name, from_list, 0); | |
| Py_DECREF(from_list); | |
| return module; | |
| PyObject *imported_module; | |
| PyObject *module = __Pyx_Import(name, NULL, 0); | |
| if (!parts_tuple || unlikely(!module)) | |
| return module; | |
| imported_module = __Pyx__ImportDottedModule_Lookup(name); | |
| if (likely(imported_module)) { | |
| Py_DECREF(module); | |
| return imported_module; | |
| } | |
| PyErr_Clear(); | |
| return __Pyx_ImportDottedModule_WalkParts(module, name, parts_tuple); | |
| } | |
| static PyObject *__Pyx_ImportDottedModule(PyObject *name, PyObject *parts_tuple) { | |
| PyObject *module = __Pyx__ImportDottedModule_Lookup(name); | |
| if (likely(module)) { | |
| PyObject *spec = __Pyx_PyObject_GetAttrStrNoError(module, __pyx_n_s_spec); | |
| if (likely(spec)) { | |
| PyObject *unsafe = __Pyx_PyObject_GetAttrStrNoError(spec, __pyx_n_s_initializing); | |
| if (likely(!unsafe || !__Pyx_PyObject_IsTrue(unsafe))) { | |
| Py_DECREF(spec); | |
| spec = NULL; | |
| } | |
| Py_XDECREF(unsafe); | |
| } | |
| if (likely(!spec)) { | |
| PyErr_Clear(); | |
| return module; | |
| } | |
| Py_DECREF(spec); | |
| Py_DECREF(module); | |
| } else if (PyErr_Occurred()) { | |
| PyErr_Clear(); | |
| } | |
| return __Pyx__ImportDottedModule(name, parts_tuple); | |
| } | |
| /* FixUpExtensionType */ | |
| static int __Pyx_fix_up_extension_type_from_spec(PyType_Spec *spec, PyTypeObject *type) { | |
| CYTHON_UNUSED_VAR(spec); | |
| CYTHON_UNUSED_VAR(type); | |
| const PyType_Slot *slot = spec->slots; | |
| while (slot && slot->slot && slot->slot != Py_tp_members) | |
| slot++; | |
| if (slot && slot->slot == Py_tp_members) { | |
| int changed = 0; | |
| const | |
| PyMemberDef *memb = (PyMemberDef*) slot->pfunc; | |
| while (memb && memb->name) { | |
| if (memb->name[0] == '_' && memb->name[1] == '_') { | |
| if (strcmp(memb->name, "__weaklistoffset__") == 0) { | |
| assert(memb->type == T_PYSSIZET); | |
| assert(memb->flags == READONLY); | |
| type->tp_weaklistoffset = memb->offset; | |
| changed = 1; | |
| } | |
| else if (strcmp(memb->name, "__dictoffset__") == 0) { | |
| assert(memb->type == T_PYSSIZET); | |
| assert(memb->flags == READONLY); | |
| type->tp_dictoffset = memb->offset; | |
| changed = 1; | |
| } | |
| else if (strcmp(memb->name, "__vectorcalloffset__") == 0) { | |
| assert(memb->type == T_PYSSIZET); | |
| assert(memb->flags == READONLY); | |
| type->tp_vectorcall_offset = memb->offset; | |
| type->tp_print = (printfunc) memb->offset; | |
| changed = 1; | |
| } | |
| if ((0)); | |
| else if (strcmp(memb->name, "__module__") == 0) { | |
| PyObject *descr; | |
| assert(memb->type == T_OBJECT); | |
| assert(memb->flags == 0 || memb->flags == READONLY); | |
| descr = PyDescr_NewMember(type, memb); | |
| if (unlikely(!descr)) | |
| return -1; | |
| if (unlikely(PyDict_SetItem(type->tp_dict, PyDescr_NAME(descr), descr) < 0)) { | |
| Py_DECREF(descr); | |
| return -1; | |
| } | |
| Py_DECREF(descr); | |
| changed = 1; | |
| } | |
| } | |
| memb++; | |
| } | |
| if (changed) | |
| PyType_Modified(type); | |
| } | |
| return 0; | |
| } | |
| /* FetchSharedCythonModule */ | |
| static PyObject *__Pyx_FetchSharedCythonABIModule(void) { | |
| PyObject *abi_module = PyImport_AddModule((char*) __PYX_ABI_MODULE_NAME); | |
| if (unlikely(!abi_module)) return NULL; | |
| Py_INCREF(abi_module); | |
| return abi_module; | |
| } | |
| /* FetchCommonType */ | |
| static int __Pyx_VerifyCachedType(PyObject *cached_type, | |
| const char *name, | |
| Py_ssize_t basicsize, | |
| Py_ssize_t expected_basicsize) { | |
| if (!PyType_Check(cached_type)) { | |
| PyErr_Format(PyExc_TypeError, | |
| "Shared Cython type %.200s is not a type object", name); | |
| return -1; | |
| } | |
| if (basicsize != expected_basicsize) { | |
| PyErr_Format(PyExc_TypeError, | |
| "Shared Cython type %.200s has the wrong size, try recompiling", | |
| name); | |
| return -1; | |
| } | |
| return 0; | |
| } | |
| static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) { | |
| PyObject* abi_module; | |
| const char* object_name; | |
| PyTypeObject *cached_type = NULL; | |
| abi_module = __Pyx_FetchSharedCythonABIModule(); | |
| if (!abi_module) return NULL; | |
| object_name = strrchr(type->tp_name, '.'); | |
| object_name = object_name ? object_name+1 : type->tp_name; | |
| cached_type = (PyTypeObject*) PyObject_GetAttrString(abi_module, object_name); | |
| if (cached_type) { | |
| if (__Pyx_VerifyCachedType( | |
| (PyObject *)cached_type, | |
| object_name, | |
| cached_type->tp_basicsize, | |
| type->tp_basicsize) < 0) { | |
| goto bad; | |
| } | |
| goto done; | |
| } | |
| if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; | |
| PyErr_Clear(); | |
| if (PyType_Ready(type) < 0) goto bad; | |
| if (PyObject_SetAttrString(abi_module, object_name, (PyObject *)type) < 0) | |
| goto bad; | |
| Py_INCREF(type); | |
| cached_type = type; | |
| done: | |
| Py_DECREF(abi_module); | |
| return cached_type; | |
| bad: | |
| Py_XDECREF(cached_type); | |
| cached_type = NULL; | |
| goto done; | |
| } | |
| static PyTypeObject *__Pyx_FetchCommonTypeFromSpec(PyObject *module, PyType_Spec *spec, PyObject *bases) { | |
| PyObject *abi_module, *cached_type = NULL; | |
| const char* object_name = strrchr(spec->name, '.'); | |
| object_name = object_name ? object_name+1 : spec->name; | |
| abi_module = __Pyx_FetchSharedCythonABIModule(); | |
| if (!abi_module) return NULL; | |
| cached_type = PyObject_GetAttrString(abi_module, object_name); | |
| if (cached_type) { | |
| Py_ssize_t basicsize; | |
| PyObject *py_basicsize; | |
| py_basicsize = PyObject_GetAttrString(cached_type, "__basicsize__"); | |
| if (unlikely(!py_basicsize)) goto bad; | |
| basicsize = PyLong_AsSsize_t(py_basicsize); | |
| Py_DECREF(py_basicsize); | |
| py_basicsize = 0; | |
| if (unlikely(basicsize == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad; | |
| basicsize = likely(PyType_Check(cached_type)) ? ((PyTypeObject*) cached_type)->tp_basicsize : -1; | |
| if (__Pyx_VerifyCachedType( | |
| cached_type, | |
| object_name, | |
| basicsize, | |
| spec->basicsize) < 0) { | |
| goto bad; | |
| } | |
| goto done; | |
| } | |
| if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad; | |
| PyErr_Clear(); | |
| CYTHON_UNUSED_VAR(module); | |
| cached_type = __Pyx_PyType_FromModuleAndSpec(abi_module, spec, bases); | |
| if (unlikely(!cached_type)) goto bad; | |
| if (unlikely(__Pyx_fix_up_extension_type_from_spec(spec, (PyTypeObject *) cached_type) < 0)) goto bad; | |
| if (PyObject_SetAttrString(abi_module, object_name, cached_type) < 0) goto bad; | |
| done: | |
| Py_DECREF(abi_module); | |
| assert(cached_type == NULL || PyType_Check(cached_type)); | |
| return (PyTypeObject *) cached_type; | |
| bad: | |
| Py_XDECREF(cached_type); | |
| cached_type = NULL; | |
| goto done; | |
| } | |
| /* PyVectorcallFastCallDict */ | |
| static PyObject *__Pyx_PyVectorcall_FastCallDict_kw(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw) | |
| { | |
| PyObject *res = NULL; | |
| PyObject *kwnames; | |
| PyObject **newargs; | |
| PyObject **kwvalues; | |
| Py_ssize_t i, pos; | |
| size_t j; | |
| PyObject *key, *value; | |
| unsigned long keys_are_strings; | |
| Py_ssize_t nkw = PyDict_GET_SIZE(kw); | |
| newargs = (PyObject **)PyMem_Malloc((nargs + (size_t)nkw) * sizeof(args[0])); | |
| if (unlikely(newargs == NULL)) { | |
| PyErr_NoMemory(); | |
| return NULL; | |
| } | |
| for (j = 0; j < nargs; j++) newargs[j] = args[j]; | |
| kwnames = PyTuple_New(nkw); | |
| if (unlikely(kwnames == NULL)) { | |
| PyMem_Free(newargs); | |
| return NULL; | |
| } | |
| kwvalues = newargs + nargs; | |
| pos = i = 0; | |
| keys_are_strings = Py_TPFLAGS_UNICODE_SUBCLASS; | |
| while (PyDict_Next(kw, &pos, &key, &value)) { | |
| keys_are_strings &= Py_TYPE(key)->tp_flags; | |
| Py_INCREF(key); | |
| Py_INCREF(value); | |
| PyTuple_SET_ITEM(kwnames, i, key); | |
| kwvalues[i] = value; | |
| i++; | |
| } | |
| if (unlikely(!keys_are_strings)) { | |
| PyErr_SetString(PyExc_TypeError, "keywords must be strings"); | |
| goto cleanup; | |
| } | |
| res = vc(func, newargs, nargs, kwnames); | |
| cleanup: | |
| Py_DECREF(kwnames); | |
| for (i = 0; i < nkw; i++) | |
| Py_DECREF(kwvalues[i]); | |
| PyMem_Free(newargs); | |
| return res; | |
| } | |
| static CYTHON_INLINE PyObject *__Pyx_PyVectorcall_FastCallDict(PyObject *func, __pyx_vectorcallfunc vc, PyObject *const *args, size_t nargs, PyObject *kw) | |
| { | |
| if (likely(kw == NULL) || PyDict_GET_SIZE(kw) == 0) { | |
| return vc(func, args, nargs, NULL); | |
| } | |
| return __Pyx_PyVectorcall_FastCallDict_kw(func, vc, args, nargs, kw); | |
| } | |
| /* CythonFunctionShared */ | |
| static CYTHON_INLINE void __Pyx__CyFunction_SetClassObj(__pyx_CyFunctionObject* f, PyObject* classobj) { | |
| __Pyx_Py_XDECREF_SET( | |
| __Pyx_CyFunction_GetClassObj(f), | |
| ((classobj) ? __Pyx_NewRef(classobj) : NULL)); | |
| __Pyx_Py_XDECREF_SET( | |
| ((PyCMethodObject *) (f))->mm_class, | |
| (PyTypeObject*)((classobj) ? __Pyx_NewRef(classobj) : NULL)); | |
| } | |
| static PyObject * | |
| __Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, void *closure) | |
| { | |
| CYTHON_UNUSED_VAR(closure); | |
| if (unlikely(op->func_doc == NULL)) { | |
| if (((PyCFunctionObject*)op)->m_ml->ml_doc) { | |
| op->func_doc = PyUnicode_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc); | |
| op->func_doc = PyString_FromString(((PyCFunctionObject*)op)->m_ml->ml_doc); | |
| if (unlikely(op->func_doc == NULL)) | |
| return NULL; | |
| } else { | |
| Py_INCREF(Py_None); | |
| return Py_None; | |
| } | |
| } | |
| Py_INCREF(op->func_doc); | |
| return op->func_doc; | |
| } | |
| static int | |
| __Pyx_CyFunction_set_doc(__pyx_CyFunctionObject *op, PyObject *value, void *context) | |
| { | |
| CYTHON_UNUSED_VAR(context); | |
| if (value == NULL) { | |
| value = Py_None; | |
| } | |
| Py_INCREF(value); | |
| __Pyx_Py_XDECREF_SET(op->func_doc, value); | |
| return 0; | |
| } | |
| static PyObject * | |
| __Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, void *context) | |
| { | |
| CYTHON_UNUSED_VAR(context); | |
| if (unlikely(op->func_name == NULL)) { | |
| op->func_name = PyUnicode_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name); | |
| op->func_name = PyString_InternFromString(((PyCFunctionObject*)op)->m_ml->ml_name); | |
| if (unlikely(op->func_name == NULL)) | |
| return NULL; | |
| } | |
| Py_INCREF(op->func_name); | |
| return op->func_name; | |
| } | |
| static int | |
| __Pyx_CyFunction_set_name(__pyx_CyFunctionObject *op, PyObject *value, void *context) | |
| { | |
| CYTHON_UNUSED_VAR(context); | |
| if (unlikely(value == NULL || !PyUnicode_Check(value))) | |
| if (unlikely(value == NULL || !PyString_Check(value))) | |
| { | |
| PyErr_SetString(PyExc_TypeError, | |
| "__name__ must be set to a string object"); | |
| return -1; | |
| } | |
| Py_INCREF(value); | |
| __Pyx_Py_XDECREF_SET(op->func_name, value); | |
| return 0; | |
| } | |
| static PyObject * | |
| __Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, void *context) | |
| { | |
| CYTHON_UNUSED_VAR(context); | |
| Py_INCREF(op->func_qualname); | |
| return op->func_qualname; | |
| } | |
| static int | |
| __Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, void *context) | |
| { | |
| CYTHON_UNUSED_VAR(context); | |
| if (unlikely(value == NULL || !PyUnicode_Check(value))) | |
| if (unlikely(value == NULL || !PyString_Check(value))) | |
| { | |
| PyErr_SetString(PyExc_TypeError, | |
| "__qualname__ must be set to a string object"); | |
| return -1; | |
| } | |
| Py_INCREF(value); | |
| __Pyx_Py_XDECREF_SET(op->func_qualname, value); | |
| return 0; | |
| } | |
| static PyObject * | |
| __Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, void *context) | |
| { | |
| CYTHON_UNUSED_VAR(context); | |
| if (unlikely(op->func_dict == NULL)) { | |
| op->func_dict = PyDict_New(); | |
| if (unlikely(op->func_dict == NULL)) | |
| return NULL; | |
| } | |
| Py_INCREF(op->func_dict); | |
| return op->func_dict; | |
| } | |
| static int | |
| __Pyx_CyFunction_set_dict(__pyx_CyFunctionObject *op, PyObject *value, void *context) | |
| { | |
| CYTHON_UNUSED_VAR(context); | |
| if (unlikely(value == NULL)) { | |
| PyErr_SetString(PyExc_TypeError, | |
| "function's dictionary may not be deleted"); | |
| return -1; | |
| } | |
| if (unlikely(!PyDict_Check(value))) { | |
| PyErr_SetString(PyExc_TypeError, | |
| "setting function's dictionary to a non-dict"); | |
| return -1; | |
| } | |
| Py_INCREF(value); | |
| __Pyx_Py_XDECREF_SET(op->func_dict, value); | |
| return 0; | |
| } | |
| static PyObject * | |
| __Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, void *context) | |
| { | |
| CYTHON_UNUSED_VAR(context); | |
| Py_INCREF(op->func_globals); | |
| return op->func_globals; | |
| } | |
| static PyObject * | |
| __Pyx_CyFunction_get_closure(__pyx_CyFunctionObject *op, void *context) | |
| { | |
| CYTHON_UNUSED_VAR(op); | |
| CYTHON_UNUSED_VAR(context); | |
| Py_INCREF(Py_None); | |
| return Py_None; | |
| } | |
| static PyObject * | |
| __Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, void *context) | |
| { | |
| PyObject* result = (op->func_code) ? op->func_code : Py_None; | |
| CYTHON_UNUSED_VAR(context); | |
| Py_INCREF(result); | |
| return result; | |
| } | |
| static int | |
| __Pyx_CyFunction_init_defaults(__pyx_CyFunctionObject *op) { | |
| int result = 0; | |
| PyObject *res = op->defaults_getter((PyObject *) op); | |
| if (unlikely(!res)) | |
| return -1; | |
| op->defaults_tuple = PyTuple_GET_ITEM(res, 0); | |
| Py_INCREF(op->defaults_tuple); | |
| op->defaults_kwdict = PyTuple_GET_ITEM(res, 1); | |
| Py_INCREF(op->defaults_kwdict); | |
| op->defaults_tuple = PySequence_ITEM(res, 0); | |
| if (unlikely(!op->defaults_tuple)) result = -1; | |
| else { | |
| op->defaults_kwdict = PySequence_ITEM(res, 1); | |
| if (unlikely(!op->defaults_kwdict)) result = -1; | |
| } | |
| Py_DECREF(res); | |
| return result; | |
| } | |
| static int | |
| __Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) { | |
| CYTHON_UNUSED_VAR(context); | |
| if (!value) { | |
| value = Py_None; | |
| } else if (unlikely(value != Py_None && !PyTuple_Check(value))) { | |
| PyErr_SetString(PyExc_TypeError, | |
| "__defaults__ must be set to a tuple object"); | |
| return -1; | |
| } | |
| PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__defaults__ will not " | |
| "currently affect the values used in function calls", 1); | |
| Py_INCREF(value); | |
| __Pyx_Py_XDECREF_SET(op->defaults_tuple, value); | |
| return 0; | |
| } | |
| static PyObject * | |
| __Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, void *context) { | |
| PyObject* result = op->defaults_tuple; | |
| CYTHON_UNUSED_VAR(context); | |
| if (unlikely(!result)) { | |
| if (op->defaults_getter) { | |
| if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL; | |
| result = op->defaults_tuple; | |
| } else { | |
| result = Py_None; | |
| } | |
| } | |
| Py_INCREF(result); | |
| return result; | |
| } | |
| static int | |
| __Pyx_CyFunction_set_kwdefaults(__pyx_CyFunctionObject *op, PyObject* value, void *context) { | |
| CYTHON_UNUSED_VAR(context); | |
| if (!value) { | |
| value = Py_None; | |
| } else if (unlikely(value != Py_None && !PyDict_Check(value))) { | |
| PyErr_SetString(PyExc_TypeError, | |
| "__kwdefaults__ must be set to a dict object"); | |
| return -1; | |
| } | |
| PyErr_WarnEx(PyExc_RuntimeWarning, "changes to cyfunction.__kwdefaults__ will not " | |
| "currently affect the values used in function calls", 1); | |
| Py_INCREF(value); | |
| __Pyx_Py_XDECREF_SET(op->defaults_kwdict, value); | |
| return 0; | |
| } | |
| static PyObject * | |
| __Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, void *context) { | |
| PyObject* result = op->defaults_kwdict; | |
| CYTHON_UNUSED_VAR(context); | |
| if (unlikely(!result)) { | |
| if (op->defaults_getter) { | |
| if (unlikely(__Pyx_CyFunction_init_defaults(op) < 0)) return NULL; | |
| result = op->defaults_kwdict; | |
| } else { | |
| result = Py_None; | |
| } | |
| } | |
| Py_INCREF(result); | |
| return result; | |
| } | |
| static int | |
| __Pyx_CyFunction_set_annotations(__pyx_CyFunctionObject *op, PyObject* value, void *context) { | |
| CYTHON_UNUSED_VAR(context); | |
| if (!value || value == Py_None) { | |
| value = NULL; | |
| } else if (unlikely(!PyDict_Check(value))) { | |
| PyErr_SetString(PyExc_TypeError, | |
| "__annotations__ must be set to a dict object"); | |
| return -1; | |
| } | |
| Py_XINCREF(value); | |
| __Pyx_Py_XDECREF_SET(op->func_annotations, value); | |
| return 0; | |
| } | |
| static PyObject * | |
| __Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, void *context) { | |
| PyObject* result = op->func_annotations; | |
| CYTHON_UNUSED_VAR(context); | |
| if (unlikely(!result)) { | |
| result = PyDict_New(); | |
| if (unlikely(!result)) return NULL; | |
| op->func_annotations = result; | |
| } | |
| Py_INCREF(result); | |
| return result; | |
| } | |
| static PyObject * | |
| __Pyx_CyFunction_get_is_coroutine(__pyx_CyFunctionObject *op, void *context) { | |
| int is_coroutine; | |
| CYTHON_UNUSED_VAR(context); | |
| if (op->func_is_coroutine) { | |
| return __Pyx_NewRef(op->func_is_coroutine); | |
| } | |
| is_coroutine = op->flags & __Pyx_CYFUNCTION_COROUTINE; | |
| if (is_coroutine) { | |
| PyObject *module, *fromlist, *marker = __pyx_n_s_is_coroutine; | |
| fromlist = PyList_New(1); | |
| if (unlikely(!fromlist)) return NULL; | |
| Py_INCREF(marker); | |
| PyList_SET_ITEM(fromlist, 0, marker); | |
| module = PyImport_ImportModuleLevelObject(__pyx_n_s_asyncio_coroutines, NULL, NULL, fromlist, 0); | |
| Py_DECREF(fromlist); | |
| if (unlikely(!module)) goto ignore; | |
| op->func_is_coroutine = __Pyx_PyObject_GetAttrStr(module, marker); | |
| Py_DECREF(module); | |
| if (likely(op->func_is_coroutine)) { | |
| return __Pyx_NewRef(op->func_is_coroutine); | |
| } | |
| ignore: | |
| PyErr_Clear(); | |
| } | |
| op->func_is_coroutine = __Pyx_PyBool_FromLong(is_coroutine); | |
| return __Pyx_NewRef(op->func_is_coroutine); | |
| } | |
| static PyGetSetDef __pyx_CyFunction_getsets[] = { | |
| {(char *) "func_doc", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, | |
| {(char *) "__doc__", (getter)__Pyx_CyFunction_get_doc, (setter)__Pyx_CyFunction_set_doc, 0, 0}, | |
| {(char *) "func_name", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, | |
| {(char *) "__name__", (getter)__Pyx_CyFunction_get_name, (setter)__Pyx_CyFunction_set_name, 0, 0}, | |
| {(char *) "__qualname__", (getter)__Pyx_CyFunction_get_qualname, (setter)__Pyx_CyFunction_set_qualname, 0, 0}, | |
| {(char *) "func_dict", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, | |
| {(char *) "__dict__", (getter)__Pyx_CyFunction_get_dict, (setter)__Pyx_CyFunction_set_dict, 0, 0}, | |
| {(char *) "func_globals", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, | |
| {(char *) "__globals__", (getter)__Pyx_CyFunction_get_globals, 0, 0, 0}, | |
| {(char *) "func_closure", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, | |
| {(char *) "__closure__", (getter)__Pyx_CyFunction_get_closure, 0, 0, 0}, | |
| {(char *) "func_code", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, | |
| {(char *) "__code__", (getter)__Pyx_CyFunction_get_code, 0, 0, 0}, | |
| {(char *) "func_defaults", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, | |
| {(char *) "__defaults__", (getter)__Pyx_CyFunction_get_defaults, (setter)__Pyx_CyFunction_set_defaults, 0, 0}, | |
| {(char *) "__kwdefaults__", (getter)__Pyx_CyFunction_get_kwdefaults, (setter)__Pyx_CyFunction_set_kwdefaults, 0, 0}, | |
| {(char *) "__annotations__", (getter)__Pyx_CyFunction_get_annotations, (setter)__Pyx_CyFunction_set_annotations, 0, 0}, | |
| {(char *) "_is_coroutine", (getter)__Pyx_CyFunction_get_is_coroutine, 0, 0, 0}, | |
| {0, 0, 0, 0, 0} | |
| }; | |
| static PyMemberDef __pyx_CyFunction_members[] = { | |
| {(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), 0, 0}, | |
| {(char *) "__dictoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_dict), READONLY, 0}, | |
| {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_vectorcall), READONLY, 0}, | |
| {(char *) "__vectorcalloffset__", T_PYSSIZET, offsetof(PyCFunctionObject, vectorcall), READONLY, 0}, | |
| {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(__pyx_CyFunctionObject, func_weakreflist), READONLY, 0}, | |
| {(char *) "__weaklistoffset__", T_PYSSIZET, offsetof(PyCFunctionObject, m_weakreflist), READONLY, 0}, | |
| {0, 0, 0, 0, 0} | |
| }; | |
| static PyObject * | |
| __Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, PyObject *args) | |
| { | |
| CYTHON_UNUSED_VAR(args); | |
| Py_INCREF(m->func_qualname); | |
| return m->func_qualname; | |
| return PyString_FromString(((PyCFunctionObject*)m)->m_ml->ml_name); | |
| } | |
| static PyMethodDef __pyx_CyFunction_methods[] = { | |
| {"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0}, | |
| {0, 0, 0, 0} | |
| }; | |
| static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname, | |
| PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { | |
| PyCFunctionObject *cf = (PyCFunctionObject*) op; | |
| if (unlikely(op == NULL)) | |
| return NULL; | |
| op->flags = flags; | |
| __Pyx_CyFunction_weakreflist(op) = NULL; | |
| cf->m_ml = ml; | |
| cf->m_self = (PyObject *) op; | |
| Py_XINCREF(closure); | |
| op->func_closure = closure; | |
| Py_XINCREF(module); | |
| cf->m_module = module; | |
| op->func_dict = NULL; | |
| op->func_name = NULL; | |
| Py_INCREF(qualname); | |
| op->func_qualname = qualname; | |
| op->func_doc = NULL; | |
| op->func_classobj = NULL; | |
| ((PyCMethodObject*)op)->mm_class = NULL; | |
| op->func_globals = globals; | |
| Py_INCREF(op->func_globals); | |
| Py_XINCREF(code); | |
| op->func_code = code; | |
| op->defaults_pyobjects = 0; | |
| op->defaults_size = 0; | |
| op->defaults = NULL; | |
| op->defaults_tuple = NULL; | |
| op->defaults_kwdict = NULL; | |
| op->defaults_getter = NULL; | |
| op->func_annotations = NULL; | |
| op->func_is_coroutine = NULL; | |
| switch (ml->ml_flags & (METH_VARARGS | METH_FASTCALL | METH_NOARGS | METH_O | METH_KEYWORDS | METH_METHOD)) { | |
| case METH_NOARGS: | |
| __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_NOARGS; | |
| break; | |
| case METH_O: | |
| __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_O; | |
| break; | |
| case METH_METHOD | METH_FASTCALL | METH_KEYWORDS: | |
| __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD; | |
| break; | |
| case METH_FASTCALL | METH_KEYWORDS: | |
| __Pyx_CyFunction_func_vectorcall(op) = __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS; | |
| break; | |
| case METH_VARARGS | METH_KEYWORDS: | |
| __Pyx_CyFunction_func_vectorcall(op) = NULL; | |
| break; | |
| default: | |
| PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction"); | |
| Py_DECREF(op); | |
| return NULL; | |
| } | |
| return (PyObject *) op; | |
| } | |
| static int | |
| __Pyx_CyFunction_clear(__pyx_CyFunctionObject *m) | |
| { | |
| Py_CLEAR(m->func_closure); | |
| Py_CLEAR(((PyCFunctionObject*)m)->m_module); | |
| Py_CLEAR(m->func_dict); | |
| Py_CLEAR(m->func_name); | |
| Py_CLEAR(m->func_qualname); | |
| Py_CLEAR(m->func_doc); | |
| Py_CLEAR(m->func_globals); | |
| Py_CLEAR(m->func_code); | |
| Py_CLEAR(__Pyx_CyFunction_GetClassObj(m)); | |
| { | |
| PyObject *cls = (PyObject*) ((PyCMethodObject *) (m))->mm_class; | |
| ((PyCMethodObject *) (m))->mm_class = NULL; | |
| Py_XDECREF(cls); | |
| } | |
| Py_CLEAR(m->defaults_tuple); | |
| Py_CLEAR(m->defaults_kwdict); | |
| Py_CLEAR(m->func_annotations); | |
| Py_CLEAR(m->func_is_coroutine); | |
| if (m->defaults) { | |
| PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); | |
| int i; | |
| for (i = 0; i < m->defaults_pyobjects; i++) | |
| Py_XDECREF(pydefaults[i]); | |
| PyObject_Free(m->defaults); | |
| m->defaults = NULL; | |
| } | |
| return 0; | |
| } | |
| static void __Pyx__CyFunction_dealloc(__pyx_CyFunctionObject *m) | |
| { | |
| if (__Pyx_CyFunction_weakreflist(m) != NULL) | |
| PyObject_ClearWeakRefs((PyObject *) m); | |
| __Pyx_CyFunction_clear(m); | |
| __Pyx_PyHeapTypeObject_GC_Del(m); | |
| } | |
| static void __Pyx_CyFunction_dealloc(__pyx_CyFunctionObject *m) | |
| { | |
| PyObject_GC_UnTrack(m); | |
| __Pyx__CyFunction_dealloc(m); | |
| } | |
| static int __Pyx_CyFunction_traverse(__pyx_CyFunctionObject *m, visitproc visit, void *arg) | |
| { | |
| Py_VISIT(m->func_closure); | |
| Py_VISIT(((PyCFunctionObject*)m)->m_module); | |
| Py_VISIT(m->func_dict); | |
| Py_VISIT(m->func_name); | |
| Py_VISIT(m->func_qualname); | |
| Py_VISIT(m->func_doc); | |
| Py_VISIT(m->func_globals); | |
| Py_VISIT(m->func_code); | |
| Py_VISIT(__Pyx_CyFunction_GetClassObj(m)); | |
| Py_VISIT(m->defaults_tuple); | |
| Py_VISIT(m->defaults_kwdict); | |
| Py_VISIT(m->func_is_coroutine); | |
| if (m->defaults) { | |
| PyObject **pydefaults = __Pyx_CyFunction_Defaults(PyObject *, m); | |
| int i; | |
| for (i = 0; i < m->defaults_pyobjects; i++) | |
| Py_VISIT(pydefaults[i]); | |
| } | |
| return 0; | |
| } | |
| static PyObject* | |
| __Pyx_CyFunction_repr(__pyx_CyFunctionObject *op) | |
| { | |
| return PyUnicode_FromFormat("<cyfunction %U at %p>", | |
| op->func_qualname, (void *)op); | |
| return PyString_FromFormat("<cyfunction %s at %p>", | |
| PyString_AsString(op->func_qualname), (void *)op); | |
| } | |
| static PyObject * __Pyx_CyFunction_CallMethod(PyObject *func, PyObject *self, PyObject *arg, PyObject *kw) { | |
| PyCFunctionObject* f = (PyCFunctionObject*)func; | |
| PyCFunction meth = f->m_ml->ml_meth; | |
| Py_ssize_t size; | |
| switch (f->m_ml->ml_flags & (METH_VARARGS | METH_KEYWORDS | METH_NOARGS | METH_O)) { | |
| case METH_VARARGS: | |
| if (likely(kw == NULL || PyDict_Size(kw) == 0)) | |
| return (*meth)(self, arg); | |
| break; | |
| case METH_VARARGS | METH_KEYWORDS: | |
| return (*(PyCFunctionWithKeywords)(void*)meth)(self, arg, kw); | |
| case METH_NOARGS: | |
| if (likely(kw == NULL || PyDict_Size(kw) == 0)) { | |
| size = PyTuple_GET_SIZE(arg); | |
| if (likely(size == 0)) | |
| return (*meth)(self, NULL); | |
| PyErr_Format(PyExc_TypeError, | |
| "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", | |
| f->m_ml->ml_name, size); | |
| return NULL; | |
| } | |
| break; | |
| case METH_O: | |
| if (likely(kw == NULL || PyDict_Size(kw) == 0)) { | |
| size = PyTuple_GET_SIZE(arg); | |
| if (likely(size == 1)) { | |
| PyObject *result, *arg0; | |
| arg0 = PyTuple_GET_ITEM(arg, 0); | |
| arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL; | |
| result = (*meth)(self, arg0); | |
| Py_DECREF(arg0); | |
| return result; | |
| } | |
| PyErr_Format(PyExc_TypeError, | |
| "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", | |
| f->m_ml->ml_name, size); | |
| return NULL; | |
| } | |
| break; | |
| default: | |
| PyErr_SetString(PyExc_SystemError, "Bad call flags for CyFunction"); | |
| return NULL; | |
| } | |
| PyErr_Format(PyExc_TypeError, "%.200s() takes no keyword arguments", | |
| f->m_ml->ml_name); | |
| return NULL; | |
| } | |
| static CYTHON_INLINE PyObject *__Pyx_CyFunction_Call(PyObject *func, PyObject *arg, PyObject *kw) { | |
| return __Pyx_CyFunction_CallMethod(func, ((PyCFunctionObject*)func)->m_self, arg, kw); | |
| } | |
| static PyObject *__Pyx_CyFunction_CallAsMethod(PyObject *func, PyObject *args, PyObject *kw) { | |
| PyObject *result; | |
| __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *) func; | |
| __pyx_vectorcallfunc vc = __Pyx_CyFunction_func_vectorcall(cyfunc); | |
| if (vc) { | |
| return __Pyx_PyVectorcall_FastCallDict(func, vc, &PyTuple_GET_ITEM(args, 0), (size_t)PyTuple_GET_SIZE(args), kw); | |
| (void) &__Pyx_PyVectorcall_FastCallDict; | |
| return PyVectorcall_Call(func, args, kw); | |
| } | |
| if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { | |
| Py_ssize_t argc; | |
| PyObject *new_args; | |
| PyObject *self; | |
| argc = PyTuple_GET_SIZE(args); | |
| new_args = PyTuple_GetSlice(args, 1, argc); | |
| if (unlikely(!new_args)) | |
| return NULL; | |
| self = PyTuple_GetItem(args, 0); | |
| if (unlikely(!self)) { | |
| Py_DECREF(new_args); | |
| PyErr_Format(PyExc_TypeError, | |
| "unbound method %.200S() needs an argument", | |
| cyfunc->func_qualname); | |
| PyErr_SetString(PyExc_TypeError, | |
| "unbound method needs an argument"); | |
| return NULL; | |
| } | |
| result = __Pyx_CyFunction_CallMethod(func, self, new_args, kw); | |
| Py_DECREF(new_args); | |
| } else { | |
| result = __Pyx_CyFunction_Call(func, args, kw); | |
| } | |
| return result; | |
| } | |
| static CYTHON_INLINE int __Pyx_CyFunction_Vectorcall_CheckArgs(__pyx_CyFunctionObject *cyfunc, Py_ssize_t nargs, PyObject *kwnames) | |
| { | |
| int ret = 0; | |
| if ((cyfunc->flags & __Pyx_CYFUNCTION_CCLASS) && !(cyfunc->flags & __Pyx_CYFUNCTION_STATICMETHOD)) { | |
| if (unlikely(nargs < 1)) { | |
| PyErr_Format(PyExc_TypeError, "%.200s() needs an argument", | |
| ((PyCFunctionObject*)cyfunc)->m_ml->ml_name); | |
| return -1; | |
| } | |
| ret = 1; | |
| } | |
| if (unlikely(kwnames) && unlikely(PyTuple_GET_SIZE(kwnames))) { | |
| PyErr_Format(PyExc_TypeError, | |
| "%.200s() takes no keyword arguments", ((PyCFunctionObject*)cyfunc)->m_ml->ml_name); | |
| return -1; | |
| } | |
| return ret; | |
| } | |
| static PyObject * __Pyx_CyFunction_Vectorcall_NOARGS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) | |
| { | |
| __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; | |
| PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; | |
| Py_ssize_t nargs = (Py_ssize_t)nargsf; | |
| Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); | |
| PyObject *self; | |
| switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) { | |
| case 1: | |
| self = args[0]; | |
| args += 1; | |
| nargs -= 1; | |
| break; | |
| case 0: | |
| self = ((PyCFunctionObject*)cyfunc)->m_self; | |
| break; | |
| default: | |
| return NULL; | |
| } | |
| if (unlikely(nargs != 0)) { | |
| PyErr_Format(PyExc_TypeError, | |
| "%.200s() takes no arguments (%" CYTHON_FORMAT_SSIZE_T "d given)", | |
| def->ml_name, nargs); | |
| return NULL; | |
| } | |
| return def->ml_meth(self, NULL); | |
| } | |
| static PyObject * __Pyx_CyFunction_Vectorcall_O(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) | |
| { | |
| __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; | |
| PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; | |
| Py_ssize_t nargs = (Py_ssize_t)nargsf; | |
| Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); | |
| PyObject *self; | |
| switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, kwnames)) { | |
| case 1: | |
| self = args[0]; | |
| args += 1; | |
| nargs -= 1; | |
| break; | |
| case 0: | |
| self = ((PyCFunctionObject*)cyfunc)->m_self; | |
| break; | |
| default: | |
| return NULL; | |
| } | |
| if (unlikely(nargs != 1)) { | |
| PyErr_Format(PyExc_TypeError, | |
| "%.200s() takes exactly one argument (%" CYTHON_FORMAT_SSIZE_T "d given)", | |
| def->ml_name, nargs); | |
| return NULL; | |
| } | |
| return def->ml_meth(self, args[0]); | |
| } | |
| static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) | |
| { | |
| __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; | |
| PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; | |
| Py_ssize_t nargs = (Py_ssize_t)nargsf; | |
| Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); | |
| PyObject *self; | |
| switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) { | |
| case 1: | |
| self = args[0]; | |
| args += 1; | |
| nargs -= 1; | |
| break; | |
| case 0: | |
| self = ((PyCFunctionObject*)cyfunc)->m_self; | |
| break; | |
| default: | |
| return NULL; | |
| } | |
| return ((_PyCFunctionFastWithKeywords)(void(*)(void))def->ml_meth)(self, args, nargs, kwnames); | |
| } | |
| static PyObject * __Pyx_CyFunction_Vectorcall_FASTCALL_KEYWORDS_METHOD(PyObject *func, PyObject *const *args, size_t nargsf, PyObject *kwnames) | |
| { | |
| __pyx_CyFunctionObject *cyfunc = (__pyx_CyFunctionObject *)func; | |
| PyMethodDef* def = ((PyCFunctionObject*)cyfunc)->m_ml; | |
| PyTypeObject *cls = (PyTypeObject *) __Pyx_CyFunction_GetClassObj(cyfunc); | |
| Py_ssize_t nargs = (Py_ssize_t)nargsf; | |
| Py_ssize_t nargs = PyVectorcall_NARGS(nargsf); | |
| PyObject *self; | |
| switch (__Pyx_CyFunction_Vectorcall_CheckArgs(cyfunc, nargs, NULL)) { | |
| case 1: | |
| self = args[0]; | |
| args += 1; | |
| nargs -= 1; | |
| break; | |
| case 0: | |
| self = ((PyCFunctionObject*)cyfunc)->m_self; | |
| break; | |
| default: | |
| return NULL; | |
| } | |
| return ((__Pyx_PyCMethod)(void(*)(void))def->ml_meth)(self, cls, args, (size_t)nargs, kwnames); | |
| } | |
| static PyType_Slot __pyx_CyFunctionType_slots[] = { | |
| {Py_tp_dealloc, (void *)__Pyx_CyFunction_dealloc}, | |
| {Py_tp_repr, (void *)__Pyx_CyFunction_repr}, | |
| {Py_tp_call, (void *)__Pyx_CyFunction_CallAsMethod}, | |
| {Py_tp_traverse, (void *)__Pyx_CyFunction_traverse}, | |
| {Py_tp_clear, (void *)__Pyx_CyFunction_clear}, | |
| {Py_tp_methods, (void *)__pyx_CyFunction_methods}, | |
| {Py_tp_members, (void *)__pyx_CyFunction_members}, | |
| {Py_tp_getset, (void *)__pyx_CyFunction_getsets}, | |
| {Py_tp_descr_get, (void *)__Pyx_PyMethod_New}, | |
| {0, 0}, | |
| }; | |
| static PyType_Spec __pyx_CyFunctionType_spec = { | |
| __PYX_TYPE_MODULE_PREFIX "cython_function_or_method", | |
| sizeof(__pyx_CyFunctionObject), | |
| 0, | |
| Py_TPFLAGS_METHOD_DESCRIPTOR | | |
| _Py_TPFLAGS_HAVE_VECTORCALL | | |
| Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, | |
| __pyx_CyFunctionType_slots | |
| }; | |
| static PyTypeObject __pyx_CyFunctionType_type = { | |
| PyVarObject_HEAD_INIT(0, 0) | |
| __PYX_TYPE_MODULE_PREFIX "cython_function_or_method", | |
| sizeof(__pyx_CyFunctionObject), | |
| 0, | |
| (destructor) __Pyx_CyFunction_dealloc, | |
| 0, | |
| (printfunc)offsetof(__pyx_CyFunctionObject, func_vectorcall), | |
| offsetof(PyCFunctionObject, vectorcall), | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| (reprfunc) __Pyx_CyFunction_repr, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| __Pyx_CyFunction_CallAsMethod, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| Py_TPFLAGS_METHOD_DESCRIPTOR | | |
| _Py_TPFLAGS_HAVE_VECTORCALL | | |
| Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC | Py_TPFLAGS_BASETYPE, | |
| 0, | |
| (traverseproc) __Pyx_CyFunction_traverse, | |
| (inquiry) __Pyx_CyFunction_clear, | |
| 0, | |
| offsetof(__pyx_CyFunctionObject, func_weakreflist), | |
| offsetof(PyCFunctionObject, m_weakreflist), | |
| 0, | |
| 0, | |
| __pyx_CyFunction_methods, | |
| __pyx_CyFunction_members, | |
| __pyx_CyFunction_getsets, | |
| 0, | |
| 0, | |
| __Pyx_PyMethod_New, | |
| 0, | |
| offsetof(__pyx_CyFunctionObject, func_dict), | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| }; | |
| static int __pyx_CyFunction_init(PyObject *module) { | |
| __pyx_CyFunctionType = __Pyx_FetchCommonTypeFromSpec(module, &__pyx_CyFunctionType_spec, NULL); | |
| CYTHON_UNUSED_VAR(module); | |
| __pyx_CyFunctionType = __Pyx_FetchCommonType(&__pyx_CyFunctionType_type); | |
| if (unlikely(__pyx_CyFunctionType == NULL)) { | |
| return -1; | |
| } | |
| return 0; | |
| } | |
| static CYTHON_INLINE void *__Pyx_CyFunction_InitDefaults(PyObject *func, size_t size, int pyobjects) { | |
| __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; | |
| m->defaults = PyObject_Malloc(size); | |
| if (unlikely(!m->defaults)) | |
| return PyErr_NoMemory(); | |
| memset(m->defaults, 0, size); | |
| m->defaults_pyobjects = pyobjects; | |
| m->defaults_size = size; | |
| return m->defaults; | |
| } | |
| static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsTuple(PyObject *func, PyObject *tuple) { | |
| __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; | |
| m->defaults_tuple = tuple; | |
| Py_INCREF(tuple); | |
| } | |
| static CYTHON_INLINE void __Pyx_CyFunction_SetDefaultsKwDict(PyObject *func, PyObject *dict) { | |
| __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; | |
| m->defaults_kwdict = dict; | |
| Py_INCREF(dict); | |
| } | |
| static CYTHON_INLINE void __Pyx_CyFunction_SetAnnotationsDict(PyObject *func, PyObject *dict) { | |
| __pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func; | |
| m->func_annotations = dict; | |
| Py_INCREF(dict); | |
| } | |
| /* CythonFunction */ | |
| static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml, int flags, PyObject* qualname, | |
| PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) { | |
| PyObject *op = __Pyx_CyFunction_Init( | |
| PyObject_GC_New(__pyx_CyFunctionObject, __pyx_CyFunctionType), | |
| ml, flags, qualname, closure, module, globals, code | |
| ); | |
| if (likely(op)) { | |
| PyObject_GC_Track(op); | |
| } | |
| return op; | |
| } | |
| /* CLineInTraceback */ | |
| static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line) { | |
| PyObject *use_cline; | |
| PyObject *ptype, *pvalue, *ptraceback; | |
| PyObject **cython_runtime_dict; | |
| CYTHON_MAYBE_UNUSED_VAR(tstate); | |
| if (unlikely(!__pyx_cython_runtime)) { | |
| return c_line; | |
| } | |
| __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); | |
| cython_runtime_dict = _PyObject_GetDictPtr(__pyx_cython_runtime); | |
| if (likely(cython_runtime_dict)) { | |
| __PYX_PY_DICT_LOOKUP_IF_MODIFIED( | |
| use_cline, *cython_runtime_dict, | |
| __Pyx_PyDict_GetItemStr(*cython_runtime_dict, __pyx_n_s_cline_in_traceback)) | |
| } else | |
| { | |
| PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStrNoError(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback); | |
| if (use_cline_obj) { | |
| use_cline = PyObject_Not(use_cline_obj) ? Py_False : Py_True; | |
| Py_DECREF(use_cline_obj); | |
| } else { | |
| PyErr_Clear(); | |
| use_cline = NULL; | |
| } | |
| } | |
| if (!use_cline) { | |
| c_line = 0; | |
| (void) PyObject_SetAttr(__pyx_cython_runtime, __pyx_n_s_cline_in_traceback, Py_False); | |
| } | |
| else if (use_cline == Py_False || (use_cline != Py_True && PyObject_Not(use_cline) != 0)) { | |
| c_line = 0; | |
| } | |
| __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); | |
| return c_line; | |
| } | |
| /* CodeObjectCache */ | |
| static int __pyx_bisect_code_objects(__Pyx_CodeObjectCacheEntry* entries, int count, int code_line) { | |
| int start = 0, mid = 0, end = count - 1; | |
| if (end >= 0 && code_line > entries[end].code_line) { | |
| return count; | |
| } | |
| while (start < end) { | |
| mid = start + (end - start) / 2; | |
| if (code_line < entries[mid].code_line) { | |
| end = mid; | |
| } else if (code_line > entries[mid].code_line) { | |
| start = mid + 1; | |
| } else { | |
| return mid; | |
| } | |
| } | |
| if (code_line <= entries[mid].code_line) { | |
| return mid; | |
| } else { | |
| return mid + 1; | |
| } | |
| } | |
| static PyCodeObject *__pyx_find_code_object(int code_line) { | |
| PyCodeObject* code_object; | |
| int pos; | |
| if (unlikely(!code_line) || unlikely(!__pyx_code_cache.entries)) { | |
| return NULL; | |
| } | |
| pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); | |
| if (unlikely(pos >= __pyx_code_cache.count) || unlikely(__pyx_code_cache.entries[pos].code_line != code_line)) { | |
| return NULL; | |
| } | |
| code_object = __pyx_code_cache.entries[pos].code_object; | |
| Py_INCREF(code_object); | |
| return code_object; | |
| } | |
| static void __pyx_insert_code_object(int code_line, PyCodeObject* code_object) { | |
| int pos, i; | |
| __Pyx_CodeObjectCacheEntry* entries = __pyx_code_cache.entries; | |
| if (unlikely(!code_line)) { | |
| return; | |
| } | |
| if (unlikely(!entries)) { | |
| entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Malloc(64*sizeof(__Pyx_CodeObjectCacheEntry)); | |
| if (likely(entries)) { | |
| __pyx_code_cache.entries = entries; | |
| __pyx_code_cache.max_count = 64; | |
| __pyx_code_cache.count = 1; | |
| entries[0].code_line = code_line; | |
| entries[0].code_object = code_object; | |
| Py_INCREF(code_object); | |
| } | |
| return; | |
| } | |
| pos = __pyx_bisect_code_objects(__pyx_code_cache.entries, __pyx_code_cache.count, code_line); | |
| if ((pos < __pyx_code_cache.count) && unlikely(__pyx_code_cache.entries[pos].code_line == code_line)) { | |
| PyCodeObject* tmp = entries[pos].code_object; | |
| entries[pos].code_object = code_object; | |
| Py_DECREF(tmp); | |
| return; | |
| } | |
| if (__pyx_code_cache.count == __pyx_code_cache.max_count) { | |
| int new_max = __pyx_code_cache.max_count + 64; | |
| entries = (__Pyx_CodeObjectCacheEntry*)PyMem_Realloc( | |
| __pyx_code_cache.entries, ((size_t)new_max) * sizeof(__Pyx_CodeObjectCacheEntry)); | |
| if (unlikely(!entries)) { | |
| return; | |
| } | |
| __pyx_code_cache.entries = entries; | |
| __pyx_code_cache.max_count = new_max; | |
| } | |
| for (i=__pyx_code_cache.count; i>pos; i--) { | |
| entries[i] = entries[i-1]; | |
| } | |
| entries[pos].code_line = code_line; | |
| entries[pos].code_object = code_object; | |
| __pyx_code_cache.count++; | |
| Py_INCREF(code_object); | |
| } | |
| /* AddTraceback */ | |
| static void __Pyx_AddTraceback(const char *funcname, int c_line, | |
| int py_line, const char *filename) { | |
| if (c_line) { | |
| (void) __pyx_cfilenm; | |
| (void) __Pyx_CLineForTraceback(__Pyx_PyThreadState_Current, c_line); | |
| } | |
| _PyTraceback_Add(funcname, filename, py_line); | |
| } | |
| static PyCodeObject* __Pyx_CreateCodeObjectForTraceback( | |
| const char *funcname, int c_line, | |
| int py_line, const char *filename) { | |
| PyCodeObject *py_code = NULL; | |
| PyObject *py_funcname = NULL; | |
| PyObject *py_srcfile = NULL; | |
| py_srcfile = PyString_FromString(filename); | |
| if (!py_srcfile) goto bad; | |
| if (c_line) { | |
| py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); | |
| if (!py_funcname) goto bad; | |
| py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line); | |
| if (!py_funcname) goto bad; | |
| funcname = PyUnicode_AsUTF8(py_funcname); | |
| if (!funcname) goto bad; | |
| } | |
| else { | |
| py_funcname = PyString_FromString(funcname); | |
| if (!py_funcname) goto bad; | |
| } | |
| py_code = __Pyx_PyCode_New( | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| 0, | |
| __pyx_empty_bytes, /*PyObject *code,*/ | |
| __pyx_empty_tuple, /*PyObject *consts,*/ | |
| __pyx_empty_tuple, /*PyObject *names,*/ | |
| __pyx_empty_tuple, /*PyObject *varnames,*/ | |
| __pyx_empty_tuple, /*PyObject *freevars,*/ | |
| __pyx_empty_tuple, /*PyObject *cellvars,*/ | |
| py_srcfile, /*PyObject *filename,*/ | |
| py_funcname, /*PyObject *name,*/ | |
| py_line, | |
| __pyx_empty_bytes /*PyObject *lnotab*/ | |
| ); | |
| Py_DECREF(py_srcfile); | |
| py_code = PyCode_NewEmpty(filename, funcname, py_line); | |
| Py_XDECREF(py_funcname); // XDECREF since it's only set on Py3 if cline | |
| return py_code; | |
| bad: | |
| Py_XDECREF(py_funcname); | |
| Py_XDECREF(py_srcfile); | |
| return NULL; | |
| } | |
| static void __Pyx_AddTraceback(const char *funcname, int c_line, | |
| int py_line, const char *filename) { | |
| PyCodeObject *py_code = 0; | |
| PyFrameObject *py_frame = 0; | |
| PyThreadState *tstate = __Pyx_PyThreadState_Current; | |
| PyObject *ptype, *pvalue, *ptraceback; | |
| if (c_line) { | |
| c_line = __Pyx_CLineForTraceback(tstate, c_line); | |
| } | |
| py_code = __pyx_find_code_object(c_line ? -c_line : py_line); | |
| if (!py_code) { | |
| __Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback); | |
| py_code = __Pyx_CreateCodeObjectForTraceback( | |
| funcname, c_line, py_line, filename); | |
| if (!py_code) { | |
| /* If the code object creation fails, then we should clear the | |
| fetched exception references and propagate the new exception */ | |
| Py_XDECREF(ptype); | |
| Py_XDECREF(pvalue); | |
| Py_XDECREF(ptraceback); | |
| goto bad; | |
| } | |
| __Pyx_ErrRestoreInState(tstate, ptype, pvalue, ptraceback); | |
| __pyx_insert_code_object(c_line ? -c_line : py_line, py_code); | |
| } | |
| py_frame = PyFrame_New( | |
| tstate, /*PyThreadState *tstate,*/ | |
| py_code, /*PyCodeObject *code,*/ | |
| __pyx_d, /*PyObject *globals,*/ | |
| 0 /*PyObject *locals*/ | |
| ); | |
| if (!py_frame) goto bad; | |
| __Pyx_PyFrame_SetLineNumber(py_frame, py_line); | |
| PyTraceBack_Here(py_frame); | |
| bad: | |
| Py_XDECREF(py_code); | |
| Py_XDECREF(py_frame); | |
| } | |
| /* FormatTypeName */ | |
| static __Pyx_TypeName | |
| __Pyx_PyType_GetName(PyTypeObject* tp) | |
| { | |
| PyObject *name = __Pyx_PyObject_GetAttrStr((PyObject *)tp, | |
| __pyx_n_s_name); | |
| if (unlikely(name == NULL) || unlikely(!PyUnicode_Check(name))) { | |
| PyErr_Clear(); | |
| Py_XSETREF(name, __Pyx_NewRef(__pyx_n_s__19)); | |
| } | |
| return name; | |
| } | |
| /* CIntToPy */ | |
| static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) { | |
| const long neg_one = (long) -1, const_zero = (long) 0; | |
| const int is_unsigned = neg_one > const_zero; | |
| if (is_unsigned) { | |
| if (sizeof(long) < sizeof(long)) { | |
| return PyInt_FromLong((long) value); | |
| } else if (sizeof(long) <= sizeof(unsigned long)) { | |
| return PyLong_FromUnsignedLong((unsigned long) value); | |
| } else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) { | |
| return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value); | |
| } | |
| } else { | |
| if (sizeof(long) <= sizeof(long)) { | |
| return PyInt_FromLong((long) value); | |
| } else if (sizeof(long) <= sizeof(PY_LONG_LONG)) { | |
| return PyLong_FromLongLong((PY_LONG_LONG) value); | |
| } | |
| } | |
| { | |
| int one = 1; int little = (int)*(unsigned char *)&one; | |
| unsigned char *bytes = (unsigned char *)&value; | |
| return _PyLong_FromByteArray(bytes, sizeof(long), | |
| little, !is_unsigned); | |
| } | |
| } | |
| /* CIntFromPyVerify */ | |
| /* CIntFromPy */ | |
| static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) { | |
| const long neg_one = (long) -1, const_zero = (long) 0; | |
| const int is_unsigned = neg_one > const_zero; | |
| if (likely(PyInt_Check(x))) { | |
| if ((sizeof(long) < sizeof(long))) { | |
| __PYX_VERIFY_RETURN_INT(long, long, PyInt_AS_LONG(x)) | |
| } else { | |
| long val = PyInt_AS_LONG(x); | |
| if (is_unsigned && unlikely(val < 0)) { | |
| goto raise_neg_overflow; | |
| } | |
| return (long) val; | |
| } | |
| } else | |
| if (likely(PyLong_Check(x))) { | |
| if (is_unsigned) { | |
| if (unlikely(__Pyx_PyLong_IsNeg(x))) { | |
| goto raise_neg_overflow; | |
| } else if (__Pyx_PyLong_IsCompact(x)) { | |
| __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) | |
| } else { | |
| const digit* digits = __Pyx_PyLong_Digits(x); | |
| assert(__Pyx_PyLong_DigitCount(x) > 1); | |
| switch (__Pyx_PyLong_DigitCount(x)) { | |
| case 2: | |
| if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(long) >= 2 * PyLong_SHIFT)) { | |
| return (long) (((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); | |
| } | |
| } | |
| break; | |
| case 3: | |
| if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(long) >= 3 * PyLong_SHIFT)) { | |
| return (long) (((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); | |
| } | |
| } | |
| break; | |
| case 4: | |
| if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(long) >= 4 * PyLong_SHIFT)) { | |
| return (long) (((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0])); | |
| } | |
| } | |
| break; | |
| } | |
| } | |
| if (unlikely(Py_SIZE(x) < 0)) { | |
| goto raise_neg_overflow; | |
| } | |
| { | |
| int result = PyObject_RichCompareBool(x, Py_False, Py_LT); | |
| if (unlikely(result < 0)) | |
| return (long) -1; | |
| if (unlikely(result == 1)) | |
| goto raise_neg_overflow; | |
| } | |
| if ((sizeof(long) <= sizeof(unsigned long))) { | |
| __PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x)) | |
| } else if ((sizeof(long) <= sizeof(unsigned PY_LONG_LONG))) { | |
| __PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) | |
| } | |
| } else { | |
| if (__Pyx_PyLong_IsCompact(x)) { | |
| __PYX_VERIFY_RETURN_INT(long, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) | |
| } else { | |
| const digit* digits = __Pyx_PyLong_Digits(x); | |
| assert(__Pyx_PyLong_DigitCount(x) > 1); | |
| switch (__Pyx_PyLong_SignedDigitCount(x)) { | |
| case -2: | |
| if ((8 * sizeof(long) - 1 > 1 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { | |
| return (long) (((long)-1)*(((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); | |
| } | |
| } | |
| break; | |
| case 2: | |
| if ((8 * sizeof(long) > 1 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { | |
| return (long) ((((((long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); | |
| } | |
| } | |
| break; | |
| case -3: | |
| if ((8 * sizeof(long) - 1 > 2 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { | |
| return (long) (((long)-1)*(((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); | |
| } | |
| } | |
| break; | |
| case 3: | |
| if ((8 * sizeof(long) > 2 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { | |
| return (long) ((((((((long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); | |
| } | |
| } | |
| break; | |
| case -4: | |
| if ((8 * sizeof(long) - 1 > 3 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(long, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) { | |
| return (long) (((long)-1)*(((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); | |
| } | |
| } | |
| break; | |
| case 4: | |
| if ((8 * sizeof(long) > 3 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(long, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(long) - 1 > 4 * PyLong_SHIFT)) { | |
| return (long) ((((((((((long)digits[3]) << PyLong_SHIFT) | (long)digits[2]) << PyLong_SHIFT) | (long)digits[1]) << PyLong_SHIFT) | (long)digits[0]))); | |
| } | |
| } | |
| break; | |
| } | |
| } | |
| if ((sizeof(long) <= sizeof(long))) { | |
| __PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x)) | |
| } else if ((sizeof(long) <= sizeof(PY_LONG_LONG))) { | |
| __PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x)) | |
| } | |
| } | |
| { | |
| long val; | |
| PyObject *v = __Pyx_PyNumber_IntOrLong(x); | |
| if (likely(v) && !PyLong_Check(v)) { | |
| PyObject *tmp = v; | |
| v = PyNumber_Long(tmp); | |
| Py_DECREF(tmp); | |
| } | |
| if (likely(v)) { | |
| int ret = -1; | |
| int one = 1; int is_little = (int)*(unsigned char *)&one; | |
| unsigned char *bytes = (unsigned char *)&val; | |
| ret = _PyLong_AsByteArray((PyLongObject *)v, | |
| bytes, sizeof(val), | |
| is_little, !is_unsigned); | |
| PyObject *stepval = NULL, *mask = NULL, *shift = NULL; | |
| int bits, remaining_bits, is_negative = 0; | |
| long idigit; | |
| int chunk_size = (sizeof(long) < 8) ? 30 : 62; | |
| if (unlikely(!PyLong_CheckExact(v))) { | |
| PyObject *tmp = v; | |
| v = PyNumber_Long(v); | |
| assert(PyLong_CheckExact(v)); | |
| Py_DECREF(tmp); | |
| if (unlikely(!v)) return (long) -1; | |
| } | |
| if (Py_SIZE(x) == 0) | |
| return (long) 0; | |
| is_negative = Py_SIZE(x) < 0; | |
| { | |
| int result = PyObject_RichCompareBool(x, Py_False, Py_LT); | |
| if (unlikely(result < 0)) | |
| return (long) -1; | |
| is_negative = result == 1; | |
| } | |
| if (is_unsigned && unlikely(is_negative)) { | |
| goto raise_neg_overflow; | |
| } else if (is_negative) { | |
| stepval = PyNumber_Invert(v); | |
| if (unlikely(!stepval)) | |
| return (long) -1; | |
| } else { | |
| stepval = __Pyx_NewRef(v); | |
| } | |
| val = (long) 0; | |
| mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; | |
| shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; | |
| for (bits = 0; bits < (int) sizeof(long) * 8 - chunk_size; bits += chunk_size) { | |
| PyObject *tmp, *digit; | |
| digit = PyNumber_And(stepval, mask); | |
| if (unlikely(!digit)) goto done; | |
| idigit = PyLong_AsLong(digit); | |
| Py_DECREF(digit); | |
| if (unlikely(idigit < 0)) goto done; | |
| tmp = PyNumber_Rshift(stepval, shift); | |
| if (unlikely(!tmp)) goto done; | |
| Py_DECREF(stepval); stepval = tmp; | |
| val |= ((long) idigit) << bits; | |
| if (Py_SIZE(stepval) == 0) | |
| goto unpacking_done; | |
| } | |
| idigit = PyLong_AsLong(stepval); | |
| if (unlikely(idigit < 0)) goto done; | |
| remaining_bits = ((int) sizeof(long) * 8) - bits - (is_unsigned ? 0 : 1); | |
| if (unlikely(idigit >= (1L << remaining_bits))) | |
| goto raise_overflow; | |
| val |= ((long) idigit) << bits; | |
| unpacking_done: | |
| if (!is_unsigned) { | |
| if (unlikely(val & (((long) 1) << (sizeof(long) * 8 - 1)))) | |
| goto raise_overflow; | |
| if (is_negative) | |
| val = ~val; | |
| } | |
| ret = 0; | |
| done: | |
| Py_XDECREF(shift); | |
| Py_XDECREF(mask); | |
| Py_XDECREF(stepval); | |
| Py_DECREF(v); | |
| if (likely(!ret)) | |
| return val; | |
| } | |
| return (long) -1; | |
| } | |
| } else { | |
| long val; | |
| PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); | |
| if (!tmp) return (long) -1; | |
| val = __Pyx_PyInt_As_long(tmp); | |
| Py_DECREF(tmp); | |
| return val; | |
| } | |
| raise_overflow: | |
| PyErr_SetString(PyExc_OverflowError, | |
| "value too large to convert to long"); | |
| return (long) -1; | |
| raise_neg_overflow: | |
| PyErr_SetString(PyExc_OverflowError, | |
| "can't convert negative value to long"); | |
| return (long) -1; | |
| } | |
| /* CIntFromPy */ | |
| static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) { | |
| const int neg_one = (int) -1, const_zero = (int) 0; | |
| const int is_unsigned = neg_one > const_zero; | |
| if (likely(PyInt_Check(x))) { | |
| if ((sizeof(int) < sizeof(long))) { | |
| __PYX_VERIFY_RETURN_INT(int, long, PyInt_AS_LONG(x)) | |
| } else { | |
| long val = PyInt_AS_LONG(x); | |
| if (is_unsigned && unlikely(val < 0)) { | |
| goto raise_neg_overflow; | |
| } | |
| return (int) val; | |
| } | |
| } else | |
| if (likely(PyLong_Check(x))) { | |
| if (is_unsigned) { | |
| if (unlikely(__Pyx_PyLong_IsNeg(x))) { | |
| goto raise_neg_overflow; | |
| } else if (__Pyx_PyLong_IsCompact(x)) { | |
| __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_upylong, __Pyx_PyLong_CompactValueUnsigned(x)) | |
| } else { | |
| const digit* digits = __Pyx_PyLong_Digits(x); | |
| assert(__Pyx_PyLong_DigitCount(x) > 1); | |
| switch (__Pyx_PyLong_DigitCount(x)) { | |
| case 2: | |
| if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(int) >= 2 * PyLong_SHIFT)) { | |
| return (int) (((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); | |
| } | |
| } | |
| break; | |
| case 3: | |
| if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(int) >= 3 * PyLong_SHIFT)) { | |
| return (int) (((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); | |
| } | |
| } | |
| break; | |
| case 4: | |
| if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(int) >= 4 * PyLong_SHIFT)) { | |
| return (int) (((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0])); | |
| } | |
| } | |
| break; | |
| } | |
| } | |
| if (unlikely(Py_SIZE(x) < 0)) { | |
| goto raise_neg_overflow; | |
| } | |
| { | |
| int result = PyObject_RichCompareBool(x, Py_False, Py_LT); | |
| if (unlikely(result < 0)) | |
| return (int) -1; | |
| if (unlikely(result == 1)) | |
| goto raise_neg_overflow; | |
| } | |
| if ((sizeof(int) <= sizeof(unsigned long))) { | |
| __PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x)) | |
| } else if ((sizeof(int) <= sizeof(unsigned PY_LONG_LONG))) { | |
| __PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x)) | |
| } | |
| } else { | |
| if (__Pyx_PyLong_IsCompact(x)) { | |
| __PYX_VERIFY_RETURN_INT(int, __Pyx_compact_pylong, __Pyx_PyLong_CompactValue(x)) | |
| } else { | |
| const digit* digits = __Pyx_PyLong_Digits(x); | |
| assert(__Pyx_PyLong_DigitCount(x) > 1); | |
| switch (__Pyx_PyLong_SignedDigitCount(x)) { | |
| case -2: | |
| if ((8 * sizeof(int) - 1 > 1 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { | |
| return (int) (((int)-1)*(((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); | |
| } | |
| } | |
| break; | |
| case 2: | |
| if ((8 * sizeof(int) > 1 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 2 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { | |
| return (int) ((((((int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); | |
| } | |
| } | |
| break; | |
| case -3: | |
| if ((8 * sizeof(int) - 1 > 2 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { | |
| return (int) (((int)-1)*(((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); | |
| } | |
| } | |
| break; | |
| case 3: | |
| if ((8 * sizeof(int) > 2 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 3 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { | |
| return (int) ((((((((int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); | |
| } | |
| } | |
| break; | |
| case -4: | |
| if ((8 * sizeof(int) - 1 > 3 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(int, long, -(long) (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) { | |
| return (int) (((int)-1)*(((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); | |
| } | |
| } | |
| break; | |
| case 4: | |
| if ((8 * sizeof(int) > 3 * PyLong_SHIFT)) { | |
| if ((8 * sizeof(unsigned long) > 4 * PyLong_SHIFT)) { | |
| __PYX_VERIFY_RETURN_INT(int, unsigned long, (((((((((unsigned long)digits[3]) << PyLong_SHIFT) | (unsigned long)digits[2]) << PyLong_SHIFT) | (unsigned long)digits[1]) << PyLong_SHIFT) | (unsigned long)digits[0]))) | |
| } else if ((8 * sizeof(int) - 1 > 4 * PyLong_SHIFT)) { | |
| return (int) ((((((((((int)digits[3]) << PyLong_SHIFT) | (int)digits[2]) << PyLong_SHIFT) | (int)digits[1]) << PyLong_SHIFT) | (int)digits[0]))); | |
| } | |
| } | |
| break; | |
| } | |
| } | |
| if ((sizeof(int) <= sizeof(long))) { | |
| __PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x)) | |
| } else if ((sizeof(int) <= sizeof(PY_LONG_LONG))) { | |
| __PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x)) | |
| } | |
| } | |
| { | |
| int val; | |
| PyObject *v = __Pyx_PyNumber_IntOrLong(x); | |
| if (likely(v) && !PyLong_Check(v)) { | |
| PyObject *tmp = v; | |
| v = PyNumber_Long(tmp); | |
| Py_DECREF(tmp); | |
| } | |
| if (likely(v)) { | |
| int ret = -1; | |
| int one = 1; int is_little = (int)*(unsigned char *)&one; | |
| unsigned char *bytes = (unsigned char *)&val; | |
| ret = _PyLong_AsByteArray((PyLongObject *)v, | |
| bytes, sizeof(val), | |
| is_little, !is_unsigned); | |
| PyObject *stepval = NULL, *mask = NULL, *shift = NULL; | |
| int bits, remaining_bits, is_negative = 0; | |
| long idigit; | |
| int chunk_size = (sizeof(long) < 8) ? 30 : 62; | |
| if (unlikely(!PyLong_CheckExact(v))) { | |
| PyObject *tmp = v; | |
| v = PyNumber_Long(v); | |
| assert(PyLong_CheckExact(v)); | |
| Py_DECREF(tmp); | |
| if (unlikely(!v)) return (int) -1; | |
| } | |
| if (Py_SIZE(x) == 0) | |
| return (int) 0; | |
| is_negative = Py_SIZE(x) < 0; | |
| { | |
| int result = PyObject_RichCompareBool(x, Py_False, Py_LT); | |
| if (unlikely(result < 0)) | |
| return (int) -1; | |
| is_negative = result == 1; | |
| } | |
| if (is_unsigned && unlikely(is_negative)) { | |
| goto raise_neg_overflow; | |
| } else if (is_negative) { | |
| stepval = PyNumber_Invert(v); | |
| if (unlikely(!stepval)) | |
| return (int) -1; | |
| } else { | |
| stepval = __Pyx_NewRef(v); | |
| } | |
| val = (int) 0; | |
| mask = PyLong_FromLong((1L << chunk_size) - 1); if (unlikely(!mask)) goto done; | |
| shift = PyLong_FromLong(chunk_size); if (unlikely(!shift)) goto done; | |
| for (bits = 0; bits < (int) sizeof(int) * 8 - chunk_size; bits += chunk_size) { | |
| PyObject *tmp, *digit; | |
| digit = PyNumber_And(stepval, mask); | |
| if (unlikely(!digit)) goto done; | |
| idigit = PyLong_AsLong(digit); | |
| Py_DECREF(digit); | |
| if (unlikely(idigit < 0)) goto done; | |
| tmp = PyNumber_Rshift(stepval, shift); | |
| if (unlikely(!tmp)) goto done; | |
| Py_DECREF(stepval); stepval = tmp; | |
| val |= ((int) idigit) << bits; | |
| if (Py_SIZE(stepval) == 0) | |
| goto unpacking_done; | |
| } | |
| idigit = PyLong_AsLong(stepval); | |
| if (unlikely(idigit < 0)) goto done; | |
| remaining_bits = ((int) sizeof(int) * 8) - bits - (is_unsigned ? 0 : 1); | |
| if (unlikely(idigit >= (1L << remaining_bits))) | |
| goto raise_overflow; | |
| val |= ((int) idigit) << bits; | |
| unpacking_done: | |
| if (!is_unsigned) { | |
| if (unlikely(val & (((int) 1) << (sizeof(int) * 8 - 1)))) | |
| goto raise_overflow; | |
| if (is_negative) | |
| val = ~val; | |
| } | |
| ret = 0; | |
| done: | |
| Py_XDECREF(shift); | |
| Py_XDECREF(mask); | |
| Py_XDECREF(stepval); | |
| Py_DECREF(v); | |
| if (likely(!ret)) | |
| return val; | |
| } | |
| return (int) -1; | |
| } | |
| } else { | |
| int val; | |
| PyObject *tmp = __Pyx_PyNumber_IntOrLong(x); | |
| if (!tmp) return (int) -1; | |
| val = __Pyx_PyInt_As_int(tmp); | |
| Py_DECREF(tmp); | |
| return val; | |
| } | |
| raise_overflow: | |
| PyErr_SetString(PyExc_OverflowError, | |
| "value too large to convert to int"); | |
| return (int) -1; | |
| raise_neg_overflow: | |
| PyErr_SetString(PyExc_OverflowError, | |
| "can't convert negative value to int"); | |
| return (int) -1; | |
| } | |
| /* CheckBinaryVersion */ | |
| static int __Pyx_check_binary_version(void) { | |
| char ctversion[5]; | |
| int same=1, i, found_dot; | |
| const char* rt_from_call = Py_GetVersion(); | |
| PyOS_snprintf(ctversion, 5, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION); | |
| found_dot = 0; | |
| for (i = 0; i < 4; i++) { | |
| if (!ctversion[i]) { | |
| same = (rt_from_call[i] < '0' || rt_from_call[i] > '9'); | |
| break; | |
| } | |
| if (rt_from_call[i] != ctversion[i]) { | |
| same = 0; | |
| break; | |
| } | |
| } | |
| if (!same) { | |
| char rtversion[5] = {'\0'}; | |
| char message[200]; | |
| for (i=0; i<4; ++i) { | |
| if (rt_from_call[i] == '.') { | |
| if (found_dot) break; | |
| found_dot = 1; | |
| } else if (rt_from_call[i] < '0' || rt_from_call[i] > '9') { | |
| break; | |
| } | |
| rtversion[i] = rt_from_call[i]; | |
| } | |
| PyOS_snprintf(message, sizeof(message), | |
| "compile time version %s of module '%.100s' " | |
| "does not match runtime version %s", | |
| ctversion, __Pyx_MODULE_NAME, rtversion); | |
| return PyErr_WarnEx(NULL, message, 1); | |
| } | |
| return 0; | |
| } | |
| /* InitStrings */ | |
| static int __Pyx_InitString(__Pyx_StringTabEntry t, PyObject **str) { | |
| if (t.is_unicode | t.is_str) { | |
| if (t.intern) { | |
| *str = PyUnicode_InternFromString(t.s); | |
| } else if (t.encoding) { | |
| *str = PyUnicode_Decode(t.s, t.n - 1, t.encoding, NULL); | |
| } else { | |
| *str = PyUnicode_FromStringAndSize(t.s, t.n - 1); | |
| } | |
| } else { | |
| *str = PyBytes_FromStringAndSize(t.s, t.n - 1); | |
| } | |
| if (!*str) | |
| return -1; | |
| if (PyObject_Hash(*str) == -1) | |
| return -1; | |
| return 0; | |
| } | |
| static int __Pyx_InitStrings(__Pyx_StringTabEntry *t) { | |
| while (t->p) { | |
| __Pyx_InitString(*t, t->p); | |
| if (t->is_unicode) { | |
| *t->p = PyUnicode_DecodeUTF8(t->s, t->n - 1, NULL); | |
| } else if (t->intern) { | |
| *t->p = PyString_InternFromString(t->s); | |
| } else { | |
| *t->p = PyString_FromStringAndSize(t->s, t->n - 1); | |
| } | |
| if (!*t->p) | |
| return -1; | |
| if (PyObject_Hash(*t->p) == -1) | |
| return -1; | |
| ++t; | |
| } | |
| return 0; | |
| } | |
| static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char* c_str) { | |
| return __Pyx_PyUnicode_FromStringAndSize(c_str, (Py_ssize_t)strlen(c_str)); | |
| } | |
| static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject* o) { | |
| Py_ssize_t ignore; | |
| return __Pyx_PyObject_AsStringAndSize(o, &ignore); | |
| } | |
| static const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { | |
| char* defenc_c; | |
| PyObject* defenc = _PyUnicode_AsDefaultEncodedString(o, NULL); | |
| if (!defenc) return NULL; | |
| defenc_c = PyBytes_AS_STRING(defenc); | |
| { | |
| char* end = defenc_c + PyBytes_GET_SIZE(defenc); | |
| char* c; | |
| for (c = defenc_c; c < end; c++) { | |
| if ((unsigned char) (*c) >= 128) { | |
| PyUnicode_AsASCIIString(o); | |
| return NULL; | |
| } | |
| } | |
| } | |
| *length = PyBytes_GET_SIZE(defenc); | |
| return defenc_c; | |
| } | |
| static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) { | |
| if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL; | |
| if (likely(PyUnicode_IS_ASCII(o))) { | |
| *length = PyUnicode_GET_LENGTH(o); | |
| return PyUnicode_AsUTF8(o); | |
| } else { | |
| PyUnicode_AsASCIIString(o); | |
| return NULL; | |
| } | |
| return PyUnicode_AsUTF8AndSize(o, length); | |
| } | |
| static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) { | |
| if ( | |
| __Pyx_sys_getdefaultencoding_not_ascii && | |
| PyUnicode_Check(o)) { | |
| return __Pyx_PyUnicode_AsStringAndSize(o, length); | |
| } else | |
| if (PyByteArray_Check(o)) { | |
| *length = PyByteArray_GET_SIZE(o); | |
| return PyByteArray_AS_STRING(o); | |
| } else | |
| { | |
| char* result; | |
| int r = PyBytes_AsStringAndSize(o, &result, length); | |
| if (unlikely(r < 0)) { | |
| return NULL; | |
| } else { | |
| return result; | |
| } | |
| } | |
| } | |
| static CYTHON_INLINE int __Pyx_PyObject_IsTrue(PyObject* x) { | |
| int is_true = x == Py_True; | |
| if (is_true | (x == Py_False) | (x == Py_None)) return is_true; | |
| else return PyObject_IsTrue(x); | |
| } | |
| static CYTHON_INLINE int __Pyx_PyObject_IsTrueAndDecref(PyObject* x) { | |
| int retval; | |
| if (unlikely(!x)) return -1; | |
| retval = __Pyx_PyObject_IsTrue(x); | |
| Py_DECREF(x); | |
| return retval; | |
| } | |
| static PyObject* __Pyx_PyNumber_IntOrLongWrongResultType(PyObject* result, const char* type_name) { | |
| __Pyx_TypeName result_type_name = __Pyx_PyType_GetName(Py_TYPE(result)); | |
| if (PyLong_Check(result)) { | |
| if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1, | |
| "__int__ returned non-int (type " __Pyx_FMT_TYPENAME "). " | |
| "The ability to return an instance of a strict subclass of int is deprecated, " | |
| "and may be removed in a future version of Python.", | |
| result_type_name)) { | |
| __Pyx_DECREF_TypeName(result_type_name); | |
| Py_DECREF(result); | |
| return NULL; | |
| } | |
| __Pyx_DECREF_TypeName(result_type_name); | |
| return result; | |
| } | |
| PyErr_Format(PyExc_TypeError, | |
| "__%.4s__ returned non-%.4s (type " __Pyx_FMT_TYPENAME ")", | |
| type_name, type_name, result_type_name); | |
| __Pyx_DECREF_TypeName(result_type_name); | |
| Py_DECREF(result); | |
| return NULL; | |
| } | |
| static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) { | |
| PyNumberMethods *m; | |
| const char *name = NULL; | |
| PyObject *res = NULL; | |
| if (likely(PyInt_Check(x) || PyLong_Check(x))) | |
| if (likely(PyLong_Check(x))) | |
| return __Pyx_NewRef(x); | |
| m = Py_TYPE(x)->tp_as_number; | |
| if (m && m->nb_int) { | |
| name = "int"; | |
| res = m->nb_int(x); | |
| } | |
| else if (m && m->nb_long) { | |
| name = "long"; | |
| res = m->nb_long(x); | |
| } | |
| if (likely(m && m->nb_int)) { | |
| name = "int"; | |
| res = m->nb_int(x); | |
| } | |
| if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) { | |
| res = PyNumber_Int(x); | |
| } | |
| if (likely(res)) { | |
| if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) { | |
| if (unlikely(!PyLong_CheckExact(res))) { | |
| return __Pyx_PyNumber_IntOrLongWrongResultType(res, name); | |
| } | |
| } | |
| else if (!PyErr_Occurred()) { | |
| PyErr_SetString(PyExc_TypeError, | |
| "an integer is required"); | |
| } | |
| return res; | |
| } | |
| static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject* b) { | |
| Py_ssize_t ival; | |
| PyObject *x; | |
| if (likely(PyInt_CheckExact(b))) { | |
| if (sizeof(Py_ssize_t) >= sizeof(long)) | |
| return PyInt_AS_LONG(b); | |
| else | |
| return PyInt_AsSsize_t(b); | |
| } | |
| if (likely(PyLong_CheckExact(b))) { | |
| if (likely(__Pyx_PyLong_IsCompact(b))) { | |
| return __Pyx_PyLong_CompactValue(b); | |
| } else { | |
| const digit* digits = __Pyx_PyLong_Digits(b); | |
| const Py_ssize_t size = __Pyx_PyLong_SignedDigitCount(b); | |
| switch (size) { | |
| case 2: | |
| if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { | |
| return (Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); | |
| } | |
| break; | |
| case -2: | |
| if (8 * sizeof(Py_ssize_t) > 2 * PyLong_SHIFT) { | |
| return -(Py_ssize_t) (((((size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); | |
| } | |
| break; | |
| case 3: | |
| if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { | |
| return (Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); | |
| } | |
| break; | |
| case -3: | |
| if (8 * sizeof(Py_ssize_t) > 3 * PyLong_SHIFT) { | |
| return -(Py_ssize_t) (((((((size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); | |
| } | |
| break; | |
| case 4: | |
| if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { | |
| return (Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); | |
| } | |
| break; | |
| case -4: | |
| if (8 * sizeof(Py_ssize_t) > 4 * PyLong_SHIFT) { | |
| return -(Py_ssize_t) (((((((((size_t)digits[3]) << PyLong_SHIFT) | (size_t)digits[2]) << PyLong_SHIFT) | (size_t)digits[1]) << PyLong_SHIFT) | (size_t)digits[0])); | |
| } | |
| break; | |
| } | |
| } | |
| return PyLong_AsSsize_t(b); | |
| } | |
| x = PyNumber_Index(b); | |
| if (!x) return -1; | |
| ival = PyInt_AsSsize_t(x); | |
| Py_DECREF(x); | |
| return ival; | |
| } | |
| static CYTHON_INLINE Py_hash_t __Pyx_PyIndex_AsHash_t(PyObject* o) { | |
| if (sizeof(Py_hash_t) == sizeof(Py_ssize_t)) { | |
| return (Py_hash_t) __Pyx_PyIndex_AsSsize_t(o); | |
| } else if (likely(PyInt_CheckExact(o))) { | |
| return PyInt_AS_LONG(o); | |
| } else { | |
| Py_ssize_t ival; | |
| PyObject *x; | |
| x = PyNumber_Index(o); | |
| if (!x) return -1; | |
| ival = PyInt_AsLong(x); | |
| Py_DECREF(x); | |
| return ival; | |
| } | |
| } | |
| static CYTHON_INLINE PyObject * __Pyx_PyBool_FromLong(long b) { | |
| return b ? __Pyx_NewRef(Py_True) : __Pyx_NewRef(Py_False); | |
| } | |
| static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t ival) { | |
| return PyInt_FromSize_t(ival); | |
| } | |
| /* #### Code section: utility_code_pragmas_end ### */ | |
| /* #### Code section: end ### */ | |