kivyblocks/kivyblocks/blocks.c
2022-01-29 16:32:51 +08:00

31824 lines
1.3 MiB

/* Generated by Cython 0.29.23 */
/* BEGIN: Cython Metadata
{
"distutils": {
"name": "kivyblocks.blocks",
"sources": [
"kivyblocks/blocks.pyx"
]
},
"module_name": "kivyblocks.blocks"
}
END: Cython Metadata */
#ifndef PY_SSIZE_T_CLEAN
#define PY_SSIZE_T_CLEAN
#endif /* PY_SSIZE_T_CLEAN */
#include "Python.h"
#ifndef Py_PYTHON_H
#error Python headers needed to compile C extensions, please install development version of Python.
#elif PY_VERSION_HEX < 0x02060000 || (0x03000000 <= PY_VERSION_HEX && PY_VERSION_HEX < 0x03030000)
#error Cython requires Python 2.6+ or Python 3.3+.
#else
#define CYTHON_ABI "0_29_23"
#define CYTHON_HEX_VERSION 0x001D17F0
#define CYTHON_FUTURE_DIVISION 0
#include <stddef.h>
#ifndef offsetof
#define offsetof(type, member) ( (size_t) & ((type*)0) -> member )
#endif
#if !defined(WIN32) && !defined(MS_WINDOWS)
#ifndef __stdcall
#define __stdcall
#endif
#ifndef __cdecl
#define __cdecl
#endif
#ifndef __fastcall
#define __fastcall
#endif
#endif
#ifndef DL_IMPORT
#define DL_IMPORT(t) t
#endif
#ifndef DL_EXPORT
#define DL_EXPORT(t) t
#endif
#define __PYX_COMMA ,
#ifndef HAVE_LONG_LONG
#if PY_VERSION_HEX >= 0x02070000
#define HAVE_LONG_LONG
#endif
#endif
#ifndef PY_LONG_LONG
#define PY_LONG_LONG LONG_LONG
#endif
#ifndef Py_HUGE_VAL
#define Py_HUGE_VAL HUGE_VAL
#endif
#ifdef PYPY_VERSION
#define CYTHON_COMPILING_IN_PYPY 1
#define CYTHON_COMPILING_IN_PYSTON 0
#define CYTHON_COMPILING_IN_CPYTHON 0
#undef CYTHON_USE_TYPE_SLOTS
#define CYTHON_USE_TYPE_SLOTS 0
#undef CYTHON_USE_PYTYPE_LOOKUP
#define CYTHON_USE_PYTYPE_LOOKUP 0
#if PY_VERSION_HEX < 0x03050000
#undef CYTHON_USE_ASYNC_SLOTS
#define CYTHON_USE_ASYNC_SLOTS 0
#elif !defined(CYTHON_USE_ASYNC_SLOTS)
#define CYTHON_USE_ASYNC_SLOTS 1
#endif
#undef CYTHON_USE_PYLIST_INTERNALS
#define CYTHON_USE_PYLIST_INTERNALS 0
#undef CYTHON_USE_UNICODE_INTERNALS
#define CYTHON_USE_UNICODE_INTERNALS 0
#undef CYTHON_USE_UNICODE_WRITER
#define CYTHON_USE_UNICODE_WRITER 0
#undef CYTHON_USE_PYLONG_INTERNALS
#define CYTHON_USE_PYLONG_INTERNALS 0
#undef CYTHON_AVOID_BORROWED_REFS
#define CYTHON_AVOID_BORROWED_REFS 1
#undef CYTHON_ASSUME_SAFE_MACROS
#define CYTHON_ASSUME_SAFE_MACROS 0
#undef CYTHON_UNPACK_METHODS
#define CYTHON_UNPACK_METHODS 0
#undef CYTHON_FAST_THREAD_STATE
#define CYTHON_FAST_THREAD_STATE 0
#undef CYTHON_FAST_PYCALL
#define CYTHON_FAST_PYCALL 0
#undef CYTHON_PEP489_MULTI_PHASE_INIT
#define CYTHON_PEP489_MULTI_PHASE_INIT 0
#undef CYTHON_USE_TP_FINALIZE
#define CYTHON_USE_TP_FINALIZE 0
#undef CYTHON_USE_DICT_VERSIONS
#define CYTHON_USE_DICT_VERSIONS 0
#undef CYTHON_USE_EXC_INFO_STACK
#define CYTHON_USE_EXC_INFO_STACK 0
#elif defined(PYSTON_VERSION)
#define CYTHON_COMPILING_IN_PYPY 0
#define CYTHON_COMPILING_IN_PYSTON 1
#define CYTHON_COMPILING_IN_CPYTHON 0
#ifndef CYTHON_USE_TYPE_SLOTS
#define CYTHON_USE_TYPE_SLOTS 1
#endif
#undef CYTHON_USE_PYTYPE_LOOKUP
#define CYTHON_USE_PYTYPE_LOOKUP 0
#undef CYTHON_USE_ASYNC_SLOTS
#define CYTHON_USE_ASYNC_SLOTS 0
#undef CYTHON_USE_PYLIST_INTERNALS
#define CYTHON_USE_PYLIST_INTERNALS 0
#ifndef CYTHON_USE_UNICODE_INTERNALS
#define CYTHON_USE_UNICODE_INTERNALS 1
#endif
#undef CYTHON_USE_UNICODE_WRITER
#define CYTHON_USE_UNICODE_WRITER 0
#undef CYTHON_USE_PYLONG_INTERNALS
#define CYTHON_USE_PYLONG_INTERNALS 0
#ifndef CYTHON_AVOID_BORROWED_REFS
#define CYTHON_AVOID_BORROWED_REFS 0
#endif
#ifndef CYTHON_ASSUME_SAFE_MACROS
#define CYTHON_ASSUME_SAFE_MACROS 1
#endif
#ifndef CYTHON_UNPACK_METHODS
#define CYTHON_UNPACK_METHODS 1
#endif
#undef CYTHON_FAST_THREAD_STATE
#define CYTHON_FAST_THREAD_STATE 0
#undef CYTHON_FAST_PYCALL
#define CYTHON_FAST_PYCALL 0
#undef CYTHON_PEP489_MULTI_PHASE_INIT
#define CYTHON_PEP489_MULTI_PHASE_INIT 0
#undef CYTHON_USE_TP_FINALIZE
#define CYTHON_USE_TP_FINALIZE 0
#undef CYTHON_USE_DICT_VERSIONS
#define CYTHON_USE_DICT_VERSIONS 0
#undef CYTHON_USE_EXC_INFO_STACK
#define CYTHON_USE_EXC_INFO_STACK 0
#else
#define CYTHON_COMPILING_IN_PYPY 0
#define CYTHON_COMPILING_IN_PYSTON 0
#define CYTHON_COMPILING_IN_CPYTHON 1
#ifndef CYTHON_USE_TYPE_SLOTS
#define CYTHON_USE_TYPE_SLOTS 1
#endif
#if PY_VERSION_HEX < 0x02070000
#undef CYTHON_USE_PYTYPE_LOOKUP
#define CYTHON_USE_PYTYPE_LOOKUP 0
#elif !defined(CYTHON_USE_PYTYPE_LOOKUP)
#define CYTHON_USE_PYTYPE_LOOKUP 1
#endif
#if PY_MAJOR_VERSION < 3
#undef CYTHON_USE_ASYNC_SLOTS
#define CYTHON_USE_ASYNC_SLOTS 0
#elif !defined(CYTHON_USE_ASYNC_SLOTS)
#define CYTHON_USE_ASYNC_SLOTS 1
#endif
#if PY_VERSION_HEX < 0x02070000
#undef CYTHON_USE_PYLONG_INTERNALS
#define CYTHON_USE_PYLONG_INTERNALS 0
#elif !defined(CYTHON_USE_PYLONG_INTERNALS)
#define CYTHON_USE_PYLONG_INTERNALS 1
#endif
#ifndef CYTHON_USE_PYLIST_INTERNALS
#define CYTHON_USE_PYLIST_INTERNALS 1
#endif
#ifndef CYTHON_USE_UNICODE_INTERNALS
#define CYTHON_USE_UNICODE_INTERNALS 1
#endif
#if PY_VERSION_HEX < 0x030300F0
#undef CYTHON_USE_UNICODE_WRITER
#define CYTHON_USE_UNICODE_WRITER 0
#elif !defined(CYTHON_USE_UNICODE_WRITER)
#define CYTHON_USE_UNICODE_WRITER 1
#endif
#ifndef CYTHON_AVOID_BORROWED_REFS
#define CYTHON_AVOID_BORROWED_REFS 0
#endif
#ifndef CYTHON_ASSUME_SAFE_MACROS
#define CYTHON_ASSUME_SAFE_MACROS 1
#endif
#ifndef CYTHON_UNPACK_METHODS
#define CYTHON_UNPACK_METHODS 1
#endif
#ifndef CYTHON_FAST_THREAD_STATE
#define CYTHON_FAST_THREAD_STATE 1
#endif
#ifndef CYTHON_FAST_PYCALL
#define CYTHON_FAST_PYCALL 1
#endif
#ifndef CYTHON_PEP489_MULTI_PHASE_INIT
#define CYTHON_PEP489_MULTI_PHASE_INIT (PY_VERSION_HEX >= 0x03050000)
#endif
#ifndef CYTHON_USE_TP_FINALIZE
#define CYTHON_USE_TP_FINALIZE (PY_VERSION_HEX >= 0x030400a1)
#endif
#ifndef CYTHON_USE_DICT_VERSIONS
#define CYTHON_USE_DICT_VERSIONS (PY_VERSION_HEX >= 0x030600B1)
#endif
#ifndef CYTHON_USE_EXC_INFO_STACK
#define CYTHON_USE_EXC_INFO_STACK (PY_VERSION_HEX >= 0x030700A3)
#endif
#endif
#if !defined(CYTHON_FAST_PYCCALL)
#define CYTHON_FAST_PYCCALL (CYTHON_FAST_PYCALL && PY_VERSION_HEX >= 0x030600B1)
#endif
#if CYTHON_USE_PYLONG_INTERNALS
#include "longintrepr.h"
#undef SHIFT
#undef BASE
#undef MASK
#ifdef SIZEOF_VOID_P
enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };
#endif
#endif
#ifndef __has_attribute
#define __has_attribute(x) 0
#endif
#ifndef __has_cpp_attribute
#define __has_cpp_attribute(x) 0
#endif
#ifndef CYTHON_RESTRICT
#if defined(__GNUC__)
#define CYTHON_RESTRICT __restrict__
#elif defined(_MSC_VER) && _MSC_VER >= 1400
#define CYTHON_RESTRICT __restrict
#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
#define CYTHON_RESTRICT restrict
#else
#define CYTHON_RESTRICT
#endif
#endif
#ifndef CYTHON_UNUSED
# if defined(__GNUC__)
# if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
# define CYTHON_UNUSED __attribute__ ((__unused__))
# else
# define CYTHON_UNUSED
# endif
# elif defined(__ICC) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
# define CYTHON_UNUSED __attribute__ ((__unused__))
# else
# define CYTHON_UNUSED
# endif
#endif
#ifndef CYTHON_MAYBE_UNUSED_VAR
# if defined(__cplusplus)
template<class T> void CYTHON_MAYBE_UNUSED_VAR( const T& ) { }
# else
# define CYTHON_MAYBE_UNUSED_VAR(x) (void)(x)
# endif
#endif
#ifndef CYTHON_NCP_UNUSED
# if CYTHON_COMPILING_IN_CPYTHON
# define CYTHON_NCP_UNUSED
# else
# define CYTHON_NCP_UNUSED CYTHON_UNUSED
# endif
#endif
#define __Pyx_void_to_None(void_result) ((void)(void_result), Py_INCREF(Py_None), Py_None)
#ifdef _MSC_VER
#ifndef _MSC_STDINT_H_
#if _MSC_VER < 1300
typedef unsigned char uint8_t;
typedef unsigned int uint32_t;
#else
typedef unsigned __int8 uint8_t;
typedef unsigned __int32 uint32_t;
#endif
#endif
#else
#include <stdint.h>
#endif
#ifndef CYTHON_FALLTHROUGH
#if defined(__cplusplus) && __cplusplus >= 201103L
#if __has_cpp_attribute(fallthrough)
#define CYTHON_FALLTHROUGH [[fallthrough]]
#elif __has_cpp_attribute(clang::fallthrough)
#define CYTHON_FALLTHROUGH [[clang::fallthrough]]
#elif __has_cpp_attribute(gnu::fallthrough)
#define CYTHON_FALLTHROUGH [[gnu::fallthrough]]
#endif
#endif
#ifndef CYTHON_FALLTHROUGH
#if __has_attribute(fallthrough)
#define CYTHON_FALLTHROUGH __attribute__((fallthrough))
#else
#define CYTHON_FALLTHROUGH
#endif
#endif
#if defined(__clang__ ) && defined(__apple_build_version__)
#if __apple_build_version__ < 7000000
#undef CYTHON_FALLTHROUGH
#define CYTHON_FALLTHROUGH
#endif
#endif
#endif
#ifndef CYTHON_INLINE
#if defined(__clang__)
#define CYTHON_INLINE __inline__ __attribute__ ((__unused__))
#elif defined(__GNUC__)
#define CYTHON_INLINE __inline__
#elif defined(_MSC_VER)
#define CYTHON_INLINE __inline
#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
#define CYTHON_INLINE inline
#else
#define CYTHON_INLINE
#endif
#endif
#if CYTHON_COMPILING_IN_PYPY && PY_VERSION_HEX < 0x02070600 && !defined(Py_OptimizeFlag)
#define Py_OptimizeFlag 0
#endif
#define __PYX_BUILD_PY_SSIZE_T "n"
#define CYTHON_FORMAT_SSIZE_T "z"
#if PY_MAJOR_VERSION < 3
#define __Pyx_BUILTIN_MODULE_NAME "__builtin__"
#define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
PyCode_New(a+k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#define __Pyx_DefaultClassType PyClass_Type
#else
#define __Pyx_BUILTIN_MODULE_NAME "builtins"
#if PY_VERSION_HEX >= 0x030800A4 && PY_VERSION_HEX < 0x030800B2
#define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
PyCode_New(a, 0, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#else
#define __Pyx_PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)\
PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
#endif
#define __Pyx_DefaultClassType PyType_Type
#endif
#ifndef Py_TPFLAGS_CHECKTYPES
#define Py_TPFLAGS_CHECKTYPES 0
#endif
#ifndef Py_TPFLAGS_HAVE_INDEX
#define Py_TPFLAGS_HAVE_INDEX 0
#endif
#ifndef Py_TPFLAGS_HAVE_NEWBUFFER
#define Py_TPFLAGS_HAVE_NEWBUFFER 0
#endif
#ifndef Py_TPFLAGS_HAVE_FINALIZE
#define Py_TPFLAGS_HAVE_FINALIZE 0
#endif
#ifndef METH_STACKLESS
#define METH_STACKLESS 0
#endif
#if PY_VERSION_HEX <= 0x030700A3 || !defined(METH_FASTCALL)
#ifndef METH_FASTCALL
#define METH_FASTCALL 0x80
#endif
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);
#else
#define __Pyx_PyCFunctionFast _PyCFunctionFast
#define __Pyx_PyCFunctionFastWithKeywords _PyCFunctionFastWithKeywords
#endif
#if CYTHON_FAST_PYCCALL
#define __Pyx_PyFastCFunction_Check(func)\
((PyCFunction_Check(func) && (METH_FASTCALL == (PyCFunction_GET_FLAGS(func) & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)))))
#else
#define __Pyx_PyFastCFunction_Check(func) 0
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Malloc)
#define PyObject_Malloc(s) PyMem_Malloc(s)
#define PyObject_Free(p) PyMem_Free(p)
#define PyObject_Realloc(p) PyMem_Realloc(p)
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX < 0x030400A1
#define PyMem_RawMalloc(n) PyMem_Malloc(n)
#define PyMem_RawRealloc(p, n) PyMem_Realloc(p, n)
#define PyMem_RawFree(p) PyMem_Free(p)
#endif
#if CYTHON_COMPILING_IN_PYSTON
#define __Pyx_PyCode_HasFreeVars(co) PyCode_HasFreeVars(co)
#define __Pyx_PyFrame_SetLineNumber(frame, lineno) PyFrame_SetLineNumber(frame, lineno)
#else
#define __Pyx_PyCode_HasFreeVars(co) (PyCode_GetNumFree(co) > 0)
#define __Pyx_PyFrame_SetLineNumber(frame, lineno) (frame)->f_lineno = (lineno)
#endif
#if !CYTHON_FAST_THREAD_STATE || PY_VERSION_HEX < 0x02070000
#define __Pyx_PyThreadState_Current PyThreadState_GET()
#elif PY_VERSION_HEX >= 0x03060000
#define __Pyx_PyThreadState_Current _PyThreadState_UncheckedGet()
#elif PY_VERSION_HEX >= 0x03000000
#define __Pyx_PyThreadState_Current PyThreadState_GET()
#else
#define __Pyx_PyThreadState_Current _PyThreadState_Current
#endif
#if PY_VERSION_HEX < 0x030700A2 && !defined(PyThread_tss_create) && !defined(Py_tss_NEEDS_INIT)
#include "pythread.h"
#define Py_tss_NEEDS_INIT 0
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);
}
#endif
#if CYTHON_COMPILING_IN_CPYTHON || defined(_PyDict_NewPresized)
#define __Pyx_PyDict_NewPresized(n) ((n <= 8) ? PyDict_New() : _PyDict_NewPresized(n))
#else
#define __Pyx_PyDict_NewPresized(n) PyDict_New()
#endif
#if PY_MAJOR_VERSION >= 3 || CYTHON_FUTURE_DIVISION
#define __Pyx_PyNumber_Divide(x,y) PyNumber_TrueDivide(x,y)
#define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceTrueDivide(x,y)
#else
#define __Pyx_PyNumber_Divide(x,y) PyNumber_Divide(x,y)
#define __Pyx_PyNumber_InPlaceDivide(x,y) PyNumber_InPlaceDivide(x,y)
#endif
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1 && CYTHON_USE_UNICODE_INTERNALS
#define __Pyx_PyDict_GetItemStr(dict, name) _PyDict_GetItem_KnownHash(dict, name, ((PyASCIIObject *) name)->hash)
#else
#define __Pyx_PyDict_GetItemStr(dict, name) PyDict_GetItem(dict, name)
#endif
#if PY_VERSION_HEX > 0x03030000 && defined(PyUnicode_KIND)
#define CYTHON_PEP393_ENABLED 1
#define __Pyx_PyUnicode_READY(op) (likely(PyUnicode_IS_READY(op)) ?\
0 : _PyUnicode_Ready((PyObject *)(op)))
#define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_LENGTH(u)
#define __Pyx_PyUnicode_READ_CHAR(u, i) PyUnicode_READ_CHAR(u, i)
#define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) PyUnicode_MAX_CHAR_VALUE(u)
#define __Pyx_PyUnicode_KIND(u) PyUnicode_KIND(u)
#define __Pyx_PyUnicode_DATA(u) PyUnicode_DATA(u)
#define __Pyx_PyUnicode_READ(k, d, i) PyUnicode_READ(k, d, i)
#define __Pyx_PyUnicode_WRITE(k, d, i, ch) PyUnicode_WRITE(k, d, i, ch)
#if defined(PyUnicode_IS_READY) && defined(PyUnicode_GET_SIZE)
#define __Pyx_PyUnicode_IS_TRUE(u) (0 != (likely(PyUnicode_IS_READY(u)) ? PyUnicode_GET_LENGTH(u) : PyUnicode_GET_SIZE(u)))
#else
#define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_LENGTH(u))
#endif
#else
#define CYTHON_PEP393_ENABLED 0
#define PyUnicode_1BYTE_KIND 1
#define PyUnicode_2BYTE_KIND 2
#define PyUnicode_4BYTE_KIND 4
#define __Pyx_PyUnicode_READY(op) (0)
#define __Pyx_PyUnicode_GET_LENGTH(u) PyUnicode_GET_SIZE(u)
#define __Pyx_PyUnicode_READ_CHAR(u, i) ((Py_UCS4)(PyUnicode_AS_UNICODE(u)[i]))
#define __Pyx_PyUnicode_MAX_CHAR_VALUE(u) ((sizeof(Py_UNICODE) == 2) ? 65535 : 1114111)
#define __Pyx_PyUnicode_KIND(u) (sizeof(Py_UNICODE))
#define __Pyx_PyUnicode_DATA(u) ((void*)PyUnicode_AS_UNICODE(u))
#define __Pyx_PyUnicode_READ(k, d, i) ((void)(k), (Py_UCS4)(((Py_UNICODE*)d)[i]))
#define __Pyx_PyUnicode_WRITE(k, d, i, ch) (((void)(k)), ((Py_UNICODE*)d)[i] = ch)
#define __Pyx_PyUnicode_IS_TRUE(u) (0 != PyUnicode_GET_SIZE(u))
#endif
#if CYTHON_COMPILING_IN_PYPY
#define __Pyx_PyUnicode_Concat(a, b) PyNumber_Add(a, b)
#define __Pyx_PyUnicode_ConcatSafe(a, b) PyNumber_Add(a, b)
#else
#define __Pyx_PyUnicode_Concat(a, b) PyUnicode_Concat(a, b)
#define __Pyx_PyUnicode_ConcatSafe(a, b) ((unlikely((a) == Py_None) || unlikely((b) == Py_None)) ?\
PyNumber_Add(a, b) : __Pyx_PyUnicode_Concat(a, b))
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyUnicode_Contains)
#define PyUnicode_Contains(u, s) PySequence_Contains(u, s)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyByteArray_Check)
#define PyByteArray_Check(obj) PyObject_TypeCheck(obj, &PyByteArray_Type)
#endif
#if CYTHON_COMPILING_IN_PYPY && !defined(PyObject_Format)
#define PyObject_Format(obj, fmt) PyObject_CallMethod(obj, "__format__", "O", fmt)
#endif
#define __Pyx_PyString_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyString_Check(b) && !PyString_CheckExact(b)))) ? PyNumber_Remainder(a, b) : __Pyx_PyString_Format(a, b))
#define __Pyx_PyUnicode_FormatSafe(a, b) ((unlikely((a) == Py_None || (PyUnicode_Check(b) && !PyUnicode_CheckExact(b)))) ? PyNumber_Remainder(a, b) : PyUnicode_Format(a, b))
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyString_Format(a, b) PyUnicode_Format(a, b)
#else
#define __Pyx_PyString_Format(a, b) PyString_Format(a, b)
#endif
#if PY_MAJOR_VERSION < 3 && !defined(PyObject_ASCII)
#define PyObject_ASCII(o) PyObject_Repr(o)
#endif
#if PY_MAJOR_VERSION >= 3
#define PyBaseString_Type PyUnicode_Type
#define PyStringObject PyUnicodeObject
#define PyString_Type PyUnicode_Type
#define PyString_Check PyUnicode_Check
#define PyString_CheckExact PyUnicode_CheckExact
#ifndef PyObject_Unicode
#define PyObject_Unicode PyObject_Str
#endif
#endif
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyBaseString_Check(obj) PyUnicode_Check(obj)
#define __Pyx_PyBaseString_CheckExact(obj) PyUnicode_CheckExact(obj)
#else
#define __Pyx_PyBaseString_Check(obj) (PyString_Check(obj) || PyUnicode_Check(obj))
#define __Pyx_PyBaseString_CheckExact(obj) (PyString_CheckExact(obj) || PyUnicode_CheckExact(obj))
#endif
#ifndef PySet_CheckExact
#define PySet_CheckExact(obj) (Py_TYPE(obj) == &PySet_Type)
#endif
#if PY_VERSION_HEX >= 0x030900A4
#define __Pyx_SET_REFCNT(obj, refcnt) Py_SET_REFCNT(obj, refcnt)
#define __Pyx_SET_SIZE(obj, size) Py_SET_SIZE(obj, size)
#else
#define __Pyx_SET_REFCNT(obj, refcnt) Py_REFCNT(obj) = (refcnt)
#define __Pyx_SET_SIZE(obj, size) Py_SIZE(obj) = (size)
#endif
#if CYTHON_ASSUME_SAFE_MACROS
#define __Pyx_PySequence_SIZE(seq) Py_SIZE(seq)
#else
#define __Pyx_PySequence_SIZE(seq) PySequence_Size(seq)
#endif
#if PY_MAJOR_VERSION >= 3
#define PyIntObject PyLongObject
#define PyInt_Type PyLong_Type
#define PyInt_Check(op) PyLong_Check(op)
#define PyInt_CheckExact(op) PyLong_CheckExact(op)
#define PyInt_FromString PyLong_FromString
#define PyInt_FromUnicode PyLong_FromUnicode
#define PyInt_FromLong PyLong_FromLong
#define PyInt_FromSize_t PyLong_FromSize_t
#define PyInt_FromSsize_t PyLong_FromSsize_t
#define PyInt_AsLong PyLong_AsLong
#define PyInt_AS_LONG PyLong_AS_LONG
#define PyInt_AsSsize_t PyLong_AsSsize_t
#define PyInt_AsUnsignedLongMask PyLong_AsUnsignedLongMask
#define PyInt_AsUnsignedLongLongMask PyLong_AsUnsignedLongLongMask
#define PyNumber_Int PyNumber_Long
#endif
#if PY_MAJOR_VERSION >= 3
#define PyBoolObject PyLongObject
#endif
#if PY_MAJOR_VERSION >= 3 && CYTHON_COMPILING_IN_PYPY
#ifndef PyUnicode_InternFromString
#define PyUnicode_InternFromString(s) PyUnicode_FromString(s)
#endif
#endif
#if PY_VERSION_HEX < 0x030200A4
typedef long Py_hash_t;
#define __Pyx_PyInt_FromHash_t PyInt_FromLong
#define __Pyx_PyInt_AsHash_t PyInt_AsLong
#else
#define __Pyx_PyInt_FromHash_t PyInt_FromSsize_t
#define __Pyx_PyInt_AsHash_t PyInt_AsSsize_t
#endif
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyMethod_New(func, self, klass) ((self) ? ((void)(klass), PyMethod_New(func, self)) : __Pyx_NewRef(func))
#else
#define __Pyx_PyMethod_New(func, self, klass) PyMethod_New(func, self, klass)
#endif
#if CYTHON_USE_ASYNC_SLOTS
#if PY_VERSION_HEX >= 0x030500B1
#define __Pyx_PyAsyncMethodsStruct PyAsyncMethods
#define __Pyx_PyType_AsAsync(obj) (Py_TYPE(obj)->tp_as_async)
#else
#define __Pyx_PyType_AsAsync(obj) ((__Pyx_PyAsyncMethodsStruct*) (Py_TYPE(obj)->tp_reserved))
#endif
#else
#define __Pyx_PyType_AsAsync(obj) NULL
#endif
#ifndef __Pyx_PyAsyncMethodsStruct
typedef struct {
unaryfunc am_await;
unaryfunc am_aiter;
unaryfunc am_anext;
} __Pyx_PyAsyncMethodsStruct;
#endif
#if defined(WIN32) || defined(MS_WINDOWS)
#define _USE_MATH_DEFINES
#endif
#include <math.h>
#ifdef NAN
#define __PYX_NAN() ((float) NAN)
#else
static CYTHON_INLINE float __PYX_NAN() {
float value;
memset(&value, 0xFF, sizeof(value));
return value;
}
#endif
#if defined(__CYGWIN__) && defined(_LDBL_EQ_DBL)
#define __Pyx_truncl trunc
#else
#define __Pyx_truncl truncl
#endif
#define __PYX_MARK_ERR_POS(f_index, lineno) \
{ __pyx_filename = __pyx_f[f_index]; (void)__pyx_filename; __pyx_lineno = lineno; (void)__pyx_lineno; __pyx_clineno = __LINE__; (void)__pyx_clineno; }
#define __PYX_ERR(f_index, lineno, Ln_error) \
{ __PYX_MARK_ERR_POS(f_index, lineno) goto Ln_error; }
#ifndef __PYX_EXTERN_C
#ifdef __cplusplus
#define __PYX_EXTERN_C extern "C"
#else
#define __PYX_EXTERN_C extern
#endif
#endif
#define __PYX_HAVE__kivyblocks__blocks
#define __PYX_HAVE_API__kivyblocks__blocks
/* Early includes */
#ifdef _OPENMP
#include <omp.h>
#endif /* _OPENMP */
#if defined(PYREX_WITHOUT_ASSERTIONS) && !defined(CYTHON_WITHOUT_ASSERTIONS)
#define CYTHON_WITHOUT_ASSERTIONS
#endif
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;
#define __PYX_DEFAULT_STRING_ENCODING_IS_ASCII 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_UTF8 0
#define __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT (PY_MAJOR_VERSION >= 3 && __PYX_DEFAULT_STRING_ENCODING_IS_UTF8)
#define __PYX_DEFAULT_STRING_ENCODING ""
#define __Pyx_PyObject_FromString __Pyx_PyBytes_FromString
#define __Pyx_PyObject_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#define __Pyx_uchar_cast(c) ((unsigned char)c)
#define __Pyx_long_cast(x) ((long)x)
#define __Pyx_fits_Py_ssize_t(v, type, is_signed) (\
(sizeof(type) < sizeof(Py_ssize_t)) ||\
(sizeof(type) > sizeof(Py_ssize_t) &&\
likely(v < (type)PY_SSIZE_T_MAX ||\
v == (type)PY_SSIZE_T_MAX) &&\
(!is_signed || likely(v > (type)PY_SSIZE_T_MIN ||\
v == (type)PY_SSIZE_T_MIN))) ||\
(sizeof(type) == sizeof(Py_ssize_t) &&\
(is_signed || likely(v < (type)PY_SSIZE_T_MAX ||\
v == (type)PY_SSIZE_T_MAX))) )
static CYTHON_INLINE int __Pyx_is_valid_index(Py_ssize_t i, Py_ssize_t limit) {
return (size_t) i < (size_t) limit;
}
#if defined (__cplusplus) && __cplusplus >= 201103L
#include <cstdlib>
#define __Pyx_sst_abs(value) std::abs(value)
#elif SIZEOF_INT >= SIZEOF_SIZE_T
#define __Pyx_sst_abs(value) abs(value)
#elif SIZEOF_LONG >= SIZEOF_SIZE_T
#define __Pyx_sst_abs(value) labs(value)
#elif defined (_MSC_VER)
#define __Pyx_sst_abs(value) ((Py_ssize_t)_abs64(value))
#elif defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
#define __Pyx_sst_abs(value) llabs(value)
#elif defined (__GNUC__)
#define __Pyx_sst_abs(value) __builtin_llabs(value)
#else
#define __Pyx_sst_abs(value) ((value<0) ? -value : value)
#endif
static CYTHON_INLINE const char* __Pyx_PyObject_AsString(PyObject*);
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject*, Py_ssize_t* length);
#define __Pyx_PyByteArray_FromString(s) PyByteArray_FromStringAndSize((const char*)s, strlen((const char*)s))
#define __Pyx_PyByteArray_FromStringAndSize(s, l) PyByteArray_FromStringAndSize((const char*)s, l)
#define __Pyx_PyBytes_FromString PyBytes_FromString
#define __Pyx_PyBytes_FromStringAndSize PyBytes_FromStringAndSize
static CYTHON_INLINE PyObject* __Pyx_PyUnicode_FromString(const char*);
#if PY_MAJOR_VERSION < 3
#define __Pyx_PyStr_FromString __Pyx_PyBytes_FromString
#define __Pyx_PyStr_FromStringAndSize __Pyx_PyBytes_FromStringAndSize
#else
#define __Pyx_PyStr_FromString __Pyx_PyUnicode_FromString
#define __Pyx_PyStr_FromStringAndSize __Pyx_PyUnicode_FromStringAndSize
#endif
#define __Pyx_PyBytes_AsWritableString(s) ((char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsWritableSString(s) ((signed char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsWritableUString(s) ((unsigned char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsString(s) ((const char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsSString(s) ((const signed char*) PyBytes_AS_STRING(s))
#define __Pyx_PyBytes_AsUString(s) ((const unsigned char*) PyBytes_AS_STRING(s))
#define __Pyx_PyObject_AsWritableString(s) ((char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableSString(s) ((signed char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsWritableUString(s) ((unsigned char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsSString(s) ((const signed char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_AsUString(s) ((const unsigned char*) __Pyx_PyObject_AsString(s))
#define __Pyx_PyObject_FromCString(s) __Pyx_PyObject_FromString((const char*)s)
#define __Pyx_PyBytes_FromCString(s) __Pyx_PyBytes_FromString((const char*)s)
#define __Pyx_PyByteArray_FromCString(s) __Pyx_PyByteArray_FromString((const char*)s)
#define __Pyx_PyStr_FromCString(s) __Pyx_PyStr_FromString((const char*)s)
#define __Pyx_PyUnicode_FromCString(s) __Pyx_PyUnicode_FromString((const char*)s)
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);
}
#define __Pyx_PyUnicode_FromUnicode(u) PyUnicode_FromUnicode(u, __Pyx_Py_UNICODE_strlen(u))
#define __Pyx_PyUnicode_FromUnicodeAndLength PyUnicode_FromUnicode
#define __Pyx_PyUnicode_AsUnicode PyUnicode_AsUnicode
#define __Pyx_NewRef(obj) (Py_INCREF(obj), obj)
#define __Pyx_Owned_Py_None(b) __Pyx_NewRef(Py_None)
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);
#define __Pyx_PySequence_Tuple(obj)\
(likely(PyTuple_CheckExact(obj)) ? __Pyx_NewRef(obj) : PySequence_Tuple(obj))
static CYTHON_INLINE Py_ssize_t __Pyx_PyIndex_AsSsize_t(PyObject*);
static CYTHON_INLINE PyObject * __Pyx_PyInt_FromSize_t(size_t);
#if CYTHON_ASSUME_SAFE_MACROS
#define __pyx_PyFloat_AsDouble(x) (PyFloat_CheckExact(x) ? PyFloat_AS_DOUBLE(x) : PyFloat_AsDouble(x))
#else
#define __pyx_PyFloat_AsDouble(x) PyFloat_AsDouble(x)
#endif
#define __pyx_PyFloat_AsFloat(x) ((float) __pyx_PyFloat_AsDouble(x))
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyNumber_Int(x) (PyLong_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Long(x))
#else
#define __Pyx_PyNumber_Int(x) (PyInt_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Int(x))
#endif
#define __Pyx_PyNumber_Float(x) (PyFloat_CheckExact(x) ? __Pyx_NewRef(x) : PyNumber_Float(x))
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
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] = 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;
}
#endif
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT && PY_MAJOR_VERSION >= 3
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_DecodeUTF8(c_str, size, NULL)
#else
#define __Pyx_PyUnicode_FromStringAndSize(c_str, size) PyUnicode_Decode(c_str, size, __PYX_DEFAULT_STRING_ENCODING, NULL)
#if __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
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;
}
#endif
#endif
/* Test for GCC > 2.95 */
#if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && (__GNUC_MINOR__ > 95)))
#define likely(x) __builtin_expect(!!(x), 1)
#define unlikely(x) __builtin_expect(!!(x), 0)
#else /* !__GNUC__ or GCC < 2.95 */
#define likely(x) (x)
#define unlikely(x) (x)
#endif /* __GNUC__ */
static CYTHON_INLINE void __Pyx_pretend_to_initialize(void* ptr) { (void)ptr; }
static PyObject *__pyx_m = NULL;
static PyObject *__pyx_d;
static PyObject *__pyx_b;
static PyObject *__pyx_cython_runtime = NULL;
static PyObject *__pyx_empty_tuple;
static PyObject *__pyx_empty_bytes;
static PyObject *__pyx_empty_unicode;
static int __pyx_lineno;
static int __pyx_clineno = 0;
static const char * __pyx_cfilenm= __FILE__;
static const char *__pyx_filename;
static const char *__pyx_f[] = {
"kivyblocks\\blocks.pyx",
};
/*--- Type declarations ---*/
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction;
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction;
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild;
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById;
struct __pyx_defaults;
typedef struct __pyx_defaults __pyx_defaults;
struct __pyx_defaults1;
typedef struct __pyx_defaults1 __pyx_defaults1;
struct __pyx_defaults2;
typedef struct __pyx_defaults2 __pyx_defaults2;
struct __pyx_defaults3;
typedef struct __pyx_defaults3 __pyx_defaults3;
struct __pyx_defaults4;
typedef struct __pyx_defaults4 __pyx_defaults4;
struct __pyx_defaults {
PyObject *__pyx_arg_params;
PyObject *__pyx_arg_files;
};
struct __pyx_defaults1 {
PyObject *__pyx_arg_localnamespace;
};
struct __pyx_defaults2 {
PyObject *__pyx_arg_localnamespace;
};
struct __pyx_defaults3 {
PyObject *__pyx_arg_localnamespace;
};
struct __pyx_defaults4 {
PyObject *__pyx_arg_localnamespace;
};
/* "kivyblocks/blocks.pyx":399
* return Blocks.getWidgetById(desc.get('target'),from_widget=widget)
*
* def blocksAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace')
*/
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction {
PyObject_HEAD
PyObject *__pyx_v_desc;
};
/* "kivyblocks/blocks.pyx":427
* b.widgetBuild(opts)
*
* def urlwidgetAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace')
*/
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction {
PyObject_HEAD
PyObject *__pyx_v_desc;
};
/* "kivyblocks/blocks.pyx":599
* alert('%s method not found' % method)
*
* def widgetBuild(self, desc): # <<<<<<<<<<<<<<
* """
* desc format:
*/
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild {
PyObject_HEAD
PyObject *__pyx_v_self;
};
/* "kivyblocks/blocks.pyx":678
*
* @classmethod
* def getWidgetById(self, id:str, from_widget:Widget=None) -> Widget: # <<<<<<<<<<<<<<
* def find_widget_by_id(id, from_widget):
* if id=='self':
*/
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById {
PyObject_HEAD
PyObject *__pyx_v_find_widget_by_id;
};
/* --- Runtime support code (head) --- */
/* Refnanny.proto */
#ifndef CYTHON_REFNANNY
#define CYTHON_REFNANNY 0
#endif
#if CYTHON_REFNANNY
typedef struct {
void (*INCREF)(void*, PyObject*, int);
void (*DECREF)(void*, PyObject*, int);
void (*GOTREF)(void*, PyObject*, int);
void (*GIVEREF)(void*, PyObject*, int);
void* (*SetupContext)(const char*, int, const char*);
void (*FinishContext)(void**);
} __Pyx_RefNannyAPIStruct;
static __Pyx_RefNannyAPIStruct *__Pyx_RefNanny = NULL;
static __Pyx_RefNannyAPIStruct *__Pyx_RefNannyImportAPI(const char *modname);
#define __Pyx_RefNannyDeclarations void *__pyx_refnanny = NULL;
#ifdef WITH_THREAD
#define __Pyx_RefNannySetupContext(name, acquire_gil)\
if (acquire_gil) {\
PyGILState_STATE __pyx_gilstate_save = PyGILState_Ensure();\
__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
PyGILState_Release(__pyx_gilstate_save);\
} else {\
__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__);\
}
#else
#define __Pyx_RefNannySetupContext(name, acquire_gil)\
__pyx_refnanny = __Pyx_RefNanny->SetupContext((name), __LINE__, __FILE__)
#endif
#define __Pyx_RefNannyFinishContext()\
__Pyx_RefNanny->FinishContext(&__pyx_refnanny)
#define __Pyx_INCREF(r) __Pyx_RefNanny->INCREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
#define __Pyx_DECREF(r) __Pyx_RefNanny->DECREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
#define __Pyx_GOTREF(r) __Pyx_RefNanny->GOTREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
#define __Pyx_GIVEREF(r) __Pyx_RefNanny->GIVEREF(__pyx_refnanny, (PyObject *)(r), __LINE__)
#define __Pyx_XINCREF(r) do { if((r) != NULL) {__Pyx_INCREF(r); }} while(0)
#define __Pyx_XDECREF(r) do { if((r) != NULL) {__Pyx_DECREF(r); }} while(0)
#define __Pyx_XGOTREF(r) do { if((r) != NULL) {__Pyx_GOTREF(r); }} while(0)
#define __Pyx_XGIVEREF(r) do { if((r) != NULL) {__Pyx_GIVEREF(r);}} while(0)
#else
#define __Pyx_RefNannyDeclarations
#define __Pyx_RefNannySetupContext(name, acquire_gil)
#define __Pyx_RefNannyFinishContext()
#define __Pyx_INCREF(r) Py_INCREF(r)
#define __Pyx_DECREF(r) Py_DECREF(r)
#define __Pyx_GOTREF(r)
#define __Pyx_GIVEREF(r)
#define __Pyx_XINCREF(r) Py_XINCREF(r)
#define __Pyx_XDECREF(r) Py_XDECREF(r)
#define __Pyx_XGOTREF(r)
#define __Pyx_XGIVEREF(r)
#endif
#define __Pyx_XDECREF_SET(r, v) do {\
PyObject *tmp = (PyObject *) r;\
r = v; __Pyx_XDECREF(tmp);\
} while (0)
#define __Pyx_DECREF_SET(r, v) do {\
PyObject *tmp = (PyObject *) r;\
r = v; __Pyx_DECREF(tmp);\
} while (0)
#define __Pyx_CLEAR(r) do { PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);} while(0)
#define __Pyx_XCLEAR(r) do { if((r) != NULL) {PyObject* tmp = ((PyObject*)(r)); r = NULL; __Pyx_DECREF(tmp);}} while(0)
/* PyObjectGetAttrStr.proto */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetAttrStr(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GetAttrStr(o,n) PyObject_GetAttr(o,n)
#endif
/* GetBuiltinName.proto */
static PyObject *__Pyx_GetBuiltinName(PyObject *name);
/* 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 **argnames[],\
PyObject *kwds2, PyObject *values[], Py_ssize_t num_pos_args,\
const char* function_name);
/* PyObjectCall.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw);
#else
#define __Pyx_PyObject_Call(func, arg, kw) PyObject_Call(func, arg, kw)
#endif
/* PyFunctionFastCall.proto */
#if CYTHON_FAST_PYCALL
#define __Pyx_PyFunction_FastCall(func, args, nargs)\
__Pyx_PyFunction_FastCallDict((func), (args), (nargs), NULL)
#if 1 || PY_VERSION_HEX < 0x030600B1
static PyObject *__Pyx_PyFunction_FastCallDict(PyObject *func, PyObject **args, Py_ssize_t nargs, PyObject *kwargs);
#else
#define __Pyx_PyFunction_FastCallDict(func, args, nargs, kwargs) _PyFunction_FastCallDict(func, args, nargs, kwargs)
#endif
#define __Pyx_BUILD_ASSERT_EXPR(cond)\
(sizeof(char [1 - 2*!(cond)]) - 1)
#ifndef Py_MEMBER_SIZE
#define Py_MEMBER_SIZE(type, member) sizeof(((type *)0)->member)
#endif
static size_t __pyx_pyframe_localsplus_offset = 0;
#include "frameobject.h"
#define __Pxy_PyFrame_Initialize_Offsets()\
((void)__Pyx_BUILD_ASSERT_EXPR(sizeof(PyFrameObject) == offsetof(PyFrameObject, f_localsplus) + Py_MEMBER_SIZE(PyFrameObject, f_localsplus)),\
(void)(__pyx_pyframe_localsplus_offset = ((size_t)PyFrame_Type.tp_basicsize) - Py_MEMBER_SIZE(PyFrameObject, f_localsplus)))
#define __Pyx_PyFrame_GetLocalsplus(frame)\
(assert(__pyx_pyframe_localsplus_offset), (PyObject **)(((char *)(frame)) + __pyx_pyframe_localsplus_offset))
#endif
/* PyObjectCallMethO.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallMethO(PyObject *func, PyObject *arg);
#endif
/* PyObjectCallNoArg.proto */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func);
#else
#define __Pyx_PyObject_CallNoArg(func) __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL)
#endif
/* PyCFunctionFastCall.proto */
#if CYTHON_FAST_PYCCALL
static CYTHON_INLINE PyObject *__Pyx_PyCFunction_FastCall(PyObject *func, PyObject **args, Py_ssize_t nargs);
#else
#define __Pyx_PyCFunction_FastCall(func, args, nargs) (assert(0), NULL)
#endif
/* PyObjectCallOneArg.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg);
/* PyObjectSetAttrStr.proto */
#if CYTHON_USE_TYPE_SLOTS
#define __Pyx_PyObject_DelAttrStr(o,n) __Pyx_PyObject_SetAttrStr(o, n, NULL)
static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value);
#else
#define __Pyx_PyObject_DelAttrStr(o,n) PyObject_DelAttr(o,n)
#define __Pyx_PyObject_SetAttrStr(o,n,v) PyObject_SetAttr(o,n,v)
#endif
/* ArgTypeTest.proto */
#define __Pyx_ArgTypeTest(obj, type, none_allowed, name, exact)\
((likely((Py_TYPE(obj) == type) | (none_allowed && (obj == Py_None)))) ? 1 :\
__Pyx__ArgTypeTest(obj, type, name, exact))
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact);
/* GetAttr.proto */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *, PyObject *);
/* Globals.proto */
static PyObject* __Pyx_Globals(void);
/* PyDictVersioning.proto */
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
#define __PYX_DICT_VERSION_INIT ((PY_UINT64_T) -1)
#define __PYX_GET_DICT_VERSION(dict) (((PyDictObject*)(dict))->ma_version_tag)
#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)\
(version_var) = __PYX_GET_DICT_VERSION(dict);\
(cache_var) = (value);
#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) {\
static PY_UINT64_T __pyx_dict_version = 0;\
static PyObject *__pyx_dict_cached_value = NULL;\
if (likely(__PYX_GET_DICT_VERSION(DICT) == __pyx_dict_version)) {\
(VAR) = __pyx_dict_cached_value;\
} else {\
(VAR) = __pyx_dict_cached_value = (LOOKUP);\
__pyx_dict_version = __PYX_GET_DICT_VERSION(DICT);\
}\
}
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);
#else
#define __PYX_GET_DICT_VERSION(dict) (0)
#define __PYX_UPDATE_DICT_CACHE(dict, value, cache_var, version_var)
#define __PYX_PY_DICT_LOOKUP_IF_MODIFIED(VAR, DICT, LOOKUP) (VAR) = (LOOKUP);
#endif
/* GetModuleGlobalName.proto */
#if CYTHON_USE_DICT_VERSIONS
#define __Pyx_GetModuleGlobalName(var, name) {\
static PY_UINT64_T __pyx_dict_version = 0;\
static PyObject *__pyx_dict_cached_value = NULL;\
(var) = (likely(__pyx_dict_version == __PYX_GET_DICT_VERSION(__pyx_d))) ?\
(likely(__pyx_dict_cached_value) ? __Pyx_NewRef(__pyx_dict_cached_value) : __Pyx_GetBuiltinName(name)) :\
__Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
}
#define __Pyx_GetModuleGlobalNameUncached(var, name) {\
PY_UINT64_T __pyx_dict_version;\
PyObject *__pyx_dict_cached_value;\
(var) = __Pyx__GetModuleGlobalName(name, &__pyx_dict_version, &__pyx_dict_cached_value);\
}
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value);
#else
#define __Pyx_GetModuleGlobalName(var, name) (var) = __Pyx__GetModuleGlobalName(name)
#define __Pyx_GetModuleGlobalNameUncached(var, name) (var) = __Pyx__GetModuleGlobalName(name)
static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name);
#endif
/* PyObjectCall2Args.proto */
static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2);
/* RaiseTooManyValuesToUnpack.proto */
static CYTHON_INLINE void __Pyx_RaiseTooManyValuesError(Py_ssize_t expected);
/* RaiseNeedMoreValuesToUnpack.proto */
static CYTHON_INLINE void __Pyx_RaiseNeedMoreValuesError(Py_ssize_t index);
/* IterFinish.proto */
static CYTHON_INLINE int __Pyx_IterFinish(void);
/* UnpackItemEndCheck.proto */
static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected);
/* 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));
}
/* UnpackUnboundCMethod.proto */
typedef struct {
PyObject *type;
PyObject **method_name;
PyCFunction func;
PyObject *method;
int flag;
} __Pyx_CachedCFunction;
/* CallUnboundCMethod1.proto */
static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg);
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg);
#else
#define __Pyx_CallUnboundCMethod1(cfunc, self, arg) __Pyx__CallUnboundCMethod1(cfunc, self, arg)
#endif
/* bytes_tailmatch.proto */
static int __Pyx_PyBytes_SingleTailmatch(PyObject* self, PyObject* arg,
Py_ssize_t start, Py_ssize_t end, int direction);
static int __Pyx_PyBytes_Tailmatch(PyObject* self, PyObject* substr,
Py_ssize_t start, Py_ssize_t end, int direction);
/* unicode_tailmatch.proto */
static int __Pyx_PyUnicode_Tailmatch(
PyObject* s, PyObject* substr, Py_ssize_t start, Py_ssize_t end, int direction);
/* str_tailmatch.proto */
static CYTHON_INLINE int __Pyx_PyStr_Tailmatch(PyObject* self, PyObject* arg, Py_ssize_t start,
Py_ssize_t end, int direction);
/* PyObjectLookupSpecial.proto */
#if CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE PyObject* __Pyx_PyObject_LookupSpecial(PyObject* obj, PyObject* attr_name) {
PyObject *res;
PyTypeObject *tp = Py_TYPE(obj);
#if PY_MAJOR_VERSION < 3
if (unlikely(PyInstance_Check(obj)))
return __Pyx_PyObject_GetAttrStr(obj, attr_name);
#endif
res = _PyType_Lookup(tp, attr_name);
if (likely(res)) {
descrgetfunc f = Py_TYPE(res)->tp_descr_get;
if (!f) {
Py_INCREF(res);
} else {
res = f(res, obj, (PyObject *)tp);
}
} else {
PyErr_SetObject(PyExc_AttributeError, attr_name);
}
return res;
}
#else
#define __Pyx_PyObject_LookupSpecial(o,n) __Pyx_PyObject_GetAttrStr(o,n)
#endif
/* GetTopmostException.proto */
#if CYTHON_USE_EXC_INFO_STACK
static _PyErr_StackItem * __Pyx_PyErr_GetTopmostException(PyThreadState *tstate);
#endif
/* PyThreadStateGet.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyThreadState_declare PyThreadState *__pyx_tstate;
#define __Pyx_PyThreadState_assign __pyx_tstate = __Pyx_PyThreadState_Current;
#define __Pyx_PyErr_Occurred() __pyx_tstate->curexc_type
#else
#define __Pyx_PyThreadState_declare
#define __Pyx_PyThreadState_assign
#define __Pyx_PyErr_Occurred() PyErr_Occurred()
#endif
/* SaveResetException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_ExceptionSave(type, value, tb) __Pyx__ExceptionSave(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#define __Pyx_ExceptionReset(type, value, tb) __Pyx__ExceptionReset(__pyx_tstate, type, value, tb)
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb);
#else
#define __Pyx_ExceptionSave(type, value, tb) PyErr_GetExcInfo(type, value, tb)
#define __Pyx_ExceptionReset(type, value, tb) PyErr_SetExcInfo(type, value, tb)
#endif
/* GetException.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_GetException(type, value, tb) __Pyx__GetException(__pyx_tstate, type, value, tb)
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb);
#else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb);
#endif
/* PyErrFetchRestore.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyErr_Clear() __Pyx_ErrRestore(NULL, NULL, NULL)
#define __Pyx_ErrRestoreWithState(type, value, tb) __Pyx_ErrRestoreInState(PyThreadState_GET(), type, value, tb)
#define __Pyx_ErrFetchWithState(type, value, tb) __Pyx_ErrFetchInState(PyThreadState_GET(), type, value, tb)
#define __Pyx_ErrRestore(type, value, tb) __Pyx_ErrRestoreInState(__pyx_tstate, type, value, tb)
#define __Pyx_ErrFetch(type, value, tb) __Pyx_ErrFetchInState(__pyx_tstate, type, value, tb)
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);
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_PyErr_SetNone(exc) (Py_INCREF(exc), __Pyx_ErrRestore((exc), NULL, NULL))
#else
#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
#endif
#else
#define __Pyx_PyErr_Clear() PyErr_Clear()
#define __Pyx_PyErr_SetNone(exc) PyErr_SetNone(exc)
#define __Pyx_ErrRestoreWithState(type, value, tb) PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetchWithState(type, value, tb) PyErr_Fetch(type, value, tb)
#define __Pyx_ErrRestoreInState(tstate, type, value, tb) PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetchInState(tstate, type, value, tb) PyErr_Fetch(type, value, tb)
#define __Pyx_ErrRestore(type, value, tb) PyErr_Restore(type, value, tb)
#define __Pyx_ErrFetch(type, value, tb) PyErr_Fetch(type, value, tb)
#endif
/* PyErrExceptionMatches.proto */
#if CYTHON_FAST_THREAD_STATE
#define __Pyx_PyErr_ExceptionMatches(err) __Pyx_PyErr_ExceptionMatchesInState(__pyx_tstate, err)
static CYTHON_INLINE int __Pyx_PyErr_ExceptionMatchesInState(PyThreadState* tstate, PyObject* err);
#else
#define __Pyx_PyErr_ExceptionMatches(err) PyErr_ExceptionMatches(err)
#endif
/* 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);
/* RaiseNoneIterError.proto */
static CYTHON_INLINE void __Pyx_RaiseNoneNotIterableError(void);
/* UnpackTupleError.proto */
static void __Pyx_UnpackTupleError(PyObject *, Py_ssize_t index);
/* UnpackTuple2.proto */
#define __Pyx_unpack_tuple2(tuple, value1, value2, is_tuple, has_known_size, decref_tuple)\
(likely(is_tuple || PyTuple_Check(tuple)) ?\
(likely(has_known_size || PyTuple_GET_SIZE(tuple) == 2) ?\
__Pyx_unpack_tuple2_exact(tuple, value1, value2, decref_tuple) :\
(__Pyx_UnpackTupleError(tuple, 2), -1)) :\
__Pyx_unpack_tuple2_generic(tuple, value1, value2, has_known_size, decref_tuple))
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);
/* ListAppend.proto */
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static CYTHON_INLINE int __Pyx_PyList_Append(PyObject* list, PyObject* x) {
PyListObject* L = (PyListObject*) list;
Py_ssize_t len = Py_SIZE(list);
if (likely(L->allocated > len) & likely(len > (L->allocated >> 1))) {
Py_INCREF(x);
PyList_SET_ITEM(list, len, x);
__Pyx_SET_SIZE(list, len + 1);
return 0;
}
return PyList_Append(list, x);
}
#else
#define __Pyx_PyList_Append(L,x) PyList_Append(L,x)
#endif
/* py_dict_items.proto */
static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d);
/* CallUnboundCMethod0.proto */
static PyObject* __Pyx__CallUnboundCMethod0(__Pyx_CachedCFunction* cfunc, PyObject* self);
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_CallUnboundCMethod0(cfunc, self)\
(likely((cfunc)->func) ?\
(likely((cfunc)->flag == METH_NOARGS) ? (*((cfunc)->func))(self, NULL) :\
(PY_VERSION_HEX >= 0x030600B1 && likely((cfunc)->flag == METH_FASTCALL) ?\
(PY_VERSION_HEX >= 0x030700A0 ?\
(*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0) :\
(*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL)) :\
(PY_VERSION_HEX >= 0x030700A0 && (cfunc)->flag == (METH_FASTCALL | METH_KEYWORDS) ?\
(*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, &__pyx_empty_tuple, 0, NULL) :\
(likely((cfunc)->flag == (METH_VARARGS | METH_KEYWORDS)) ? ((*(PyCFunctionWithKeywords)(void*)(PyCFunction)(cfunc)->func)(self, __pyx_empty_tuple, NULL)) :\
((cfunc)->flag == METH_VARARGS ? (*((cfunc)->func))(self, __pyx_empty_tuple) :\
__Pyx__CallUnboundCMethod0(cfunc, self)))))) :\
__Pyx__CallUnboundCMethod0(cfunc, self))
#else
#define __Pyx_CallUnboundCMethod0(cfunc, self) __Pyx__CallUnboundCMethod0(cfunc, self)
#endif
/* RaiseException.proto */
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb, PyObject *cause);
/* DictGetItem.proto */
#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key);
#define __Pyx_PyObject_Dict_GetItem(obj, name)\
(likely(PyDict_CheckExact(obj)) ?\
__Pyx_PyDict_GetItem(obj, name) : PyObject_GetItem(obj, name))
#else
#define __Pyx_PyDict_GetItem(d, key) PyObject_GetItem(d, key)
#define __Pyx_PyObject_Dict_GetItem(obj, name) PyObject_GetItem(obj, name)
#endif
/* SliceObject.proto */
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(
PyObject* obj, Py_ssize_t cstart, Py_ssize_t cstop,
PyObject** py_start, PyObject** py_stop, PyObject** py_slice,
int has_cstart, int has_cstop, int wraparound);
/* ListCompAppend.proto */
#if CYTHON_USE_PYLIST_INTERNALS && CYTHON_ASSUME_SAFE_MACROS
static CYTHON_INLINE int __Pyx_ListComp_Append(PyObject* list, PyObject* x) {
PyListObject* L = (PyListObject*) list;
Py_ssize_t len = Py_SIZE(list);
if (likely(L->allocated > len)) {
Py_INCREF(x);
PyList_SET_ITEM(list, len, x);
__Pyx_SET_SIZE(list, len + 1);
return 0;
}
return PyList_Append(list, x);
}
#else
#define __Pyx_ListComp_Append(L,x) PyList_Append(L,x)
#endif
/* HasAttr.proto */
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *, PyObject *);
/* IncludeStringH.proto */
#include <string.h>
/* 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);
/* StrEquals.proto */
#if PY_MAJOR_VERSION >= 3
#define __Pyx_PyString_Equals __Pyx_PyUnicode_Equals
#else
#define __Pyx_PyString_Equals __Pyx_PyBytes_Equals
#endif
/* PyObjectFormatSimple.proto */
#if CYTHON_COMPILING_IN_PYPY
#define __Pyx_PyObject_FormatSimple(s, f) (\
likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
PyObject_Format(s, f))
#elif PY_MAJOR_VERSION < 3
#define __Pyx_PyObject_FormatSimple(s, f) (\
likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
likely(PyString_CheckExact(s)) ? PyUnicode_FromEncodedObject(s, NULL, "strict") :\
PyObject_Format(s, f))
#elif CYTHON_USE_TYPE_SLOTS
#define __Pyx_PyObject_FormatSimple(s, f) (\
likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
likely(PyLong_CheckExact(s)) ? PyLong_Type.tp_str(s) :\
likely(PyFloat_CheckExact(s)) ? PyFloat_Type.tp_str(s) :\
PyObject_Format(s, f))
#else
#define __Pyx_PyObject_FormatSimple(s, f) (\
likely(PyUnicode_CheckExact(s)) ? (Py_INCREF(s), s) :\
PyObject_Format(s, f))
#endif
/* JoinPyUnicode.proto */
static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength,
Py_UCS4 max_char);
/* None.proto */
static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname);
/* FetchCommonType.proto */
static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type);
/* CythonFunctionShared.proto */
#define __Pyx_CyFunction_USED 1
#define __Pyx_CYFUNCTION_STATICMETHOD 0x01
#define __Pyx_CYFUNCTION_CLASSMETHOD 0x02
#define __Pyx_CYFUNCTION_CCLASS 0x04
#define __Pyx_CyFunction_GetClosure(f)\
(((__pyx_CyFunctionObject *) (f))->func_closure)
#define __Pyx_CyFunction_GetClassObj(f)\
(((__pyx_CyFunctionObject *) (f))->func_classobj)
#define __Pyx_CyFunction_Defaults(type, f)\
((type *)(((__pyx_CyFunctionObject *) (f))->defaults))
#define __Pyx_CyFunction_SetDefaultsGetter(f, g)\
((__pyx_CyFunctionObject *) (f))->defaults_getter = (g)
typedef struct {
PyCFunctionObject func;
#if PY_VERSION_HEX < 0x030500A0
PyObject *func_weakreflist;
#endif
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;
} __pyx_CyFunctionObject;
static PyTypeObject *__pyx_CyFunctionType = 0;
#define __Pyx_CyFunction_Check(obj) (__Pyx_TypeCheck(obj, __pyx_CyFunctionType))
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject* op, PyMethodDef *ml,
int flags, PyObject* qualname,
PyObject *self,
PyObject *module, PyObject *globals,
PyObject* code);
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(void);
/* CythonFunction.proto */
static PyObject *__Pyx_CyFunction_New(PyMethodDef *ml,
int flags, PyObject* qualname,
PyObject *closure,
PyObject *module, PyObject *globals,
PyObject* code);
/* GetItemInt.proto */
#define __Pyx_GetItemInt(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
(__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
__Pyx_GetItemInt_Fast(o, (Py_ssize_t)i, is_list, wraparound, boundscheck) :\
(is_list ? (PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL) :\
__Pyx_GetItemInt_Generic(o, to_py_func(i))))
#define __Pyx_GetItemInt_List(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
(__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
__Pyx_GetItemInt_List_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
(PyErr_SetString(PyExc_IndexError, "list index out of range"), (PyObject*)NULL))
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_List_Fast(PyObject *o, Py_ssize_t i,
int wraparound, int boundscheck);
#define __Pyx_GetItemInt_Tuple(o, i, type, is_signed, to_py_func, is_list, wraparound, boundscheck)\
(__Pyx_fits_Py_ssize_t(i, type, is_signed) ?\
__Pyx_GetItemInt_Tuple_Fast(o, (Py_ssize_t)i, wraparound, boundscheck) :\
(PyErr_SetString(PyExc_IndexError, "tuple index out of range"), (PyObject*)NULL))
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);
/* None.proto */
static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname);
/* PyObject_GenericGetAttrNoDict.proto */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name);
#else
#define __Pyx_PyObject_GenericGetAttrNoDict PyObject_GenericGetAttr
#endif
/* Import.proto */
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level);
/* ImportFrom.proto */
static PyObject* __Pyx_ImportFrom(PyObject* module, PyObject* name);
/* CalculateMetaclass.proto */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases);
/* SetNameInClass.proto */
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
#define __Pyx_SetNameInClass(ns, name, value)\
(likely(PyDict_CheckExact(ns)) ? _PyDict_SetItem_KnownHash(ns, name, value, ((PyASCIIObject *) name)->hash) : PyObject_SetItem(ns, name, value))
#elif CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_SetNameInClass(ns, name, value)\
(likely(PyDict_CheckExact(ns)) ? PyDict_SetItem(ns, name, value) : PyObject_SetItem(ns, name, value))
#else
#define __Pyx_SetNameInClass(ns, name, value) PyObject_SetItem(ns, name, value)
#endif
/* Py3ClassCreate.proto */
static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name, PyObject *qualname,
PyObject *mkw, PyObject *modname, PyObject *doc);
static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases, PyObject *dict,
PyObject *mkw, int calculate_metaclass, int allow_py2_metaclass);
/* CyFunctionClassCell.proto */
static int __Pyx_CyFunction_InitClassCell(PyObject *cyfunctions, PyObject *classobj);
/* ClassMethod.proto */
#include "descrobject.h"
static CYTHON_UNUSED PyObject* __Pyx_Method_ClassMethod(PyObject *method);
/* CLineInTraceback.proto */
#ifdef CYTHON_CLINE_IN_TRACEBACK
#define __Pyx_CLineForTraceback(tstate, c_line) (((CYTHON_CLINE_IN_TRACEBACK)) ? c_line : 0)
#else
static int __Pyx_CLineForTraceback(PyThreadState *tstate, int c_line);
#endif
/* 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);
/* Print.proto */
static int __Pyx_Print(PyObject*, PyObject *, int);
#if CYTHON_COMPILING_IN_PYPY || PY_MAJOR_VERSION >= 3
static PyObject* __pyx_print = 0;
static PyObject* __pyx_print_kwargs = 0;
#endif
/* GCCDiagnostics.proto */
#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6))
#define __Pyx_HAS_GCC_DIAGNOSTIC
#endif
/* PrintOne.proto */
static int __Pyx_PrintOne(PyObject* stream, PyObject *o);
/* CIntFromPy.proto */
static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *);
/* CIntToPy.proto */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value);
/* CIntFromPy.proto */
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *);
/* FastTypeChecks.proto */
#if CYTHON_COMPILING_IN_CPYTHON
#define __Pyx_TypeCheck(obj, type) __Pyx_IsSubtype(Py_TYPE(obj), (PyTypeObject *)type)
static CYTHON_INLINE int __Pyx_IsSubtype(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);
#else
#define __Pyx_TypeCheck(obj, type) PyObject_TypeCheck(obj, (PyTypeObject *)type)
#define __Pyx_PyErr_GivenExceptionMatches(err, type) PyErr_GivenExceptionMatches(err, type)
#define __Pyx_PyErr_GivenExceptionMatches2(err, type1, type2) (PyErr_GivenExceptionMatches(err, type1) || PyErr_GivenExceptionMatches(err, type2))
#endif
#define __Pyx_PyException_Check(obj) __Pyx_TypeCheck(obj, PyExc_Exception)
/* CStringEquals.proto */
static CYTHON_INLINE int __Pyx_StrEq(const char *, const char *);
/* CheckBinaryVersion.proto */
static int __Pyx_check_binary_version(void);
/* InitStrings.proto */
static int __Pyx_InitStrings(__Pyx_StringTabEntry *t);
/* Module declarations from 'kivyblocks.blocks' */
static PyTypeObject *__pyx_ptype_10kivyblocks_6blocks___pyx_scope_struct__blocksAction = 0;
static PyTypeObject *__pyx_ptype_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction = 0;
static PyTypeObject *__pyx_ptype_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild = 0;
static PyTypeObject *__pyx_ptype_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById = 0;
#define __Pyx_MODULE_NAME "kivyblocks.blocks"
extern int __pyx_module_is_main_kivyblocks__blocks;
int __pyx_module_is_main_kivyblocks__blocks = 0;
/* Implementation of 'kivyblocks.blocks' */
static PyObject *__pyx_builtin_super;
static PyObject *__pyx_builtin_eval;
static PyObject *__pyx_builtin_range;
static PyObject *__pyx_builtin_enumerate;
static const char __pyx_k_[] = ":";
static const char __pyx_k_a[] = "a";
static const char __pyx_k_b[] = "b";
static const char __pyx_k_c[] = "c";
static const char __pyx_k_d[] = "d";
static const char __pyx_k_e[] = "e";
static const char __pyx_k_f[] = "f";
static const char __pyx_k_g[] = "g";
static const char __pyx_k_i[] = "i";
static const char __pyx_k_k[] = "k";
static const char __pyx_k_l[] = "l";
static const char __pyx_k_m[] = "m";
static const char __pyx_k_o[] = "o";
static const char __pyx_k_p[] = "p";
static const char __pyx_k_r[] = "r";
static const char __pyx_k_s[] = "s";
static const char __pyx_k_t[] = "t";
static const char __pyx_k_v[] = "v";
static const char __pyx_k_w[] = "w";
static const char __pyx_k__4[] = "";
static const char __pyx_k__8[] = ".";
static const char __pyx_k_aw[] = "aw";
static const char __pyx_k_dg[] = "dg";
static const char __pyx_k_dp[] = "dp";
static const char __pyx_k_hc[] = "hc";
static const char __pyx_k_id[] = "id";
static const char __pyx_k_kw[] = "kw";
static const char __pyx_k_mm[] = "mm";
static const char __pyx_k_ns[] = "ns";
static const char __pyx_k_os[] = "os";
static const char __pyx_k_py[] = "py::";
static const char __pyx_k_rf[] = "rf";
static const char __pyx_k_rt[] = "rt";
static const char __pyx_k_sp[] = "sp";
static const char __pyx_k_sw[] = "sw";
static const char __pyx_k_App[] = "App";
static const char __pyx_k_GET[] = "GET";
static const char __pyx_k__24[] = "-";
static const char __pyx_k__28[] = "*";
static const char __pyx_k_app[] = "app.";
static const char __pyx_k_arr[] = "arr";
static const char __pyx_k_dic[] = "dic";
static const char __pyx_k_doc[] = "__doc__";
static const char __pyx_k_end[] = "end";
static const char __pyx_k_env[] = "env";
static const char __pyx_k_fid[] = "fid";
static const char __pyx_k_get[] = "get";
static const char __pyx_k_ids[] = "ids";
static const char __pyx_k_obj[] = "obj";
static const char __pyx_k_pos[] = "pos";
static const char __pyx_k_ret[] = "ret=";
static const char __pyx_k_set[] = "set";
static const char __pyx_k_str[] = "__str__";
static const char __pyx_k_sys[] = "sys";
static const char __pyx_k_url[] = "url";
static const char __pyx_k_wid[] = "wid";
static const char __pyx_k_Form[] = "Form";
static const char __pyx_k_Tree[] = "Tree";
static const char __pyx_k_args[] = "args";
static const char __pyx_k_bind[] = "bind";
static const char __pyx_k_copy[] = "copy";
static const char __pyx_k_data[] = "data";
static const char __pyx_k_desc[] = "desc";
static const char __pyx_k_dict[] = "dict";
static const char __pyx_k_doit[] = "doit";
static const char __pyx_k_eval[] = "eval";
static const char __pyx_k_exit[] = "__exit__";
static const char __pyx_k_expr[] = "__expr__";
static const char __pyx_k_file[] = "file://";
static const char __pyx_k_form[] = "form";
static const char __pyx_k_func[] = "func";
static const char __pyx_k_http[] = "http://";
static const char __pyx_k_info[] = "info";
static const char __pyx_k_init[] = "__init__";
static const char __pyx_k_json[] = "json";
static const char __pyx_k_list[] = "list";
static const char __pyx_k_main[] = "__main__";
static const char __pyx_k_mode[] = "mode";
static const char __pyx_k_name[] = "name";
static const char __pyx_k_open[] = "open";
static const char __pyx_k_opts[] = "opts";
static const char __pyx_k_read[] = "read";
static const char __pyx_k_resp[] = "resp";
static const char __pyx_k_root[] = "root.";
static const char __pyx_k_self[] = "self";
static const char __pyx_k_test[] = "__test__";
static const char __pyx_k_tree[] = "tree";
static const char __pyx_k_Error[] = "Error:";
static const char __pyx_k_Video[] = "Video";
static const char __pyx_k_addon[] = "addon";
static const char __pyx_k_alert[] = "alert";
static const char __pyx_k_app_2[] = "app";
static const char __pyx_k_binds[] = "binds";
static const char __pyx_k_desc1[] = "desc1";
static const char __pyx_k_doerr[] = "doerr";
static const char __pyx_k_enter[] = "__enter__";
static const char __pyx_k_error[] = "error";
static const char __pyx_k_event[] = "event";
static const char __pyx_k_files[] = "files";
static const char __pyx_k_https[] = "https://";
static const char __pyx_k_idstr[] = "idstr";
static const char __pyx_k_items[] = "items";
static const char __pyx_k_klass[] = "klass";
static const char __pyx_k_kname[] = "kname";
static const char __pyx_k_loads[] = "loads";
static const char __pyx_k_mname[] = "mname";
static const char __pyx_k_print[] = "print";
static const char __pyx_k_range[] = "range";
static const char __pyx_k_ready[] = "ready";
static const char __pyx_k_ret_2[] = "ret";
static const char __pyx_k_split[] = "split";
static const char __pyx_k_str_2[] = "str";
static const char __pyx_k_super[] = "super";
static const char __pyx_k_title[] = "title";
static const char __pyx_k_ujson[] = "ujson";
static const char __pyx_k_utf_8[] = "utf-8";
static const char __pyx_k_utils[] = "utils";
static const char __pyx_k_Blocks[] = "Blocks";
static const char __pyx_k_Config[] = "Config";
static const char __pyx_k_Layout[] = "Layout";
static const char __pyx_k_Logger[] = "Logger";
static const char __pyx_k_Widget[] = "Widget";
static const char __pyx_k_Window[] = "Window";
static const char __pyx_k_blocks[] = "blocks";
static const char __pyx_k_codecs[] = "codecs";
static const char __pyx_k_config[] = "config";
static const char __pyx_k_extend[] = "extend";
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_method[] = "method";
static const char __pyx_k_module[] = "__module__";
static const char __pyx_k_mydesc[] = "mydesc";
static const char __pyx_k_name_2[] = "__name__";
static const char __pyx_k_params[] = "params";
static const char __pyx_k_parent[] = "parent";
static const char __pyx_k_return[] = "return";
static const char __pyx_k_rfname[] = "rfname";
static const char __pyx_k_root_2[] = "root";
static const char __pyx_k_rtdata[] = "rtdata";
static const char __pyx_k_rtdesc[] = "rtdesc";
static const char __pyx_k_script[] = "script=";
static const char __pyx_k_self_2[] = "/self";
static const char __pyx_k_target[] = "target";
static const char __pyx_k_uihome[] = "uihome";
static const char __pyx_k_update[] = "update";
static const char __pyx_k_widget[] = "widget";
static const char __pyx_k_Conform[] = "Conform";
static const char __pyx_k_Factory[] = "Factory";
static const char __pyx_k_VPlayer[] = "VPlayer";
static const char __pyx_k_actions[] = "actions";
static const char __pyx_k_acttype[] = "acttype";
static const char __pyx_k_conform[] = "conform";
static const char __pyx_k_errback[] = "errback";
static const char __pyx_k_error_2[] = " error";
static const char __pyx_k_options[] = "options";
static const char __pyx_k_partial[] = "partial";
static const char __pyx_k_prepare[] = "__prepare__";
static const char __pyx_k_replace[] = "replace";
static const char __pyx_k_to_dict[] = "to_dict";
static const char __pyx_k_toolbar[] = "toolbar";
static const char __pyx_k_vplayer[] = "vplayer";
static const char __pyx_k_w_build[] = "w_build";
static const char __pyx_k_DataGrid[] = "DataGrid";
static const char __pyx_k_InputBox[] = "InputBox";
static const char __pyx_k_TextTree[] = "TextTree";
static const char __pyx_k_add_mode[] = "add_mode";
static const char __pyx_k_argument[] = "argument";
static const char __pyx_k_callback[] = "callback";
static const char __pyx_k_children[] = "children";
static const char __pyx_k_dispatch[] = "dispatch";
static const char __pyx_k_excludes[] = "excludes";
static const char __pyx_k_filename[] = "filename";
static const char __pyx_k_getValue[] = "getValue";
static const char __pyx_k_kivy_app[] = "kivy.app";
static const char __pyx_k_miss_url[] = "miss url";
static const char __pyx_k_multiple[] = "multiple";
static const char __pyx_k_new_desc[] = "new_desc";
static const char __pyx_k_newvideo[] = "newvideo";
static const char __pyx_k_on_built[] = "on_built";
static const char __pyx_k_qualname[] = "__qualname__";
static const char __pyx_k_register[] = "register";
static const char __pyx_k_script_2[] = "script";
static const char __pyx_k_widget_2[] = "widget=";
static const char __pyx_k_Block_s_s[] = "Block: %s %s";
static const char __pyx_k_BoxViewer[] = "BoxViewer";
static const char __pyx_k_Exception[] = "Exception .... ";
static const char __pyx_k_GlobalEnv[] = "GlobalEnv";
static const char __pyx_k_ModalView[] = "ModalView";
static const char __pyx_k_action_id[] = "action_id";
static const char __pyx_k_boxViewer[] = "boxViewer";
static const char __pyx_k_buildBind[] = "buildBind";
static const char __pyx_k_classname[] = "__classname__";
static const char __pyx_k_datacript[] = "datacript";
static const char __pyx_k_enumerate[] = "enumerate";
static const char __pyx_k_forbidens[] = "forbidens";
static const char __pyx_k_fs_widget[] = "fs_widget";
static const char __pyx_k_functools[] = "functools";
static const char __pyx_k_getConfig[] = "getConfig";
static const char __pyx_k_metaclass[] = "__metaclass__";
static const char __pyx_k_not_found[] = "not found ....";
static const char __pyx_k_on_failed[] = "on_failed";
static const char __pyx_k_print_exc[] = "print_exc";
static const char __pyx_k_traceback[] = "traceback";
static const char __pyx_k_uniaction[] = "uniaction";
static const char __pyx_k_urlwidget[] = "urlwidget";
static const char __pyx_k_valueExpr[] = "valueExpr";
static const char __pyx_k_widget_id[] = "widget_id";
static const char __pyx_k_Blocks_set[] = "Blocks.set";
static const char __pyx_k_DictObject[] = "DictObject";
static const char __pyx_k_HttpClient[] = "HttpClient";
static const char __pyx_k_WindowBase[] = "WindowBase";
static const char __pyx_k_actiontype[] = "actiontype";
static const char __pyx_k_add_widget[] = "add_widget";
static const char __pyx_k_baseWidget[] = "baseWidget";
static const char __pyx_k_build_desc[] = "build_desc";
static const char __pyx_k_build_rest[] = "build_rest";
static const char __pyx_k_datakwargs[] = "datakwargs";
static const char __pyx_k_datamethod[] = "datamethod";
static const char __pyx_k_datascript[] = "datascript";
static const char __pyx_k_datawidget[] = "datawidget";
static const char __pyx_k_dictExtend[] = "dictExtend";
static const char __pyx_k_fullscreen[] = "fullscreen";
static const char __pyx_k_getUrlData[] = "getUrlData";
static const char __pyx_k_get_rtdata[] = "get_rtdata";
static const char __pyx_k_get_target[] = "get_target";
static const char __pyx_k_keyMapping[] = "keyMapping";
static const char __pyx_k_keymapping[] = "keymapping";
static const char __pyx_k_on_conform[] = "on_conform";
static const char __pyx_k_startswith[] = "startswith";
static const char __pyx_k_subwidgets[] = "subwidgets";
static const char __pyx_k_threadcall[] = "threadcall";
static const char __pyx_k_widgettype[] = "widgettype";
static const char __pyx_k_Blocks_eval[] = "Blocks.eval";
static const char __pyx_k_ProgramPath[] = "ProgramPath";
static const char __pyx_k_buildAction[] = "buildAction";
static const char __pyx_k_eventAction[] = "eventAction";
static const char __pyx_k_from_widget[] = "from_widget";
static const char __pyx_k_kivy_config[] = "kivy.config";
static const char __pyx_k_kivy_logger[] = "kivy.logger";
static const char __pyx_k_url_is_None[] = "url is None";
static const char __pyx_k_widgetBuild[] = "widgetBuild";
static const char __pyx_k_widgetClass[] = "widgetClass";
static const char __pyx_k_widget_name[] = "widget_name";
static const char __pyx_k_blocksAction[] = "blocksAction";
static const char __pyx_k_build_rtdesc[] = "build_rtdesc";
static const char __pyx_k_conform_desc[] = "conform_desc";
static const char __pyx_k_kivy_factory[] = "kivy.factory";
static const char __pyx_k_kivy_metrics[] = "kivy.metrics";
static const char __pyx_k_methodAction[] = "methodAction";
static const char __pyx_k_scriptAction[] = "scriptAction";
static const char __pyx_k_strValueExpr[] = "strValueExpr";
static const char __pyx_k_ArgumentError[] = "ArgumentError";
static const char __pyx_k_Blocks___init[] = "Blocks.__init__";
static const char __pyx_k_StrSearchForm[] = "StrSearchForm";
static const char __pyx_k_clear_widgets[] = "clear_widgets";
static const char __pyx_k_dictValueExpr[] = "dictValueExpr";
static const char __pyx_k_getActionData[] = "getActionData";
static const char __pyx_k_getWidgetById[] = "getWidgetById";
static const char __pyx_k_Blocks_w_build[] = "Blocks.w_build";
static const char __pyx_k_arrayValueExpr[] = "arrayValueExpr";
static const char __pyx_k_conform_action[] = "conform_action";
static const char __pyx_k_dispatch_event[] = "dispatch_event";
static const char __pyx_k_get_subwidgets[] = "get_subwidgets";
static const char __pyx_k_kivy_uix_video[] = "kivy.uix.video";
static const char __pyx_k_localnamespace[] = "localnamespace";
static const char __pyx_k_multipleAction[] = "multipleAction";
static const char __pyx_k_registerWidget[] = "registerWidget";
static const char __pyx_k_BGColorBehavior[] = "BGColorBehavior";
static const char __pyx_k_Blocks_on_built[] = "Blocks.on_built";
static const char __pyx_k_BooleanProperty[] = "BooleanProperty";
static const char __pyx_k_EventDispatcher[] = "EventDispatcher";
static const char __pyx_k_NotExistsObject[] = "NotExistsObject";
static const char __pyx_k_bgcolorbehavior[] = "bgcolorbehavior";
static const char __pyx_k_get_running_app[] = "get_running_app";
static const char __pyx_k_kivy_properties[] = "kivy.properties";
static const char __pyx_k_kivy_uix_widget[] = "kivy.uix.widget";
static const char __pyx_k_register_widget[] = "register_widget";
static const char __pyx_k_subwidget_total[] = "subwidget_total";
static const char __pyx_k_urlwidgetAction[] = "urlwidgetAction";
static const char __pyx_k_Blocks_buildBind[] = "Blocks.buildBind";
static const char __pyx_k_Blocks_on_failed[] = "Blocks.on_failed";
static const char __pyx_k_Blocks_uniaction[] = "Blocks.uniaction";
static const char __pyx_k_Blocks_valueExpr[] = "Blocks.valueExpr";
static const char __pyx_k_RegisterFunction[] = "RegisterFunction";
static const char __pyx_k_build_attributes[] = "build_attributes";
static const char __pyx_k_contructon_error[] = "contructon error";
static const char __pyx_k_kivy_core_window[] = "kivy.core.window";
static const char __pyx_k_registedfunction[] = "registedfunction";
static const char __pyx_k_Blocks_build_rest[] = "Blocks.build_rest";
static const char __pyx_k_Blocks_getUrlData[] = "Blocks.getUrlData";
static const char __pyx_k_Blocks_get_rtdata[] = "Blocks.get_rtdata";
static const char __pyx_k_Blocks_get_target[] = "Blocks.get_target";
static const char __pyx_k_NotRegistedWidget[] = "NotRegistedWidget";
static const char __pyx_k_OrientationLayout[] = "OrientationLayout";
static const char __pyx_k_ServerImageViewer[] = "ServerImageViewer";
static const char __pyx_k_appPublic_dictExt[] = "appPublic.dictExt";
static const char __pyx_k_find_widget_by_id[] = "find_widget_by_id";
static const char __pyx_k_kivyblocks_blocks[] = "kivyblocks.blocks";
static const char __pyx_k_orientationlayout[] = "orientationlayout";
static const char __pyx_k_serverImageViewer[] = "serverImageViewer";
static const char __pyx_k_Blocks_buildAction[] = "Blocks.buildAction";
static const char __pyx_k_Blocks_eventAction[] = "Blocks.eventAction";
static const char __pyx_k_Blocks_widgetBuild[] = "Blocks.widgetBuild";
static const char __pyx_k_SingletonDecorator[] = "SingletonDecorator";
static const char __pyx_k_WidgetNotFoundById[] = "WidgetNotFoundById";
static const char __pyx_k_cline_in_traceback[] = "cline_in_traceback";
static const char __pyx_k_kivy_uix_modalview[] = "kivy.uix.modalview";
static const char __pyx_k_rfname_s_not_found[] = "rfname(%s) not found";
static const char __pyx_k_s_method_not_found[] = "%s method not found";
static const char __pyx_k_ArgumentError___str[] = "ArgumentError.__str__";
static const char __pyx_k_Blocks_blocksAction[] = "Blocks.blocksAction";
static const char __pyx_k_Blocks_build_rtdesc[] = "Blocks.build_rtdesc";
static const char __pyx_k_Blocks_methodAction[] = "Blocks.methodAction";
static const char __pyx_k_Blocks_scriptAction[] = "Blocks.scriptAction";
static const char __pyx_k_Blocks_strValueExpr[] = "Blocks.strValueExpr";
static const char __pyx_k_ClassMethodNotFound[] = "ClassMethodNotFound";
static const char __pyx_k_appPublic_Singleton[] = "appPublic.Singleton";
static const char __pyx_k_argument_s_missed_s[] = "argument(%s) missed:%s";
static const char __pyx_k_not_exists_widget_s[] = "not exists widget(%s)";
static const char __pyx_k_register_event_type[] = "register_event_type";
static const char __pyx_k_ArgumentError___expr[] = "ArgumentError.__expr__";
static const char __pyx_k_ArgumentError___init[] = "ArgumentError.__init__";
static const char __pyx_k_Blocks_dictValueExpr[] = "Blocks.dictValueExpr";
static const char __pyx_k_Blocks_getActionData[] = "Blocks.getActionData";
static const char __pyx_k_Blocks_getWidgetById[] = "Blocks.getWidgetById";
static const char __pyx_k_actiontype_s_invalid[] = "actiontype(%s) invalid";
static const char __pyx_k_appPublic_dictObject[] = "appPublic.dictObject";
static const char __pyx_k_find_widget_by_id_id[] = "find_widget_by_id(), id=";
static const char __pyx_k_get_rtdata_w_is_None[] = "get_rtdata():w is None";
static const char __pyx_k_Blocks_arrayValueExpr[] = "Blocks.arrayValueExpr";
static const char __pyx_k_Blocks_conform_action[] = "Blocks.conform_action";
static const char __pyx_k_Blocks_multipleAction[] = "Blocks.multipleAction";
static const char __pyx_k_NotExistsObject___str[] = "NotExistsObject.__str__";
static const char __pyx_k_appPublic_datamapping[] = "appPublic.datamapping";
static const char __pyx_k_appPublic_folderUtils[] = "appPublic.folderUtils";
static const char __pyx_k_kivyblocks_blocks_pyx[] = "kivyblocks\\blocks.pyx";
static const char __pyx_k_not_reigsted_widget_s[] = "not reigsted widget(%s)";
static const char __pyx_k_Blocks_register_widget[] = "Blocks.register_widget";
static const char __pyx_k_Blocks_urlwidgetAction[] = "Blocks.urlwidgetAction";
static const char __pyx_k_NotExistsObject___expr[] = "NotExistsObject.__expr__";
static const char __pyx_k_NotExistsObject___init[] = "NotExistsObject.__init__";
static const char __pyx_k_Widget_not_found_by_id[] = "Widget not found by id:";
static const char __pyx_k_registedfunctionAction[] = "registedfunctionAction";
static const char __pyx_k_Blocks_build_attributes[] = "Blocks.build_attributes";
static const char __pyx_k_NotRegistedWidget___str[] = "NotRegistedWidget.__str__";
static const char __pyx_k_get_rtdata_desc_is_None[] = "get_rtdata():desc is None";
static const char __pyx_k_NotRegistedWidget___expr[] = "NotRegistedWidget.__expr__";
static const char __pyx_k_NotRegistedWidget___init[] = "NotRegistedWidget.__init__";
static const char __pyx_k_WidgetNotFoundById___str[] = "WidgetNotFoundById.__str__";
static const char __pyx_k_ClassMethodNotFound___str[] = "ClassMethodNotFound.__str__";
static const char __pyx_k_WidgetNotFoundById___expr[] = "WidgetNotFoundById.__expr__";
static const char __pyx_k_WidgetNotFoundById___init[] = "WidgetNotFoundById.__init__";
static const char __pyx_k_get_rtdata_method_is_None[] = "get_rtdata():method is None";
static const char __pyx_k_Block_eventAction_dispatch[] = "Block: eventAction():dispatch ";
static const char __pyx_k_Block_w_build_desc_invalid[] = "Block: w_build(), desc invalid";
static const char __pyx_k_ClassMethodNotFound___expr[] = "ClassMethodNotFound.__expr__";
static const char __pyx_k_ClassMethodNotFound___init[] = "ClassMethodNotFound.__init__";
static const char __pyx_k_appPublic_registerfunction[] = "appPublic.registerfunction";
static const char __pyx_k_Block_get_a_null_function_s[] = "Block: get a null function,%s";
static const char __pyx_k_widget_id_s_can_not_contain[] = "widget id(%s) can not contain \".\"";
static const char __pyx_k_Blocks_registedfunctionAction[] = "Blocks.registedfunctionAction";
static const char __pyx_k_Method_s_not_found_in_class_s[] = "Method(%s) not found in class(%s)";
static const char __pyx_k_Blocks_widgetBuild_locals_doit[] = "Blocks.widgetBuild.<locals>.doit";
static const char __pyx_k_Block_desc_s_rfname_s_not_found[] = "Block: desc=%s rfname(%s) not found";
static const char __pyx_k_Block_getActionData_desc_s_args[] = "Block: getActionData(): desc=%s args=%s";
static const char __pyx_k_Blocks_blocksAction_locals_doit[] = "Blocks.blocksAction.<locals>.doit";
static const char __pyx_k_get_rtdata_method_return_is_not[] = "get_rtdata():method return is not dict";
static const char __pyx_k_Block2_desc_must_be_a_dict_objec[] = "Block2: desc must be a dict object";
static const char __pyx_k_Block3_desc_must_be_a_dict_objec[] = "Block3: desc must be a dict object not None";
static const char __pyx_k_Block_binds_desc_miss_event_desc[] = "Block: binds desc miss event, desc=%s";
static const char __pyx_k_Block_blocksAction_desc_s_widget[] = "Block: blocksAction(): desc=%s widgetBuild error";
static const char __pyx_k_Block_desc_s_must_be_a_dict_obje[] = "Block: desc(%s) must be a dict object(%s)";
static const char __pyx_k_Block_eventAction_desc_s_miss_di[] = "Block: eventAction():desc(%s) miss dispatch_event";
static const char __pyx_k_Block_methodAction_desc_s_method[] = "Block: methodAction():desc(%s) method not found";
static const char __pyx_k_Block_methodAction_desc_s_target[] = "Block: methodAction():desc(%s) target not found";
static const char __pyx_k_Block_scriptAction_desc_s_target[] = "Block: scriptAction():desc(%s) target not found";
static const char __pyx_k_Block_urlwidgetAction_desc_s_wid[] = "Block: urlwidgetAction(): desc=%s widgetBuild error";
static const char __pyx_k_Blocks_blocksAction_locals_doerr[] = "Blocks.blocksAction.<locals>.doerr";
static const char __pyx_k_Blocks_getWidgetById_locals_find[] = "Blocks.getWidgetById.<locals>.find_widget_by_id";
static const char __pyx_k_Blocks_urlwidgetAction_locals_do[] = "Blocks.urlwidgetAction.<locals>.doit";
static const char __pyx_k_not_found_via_Blocks_getWidgetBy[] = "not found via Blocks.getWidgetById()";
static const char __pyx_k_widgetBuild1_desc_must_be_a_dict[] = "widgetBuild1: desc must be a dict object";
static const char __pyx_k_Blocks_urlwidgetAction_locals_do_2[] = "Blocks.urlwidgetAction.<locals>.doerr";
static PyObject *__pyx_kp_s_;
static PyObject *__pyx_n_s_App;
static PyObject *__pyx_n_s_ArgumentError;
static PyObject *__pyx_n_s_ArgumentError___expr;
static PyObject *__pyx_n_s_ArgumentError___init;
static PyObject *__pyx_n_s_ArgumentError___str;
static PyObject *__pyx_n_s_BGColorBehavior;
static PyObject *__pyx_kp_s_Block2_desc_must_be_a_dict_objec;
static PyObject *__pyx_kp_s_Block3_desc_must_be_a_dict_objec;
static PyObject *__pyx_kp_s_Block_binds_desc_miss_event_desc;
static PyObject *__pyx_kp_s_Block_blocksAction_desc_s_widget;
static PyObject *__pyx_kp_s_Block_desc_s_must_be_a_dict_obje;
static PyObject *__pyx_kp_s_Block_desc_s_rfname_s_not_found;
static PyObject *__pyx_kp_s_Block_eventAction_desc_s_miss_di;
static PyObject *__pyx_kp_u_Block_eventAction_dispatch;
static PyObject *__pyx_kp_s_Block_getActionData_desc_s_args;
static PyObject *__pyx_kp_s_Block_get_a_null_function_s;
static PyObject *__pyx_kp_s_Block_methodAction_desc_s_method;
static PyObject *__pyx_kp_s_Block_methodAction_desc_s_target;
static PyObject *__pyx_kp_s_Block_s_s;
static PyObject *__pyx_kp_s_Block_scriptAction_desc_s_target;
static PyObject *__pyx_kp_s_Block_urlwidgetAction_desc_s_wid;
static PyObject *__pyx_kp_s_Block_w_build_desc_invalid;
static PyObject *__pyx_n_s_Blocks;
static PyObject *__pyx_n_s_Blocks___init;
static PyObject *__pyx_n_s_Blocks_arrayValueExpr;
static PyObject *__pyx_n_s_Blocks_blocksAction;
static PyObject *__pyx_n_s_Blocks_blocksAction_locals_doerr;
static PyObject *__pyx_n_s_Blocks_blocksAction_locals_doit;
static PyObject *__pyx_n_s_Blocks_buildAction;
static PyObject *__pyx_n_s_Blocks_buildBind;
static PyObject *__pyx_n_s_Blocks_build_attributes;
static PyObject *__pyx_n_s_Blocks_build_rest;
static PyObject *__pyx_n_s_Blocks_build_rtdesc;
static PyObject *__pyx_n_s_Blocks_conform_action;
static PyObject *__pyx_n_s_Blocks_dictValueExpr;
static PyObject *__pyx_n_s_Blocks_eval;
static PyObject *__pyx_n_s_Blocks_eventAction;
static PyObject *__pyx_n_s_Blocks_getActionData;
static PyObject *__pyx_n_s_Blocks_getUrlData;
static PyObject *__pyx_n_s_Blocks_getWidgetById;
static PyObject *__pyx_n_s_Blocks_getWidgetById_locals_find;
static PyObject *__pyx_n_s_Blocks_get_rtdata;
static PyObject *__pyx_n_s_Blocks_get_target;
static PyObject *__pyx_n_s_Blocks_methodAction;
static PyObject *__pyx_n_s_Blocks_multipleAction;
static PyObject *__pyx_n_s_Blocks_on_built;
static PyObject *__pyx_n_s_Blocks_on_failed;
static PyObject *__pyx_n_s_Blocks_registedfunctionAction;
static PyObject *__pyx_n_s_Blocks_register_widget;
static PyObject *__pyx_n_s_Blocks_scriptAction;
static PyObject *__pyx_n_s_Blocks_set;
static PyObject *__pyx_n_s_Blocks_strValueExpr;
static PyObject *__pyx_n_s_Blocks_uniaction;
static PyObject *__pyx_n_s_Blocks_urlwidgetAction;
static PyObject *__pyx_n_s_Blocks_urlwidgetAction_locals_do;
static PyObject *__pyx_n_s_Blocks_urlwidgetAction_locals_do_2;
static PyObject *__pyx_n_s_Blocks_valueExpr;
static PyObject *__pyx_n_s_Blocks_w_build;
static PyObject *__pyx_n_s_Blocks_widgetBuild;
static PyObject *__pyx_n_s_Blocks_widgetBuild_locals_doit;
static PyObject *__pyx_n_s_BooleanProperty;
static PyObject *__pyx_n_s_BoxViewer;
static PyObject *__pyx_n_s_ClassMethodNotFound;
static PyObject *__pyx_n_s_ClassMethodNotFound___expr;
static PyObject *__pyx_n_s_ClassMethodNotFound___init;
static PyObject *__pyx_n_s_ClassMethodNotFound___str;
static PyObject *__pyx_n_s_Config;
static PyObject *__pyx_n_s_Conform;
static PyObject *__pyx_n_s_DataGrid;
static PyObject *__pyx_n_s_DictObject;
static PyObject *__pyx_kp_s_Error;
static PyObject *__pyx_n_s_EventDispatcher;
static PyObject *__pyx_kp_s_Exception;
static PyObject *__pyx_n_s_Factory;
static PyObject *__pyx_n_s_Form;
static PyObject *__pyx_n_s_GET;
static PyObject *__pyx_n_s_GlobalEnv;
static PyObject *__pyx_n_s_HttpClient;
static PyObject *__pyx_n_s_InputBox;
static PyObject *__pyx_n_s_Layout;
static PyObject *__pyx_n_s_Logger;
static PyObject *__pyx_kp_s_Method_s_not_found_in_class_s;
static PyObject *__pyx_n_s_ModalView;
static PyObject *__pyx_n_s_NotExistsObject;
static PyObject *__pyx_n_s_NotExistsObject___expr;
static PyObject *__pyx_n_s_NotExistsObject___init;
static PyObject *__pyx_n_s_NotExistsObject___str;
static PyObject *__pyx_n_s_NotRegistedWidget;
static PyObject *__pyx_n_s_NotRegistedWidget___expr;
static PyObject *__pyx_n_s_NotRegistedWidget___init;
static PyObject *__pyx_n_s_NotRegistedWidget___str;
static PyObject *__pyx_n_s_OrientationLayout;
static PyObject *__pyx_n_s_ProgramPath;
static PyObject *__pyx_n_s_RegisterFunction;
static PyObject *__pyx_n_s_ServerImageViewer;
static PyObject *__pyx_n_s_SingletonDecorator;
static PyObject *__pyx_n_s_StrSearchForm;
static PyObject *__pyx_n_s_TextTree;
static PyObject *__pyx_n_s_Tree;
static PyObject *__pyx_n_s_VPlayer;
static PyObject *__pyx_n_s_Video;
static PyObject *__pyx_n_s_Widget;
static PyObject *__pyx_n_s_WidgetNotFoundById;
static PyObject *__pyx_n_s_WidgetNotFoundById___expr;
static PyObject *__pyx_n_s_WidgetNotFoundById___init;
static PyObject *__pyx_n_s_WidgetNotFoundById___str;
static PyObject *__pyx_kp_s_Widget_not_found_by_id;
static PyObject *__pyx_n_s_Window;
static PyObject *__pyx_n_s_WindowBase;
static PyObject *__pyx_kp_s__24;
static PyObject *__pyx_n_s__28;
static PyObject *__pyx_kp_s__4;
static PyObject *__pyx_kp_s__8;
static PyObject *__pyx_n_s_a;
static PyObject *__pyx_n_s_action_id;
static PyObject *__pyx_n_s_actions;
static PyObject *__pyx_n_s_actiontype;
static PyObject *__pyx_kp_s_actiontype_s_invalid;
static PyObject *__pyx_n_s_acttype;
static PyObject *__pyx_n_s_add_mode;
static PyObject *__pyx_n_s_add_widget;
static PyObject *__pyx_n_s_addon;
static PyObject *__pyx_n_s_alert;
static PyObject *__pyx_kp_s_app;
static PyObject *__pyx_n_s_appPublic_Singleton;
static PyObject *__pyx_n_s_appPublic_datamapping;
static PyObject *__pyx_n_s_appPublic_dictExt;
static PyObject *__pyx_n_s_appPublic_dictObject;
static PyObject *__pyx_n_s_appPublic_folderUtils;
static PyObject *__pyx_n_s_appPublic_registerfunction;
static PyObject *__pyx_n_s_app_2;
static PyObject *__pyx_n_s_args;
static PyObject *__pyx_n_s_argument;
static PyObject *__pyx_kp_s_argument_s_missed_s;
static PyObject *__pyx_n_s_arr;
static PyObject *__pyx_n_s_arrayValueExpr;
static PyObject *__pyx_n_s_aw;
static PyObject *__pyx_n_s_b;
static PyObject *__pyx_n_s_baseWidget;
static PyObject *__pyx_n_s_bgcolorbehavior;
static PyObject *__pyx_n_s_bind;
static PyObject *__pyx_n_s_binds;
static PyObject *__pyx_n_s_blocks;
static PyObject *__pyx_n_s_blocksAction;
static PyObject *__pyx_n_s_boxViewer;
static PyObject *__pyx_n_s_buildAction;
static PyObject *__pyx_n_s_buildBind;
static PyObject *__pyx_n_s_build_attributes;
static PyObject *__pyx_n_s_build_desc;
static PyObject *__pyx_n_s_build_rest;
static PyObject *__pyx_n_s_build_rtdesc;
static PyObject *__pyx_n_s_c;
static PyObject *__pyx_n_s_callback;
static PyObject *__pyx_n_s_children;
static PyObject *__pyx_n_s_classname;
static PyObject *__pyx_n_s_clear_widgets;
static PyObject *__pyx_n_s_cline_in_traceback;
static PyObject *__pyx_n_s_codecs;
static PyObject *__pyx_n_s_config;
static PyObject *__pyx_n_s_conform;
static PyObject *__pyx_n_s_conform_action;
static PyObject *__pyx_n_s_conform_desc;
static PyObject *__pyx_kp_s_contructon_error;
static PyObject *__pyx_n_s_copy;
static PyObject *__pyx_n_s_d;
static PyObject *__pyx_n_s_data;
static PyObject *__pyx_n_s_datacript;
static PyObject *__pyx_n_s_datakwargs;
static PyObject *__pyx_n_s_datamethod;
static PyObject *__pyx_n_s_datascript;
static PyObject *__pyx_n_s_datawidget;
static PyObject *__pyx_n_s_desc;
static PyObject *__pyx_n_s_desc1;
static PyObject *__pyx_n_s_dg;
static PyObject *__pyx_n_s_dic;
static PyObject *__pyx_n_u_dict;
static PyObject *__pyx_n_s_dictExtend;
static PyObject *__pyx_n_s_dictValueExpr;
static PyObject *__pyx_n_s_dispatch;
static PyObject *__pyx_n_s_dispatch_event;
static PyObject *__pyx_n_s_doc;
static PyObject *__pyx_n_s_doerr;
static PyObject *__pyx_n_s_doit;
static PyObject *__pyx_n_s_dp;
static PyObject *__pyx_n_s_e;
static PyObject *__pyx_n_s_end;
static PyObject *__pyx_n_s_enter;
static PyObject *__pyx_n_s_enumerate;
static PyObject *__pyx_n_s_env;
static PyObject *__pyx_n_s_errback;
static PyObject *__pyx_n_s_error;
static PyObject *__pyx_kp_u_error_2;
static PyObject *__pyx_n_s_eval;
static PyObject *__pyx_n_s_event;
static PyObject *__pyx_n_s_eventAction;
static PyObject *__pyx_n_s_excludes;
static PyObject *__pyx_n_s_exit;
static PyObject *__pyx_n_s_expr;
static PyObject *__pyx_n_s_extend;
static PyObject *__pyx_n_s_f;
static PyObject *__pyx_n_s_fid;
static PyObject *__pyx_kp_s_file;
static PyObject *__pyx_n_s_file_2;
static PyObject *__pyx_n_s_filename;
static PyObject *__pyx_n_s_files;
static PyObject *__pyx_n_s_find_widget_by_id;
static PyObject *__pyx_kp_s_find_widget_by_id_id;
static PyObject *__pyx_n_s_forbidens;
static PyObject *__pyx_n_s_form;
static PyObject *__pyx_n_s_from_widget;
static PyObject *__pyx_n_s_fs_widget;
static PyObject *__pyx_n_s_fullscreen;
static PyObject *__pyx_n_s_func;
static PyObject *__pyx_n_s_functools;
static PyObject *__pyx_n_s_g;
static PyObject *__pyx_n_s_get;
static PyObject *__pyx_n_s_getActionData;
static PyObject *__pyx_n_s_getConfig;
static PyObject *__pyx_n_s_getUrlData;
static PyObject *__pyx_n_s_getValue;
static PyObject *__pyx_n_s_getWidgetById;
static PyObject *__pyx_n_s_get_rtdata;
static PyObject *__pyx_kp_s_get_rtdata_desc_is_None;
static PyObject *__pyx_kp_s_get_rtdata_method_is_None;
static PyObject *__pyx_kp_s_get_rtdata_method_return_is_not;
static PyObject *__pyx_kp_s_get_rtdata_w_is_None;
static PyObject *__pyx_n_s_get_running_app;
static PyObject *__pyx_n_s_get_subwidgets;
static PyObject *__pyx_n_s_get_target;
static PyObject *__pyx_n_s_hc;
static PyObject *__pyx_kp_s_http;
static PyObject *__pyx_kp_s_https;
static PyObject *__pyx_n_s_i;
static PyObject *__pyx_n_s_id;
static PyObject *__pyx_n_s_ids;
static PyObject *__pyx_n_s_idstr;
static PyObject *__pyx_n_s_import;
static PyObject *__pyx_n_s_info;
static PyObject *__pyx_n_s_init;
static PyObject *__pyx_n_s_items;
static PyObject *__pyx_n_s_json;
static PyObject *__pyx_n_s_k;
static PyObject *__pyx_n_s_keyMapping;
static PyObject *__pyx_n_s_keymapping;
static PyObject *__pyx_n_s_kivy_app;
static PyObject *__pyx_n_s_kivy_config;
static PyObject *__pyx_n_s_kivy_core_window;
static PyObject *__pyx_n_s_kivy_factory;
static PyObject *__pyx_n_s_kivy_logger;
static PyObject *__pyx_n_s_kivy_metrics;
static PyObject *__pyx_n_s_kivy_properties;
static PyObject *__pyx_n_s_kivy_uix_modalview;
static PyObject *__pyx_n_s_kivy_uix_video;
static PyObject *__pyx_n_s_kivy_uix_widget;
static PyObject *__pyx_n_s_kivyblocks_blocks;
static PyObject *__pyx_kp_s_kivyblocks_blocks_pyx;
static PyObject *__pyx_n_s_klass;
static PyObject *__pyx_n_s_kname;
static PyObject *__pyx_n_s_kw;
static PyObject *__pyx_n_s_kwargs;
static PyObject *__pyx_n_s_l;
static PyObject *__pyx_n_u_list;
static PyObject *__pyx_n_s_loads;
static PyObject *__pyx_n_s_localnamespace;
static PyObject *__pyx_n_s_m;
static PyObject *__pyx_n_s_main;
static PyObject *__pyx_n_s_metaclass;
static PyObject *__pyx_n_s_method;
static PyObject *__pyx_n_s_methodAction;
static PyObject *__pyx_kp_s_miss_url;
static PyObject *__pyx_n_s_mm;
static PyObject *__pyx_n_s_mname;
static PyObject *__pyx_n_s_mode;
static PyObject *__pyx_n_s_module;
static PyObject *__pyx_n_s_multiple;
static PyObject *__pyx_n_s_multipleAction;
static PyObject *__pyx_n_s_mydesc;
static PyObject *__pyx_n_s_name;
static PyObject *__pyx_n_s_name_2;
static PyObject *__pyx_n_s_new_desc;
static PyObject *__pyx_n_s_newvideo;
static PyObject *__pyx_kp_s_not_exists_widget_s;
static PyObject *__pyx_kp_s_not_found;
static PyObject *__pyx_kp_s_not_found_via_Blocks_getWidgetBy;
static PyObject *__pyx_kp_s_not_reigsted_widget_s;
static PyObject *__pyx_n_s_ns;
static PyObject *__pyx_n_s_o;
static PyObject *__pyx_n_s_obj;
static PyObject *__pyx_n_s_on_built;
static PyObject *__pyx_n_s_on_conform;
static PyObject *__pyx_n_s_on_failed;
static PyObject *__pyx_n_s_open;
static PyObject *__pyx_n_s_options;
static PyObject *__pyx_n_s_opts;
static PyObject *__pyx_n_s_orientationlayout;
static PyObject *__pyx_n_s_os;
static PyObject *__pyx_n_s_p;
static PyObject *__pyx_n_s_params;
static PyObject *__pyx_n_s_parent;
static PyObject *__pyx_n_s_partial;
static PyObject *__pyx_n_s_pos;
static PyObject *__pyx_n_s_prepare;
static PyObject *__pyx_n_s_print;
static PyObject *__pyx_n_s_print_exc;
static PyObject *__pyx_kp_s_py;
static PyObject *__pyx_n_s_qualname;
static PyObject *__pyx_n_s_r;
static PyObject *__pyx_n_s_range;
static PyObject *__pyx_n_s_read;
static PyObject *__pyx_n_s_ready;
static PyObject *__pyx_n_s_registedfunction;
static PyObject *__pyx_n_s_registedfunctionAction;
static PyObject *__pyx_n_s_register;
static PyObject *__pyx_n_s_registerWidget;
static PyObject *__pyx_n_s_register_event_type;
static PyObject *__pyx_n_s_register_widget;
static PyObject *__pyx_n_s_replace;
static PyObject *__pyx_n_s_resp;
static PyObject *__pyx_kp_s_ret;
static PyObject *__pyx_n_s_ret_2;
static PyObject *__pyx_n_s_return;
static PyObject *__pyx_n_s_rf;
static PyObject *__pyx_n_s_rfname;
static PyObject *__pyx_kp_s_rfname_s_not_found;
static PyObject *__pyx_kp_s_root;
static PyObject *__pyx_n_s_root_2;
static PyObject *__pyx_n_s_rt;
static PyObject *__pyx_n_s_rtdata;
static PyObject *__pyx_n_s_rtdesc;
static PyObject *__pyx_n_s_s;
static PyObject *__pyx_kp_s_s_method_not_found;
static PyObject *__pyx_kp_s_script;
static PyObject *__pyx_n_s_scriptAction;
static PyObject *__pyx_n_s_script_2;
static PyObject *__pyx_n_s_self;
static PyObject *__pyx_kp_s_self_2;
static PyObject *__pyx_n_s_serverImageViewer;
static PyObject *__pyx_n_s_set;
static PyObject *__pyx_n_s_sp;
static PyObject *__pyx_n_s_split;
static PyObject *__pyx_n_s_startswith;
static PyObject *__pyx_n_s_str;
static PyObject *__pyx_n_s_strValueExpr;
static PyObject *__pyx_n_u_str_2;
static PyObject *__pyx_n_s_subwidget_total;
static PyObject *__pyx_n_s_subwidgets;
static PyObject *__pyx_n_s_super;
static PyObject *__pyx_n_s_sw;
static PyObject *__pyx_n_s_sys;
static PyObject *__pyx_n_s_t;
static PyObject *__pyx_n_s_target;
static PyObject *__pyx_n_s_test;
static PyObject *__pyx_n_s_threadcall;
static PyObject *__pyx_n_s_title;
static PyObject *__pyx_n_s_to_dict;
static PyObject *__pyx_n_s_toolbar;
static PyObject *__pyx_n_s_traceback;
static PyObject *__pyx_n_s_tree;
static PyObject *__pyx_n_s_uihome;
static PyObject *__pyx_n_s_ujson;
static PyObject *__pyx_n_s_uniaction;
static PyObject *__pyx_n_s_update;
static PyObject *__pyx_n_s_url;
static PyObject *__pyx_kp_s_url_is_None;
static PyObject *__pyx_n_s_urlwidget;
static PyObject *__pyx_n_s_urlwidgetAction;
static PyObject *__pyx_kp_s_utf_8;
static PyObject *__pyx_n_s_utils;
static PyObject *__pyx_n_s_v;
static PyObject *__pyx_n_s_valueExpr;
static PyObject *__pyx_n_s_vplayer;
static PyObject *__pyx_n_s_w;
static PyObject *__pyx_n_s_w_build;
static PyObject *__pyx_n_s_wid;
static PyObject *__pyx_n_s_widget;
static PyObject *__pyx_n_s_widgetBuild;
static PyObject *__pyx_kp_s_widgetBuild1_desc_must_be_a_dict;
static PyObject *__pyx_n_s_widgetClass;
static PyObject *__pyx_kp_s_widget_2;
static PyObject *__pyx_n_s_widget_id;
static PyObject *__pyx_kp_s_widget_id_s_can_not_contain;
static PyObject *__pyx_n_s_widget_name;
static PyObject *__pyx_n_s_widgettype;
static PyObject *__pyx_pf_10kivyblocks_6blocks_18WidgetNotFoundById___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_id); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_18WidgetNotFoundById_2__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_18WidgetNotFoundById_4__expr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_19ClassMethodNotFound___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_k, PyObject *__pyx_v_m); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_19ClassMethodNotFound_2__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_19ClassMethodNotFound_4__expr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_15NotExistsObject___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_15NotExistsObject_2__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_15NotExistsObject_4__expr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_13ArgumentError___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_argument, PyObject *__pyx_v_desc); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_13ArgumentError_2__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_13ArgumentError_4__expr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_17NotRegistedWidget___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_17NotRegistedWidget_2__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_17NotRegistedWidget_4__expr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_registerWidget(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_name, PyObject *__pyx_v_widget); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_2set(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_k, PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_4register_widget(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_widget); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_6buildAction(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_8eval(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_l); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_2__defaults__(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_10getUrlData(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_url, PyObject *__pyx_v_method, PyObject *__pyx_v_params, PyObject *__pyx_v_files, CYTHON_UNUSED PyObject *__pyx_v_callback, PyObject *__pyx_v_errback, PyObject *__pyx_v_kw); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_4__defaults__(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_12strValueExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_localnamespace); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6__defaults__(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_14arrayValueExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_localnamespace); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_8__defaults__(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_16dictValueExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_dic, PyObject *__pyx_v_localnamespace); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_10__defaults__(CYTHON_UNUSED PyObject *__pyx_self); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_18valueExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_obj, PyObject *__pyx_v_localnamespace); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_20w_build(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_desc); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_22build_attributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, CYTHON_UNUSED PyObject *__pyx_v_t); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_24build_rest(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, CYTHON_UNUSED PyObject *__pyx_v_t); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_26buildBind(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_28multipleAction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_30conform_action(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_32uniaction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_34eventAction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_36get_target(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_12blocksAction_doit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_target, PyObject *__pyx_v_add_mode, CYTHON_UNUSED PyObject *__pyx_v_o, PyObject *__pyx_v_w); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_12blocksAction_2doerr(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_o, PyObject *__pyx_v_e); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_38blocksAction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_15urlwidgetAction_doit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_target, PyObject *__pyx_v_add_mode, CYTHON_UNUSED PyObject *__pyx_v_o, PyObject *__pyx_v_w); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_15urlwidgetAction_2doerr(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_o, CYTHON_UNUSED PyObject *__pyx_v_e); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_40urlwidgetAction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_42getActionData(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_44registedfunctionAction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_46scriptAction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_48build_rtdesc(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_desc); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_50get_rtdata(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_52methodAction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_11widgetBuild_doit(PyObject *__pyx_self, PyObject *__pyx_v_desc); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_54widgetBuild(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_desc); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_13getWidgetById_find_widget_by_id(PyObject *__pyx_self, PyObject *__pyx_v_id, PyObject *__pyx_v_from_widget); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_56getWidgetById(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_id, PyObject *__pyx_v_from_widget); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_58on_built(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_v); /* proto */
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_60on_failed(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_e); /* proto */
static PyObject *__pyx_tp_new_10kivyblocks_6blocks___pyx_scope_struct__blocksAction(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static PyObject *__pyx_tp_new_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById(PyTypeObject *t, PyObject *a, PyObject *k); /*proto*/
static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_items = {0, &__pyx_n_s_items, 0, 0, 0};
static __Pyx_CachedCFunction __pyx_umethod_PyDict_Type_update = {0, &__pyx_n_s_update, 0, 0, 0};
static __Pyx_CachedCFunction __pyx_umethod_PyString_Type_split = {0, &__pyx_n_s_split, 0, 0, 0};
static PyObject *__pyx_int_0;
static PyObject *__pyx_int_1;
static PyObject *__pyx_int_4;
static PyObject *__pyx_int_5;
static PyObject *__pyx_slice__6;
static PyObject *__pyx_slice__7;
static PyObject *__pyx_tuple__2;
static PyObject *__pyx_tuple__3;
static PyObject *__pyx_tuple__5;
static PyObject *__pyx_tuple__9;
static PyObject *__pyx_slice__25;
static PyObject *__pyx_tuple__10;
static PyObject *__pyx_tuple__11;
static PyObject *__pyx_tuple__13;
static PyObject *__pyx_tuple__15;
static PyObject *__pyx_tuple__17;
static PyObject *__pyx_tuple__19;
static PyObject *__pyx_tuple__20;
static PyObject *__pyx_tuple__21;
static PyObject *__pyx_tuple__23;
static PyObject *__pyx_tuple__26;
static PyObject *__pyx_tuple__29;
static PyObject *__pyx_tuple__31;
static PyObject *__pyx_tuple__33;
static PyObject *__pyx_tuple__35;
static PyObject *__pyx_tuple__37;
static PyObject *__pyx_tuple__39;
static PyObject *__pyx_tuple__41;
static PyObject *__pyx_tuple__43;
static PyObject *__pyx_tuple__45;
static PyObject *__pyx_tuple__47;
static PyObject *__pyx_tuple__49;
static PyObject *__pyx_tuple__51;
static PyObject *__pyx_tuple__53;
static PyObject *__pyx_tuple__55;
static PyObject *__pyx_tuple__57;
static PyObject *__pyx_tuple__59;
static PyObject *__pyx_tuple__61;
static PyObject *__pyx_tuple__63;
static PyObject *__pyx_tuple__65;
static PyObject *__pyx_tuple__67;
static PyObject *__pyx_tuple__69;
static PyObject *__pyx_tuple__71;
static PyObject *__pyx_tuple__73;
static PyObject *__pyx_tuple__75;
static PyObject *__pyx_tuple__77;
static PyObject *__pyx_tuple__79;
static PyObject *__pyx_tuple__81;
static PyObject *__pyx_tuple__83;
static PyObject *__pyx_tuple__85;
static PyObject *__pyx_tuple__86;
static PyObject *__pyx_tuple__88;
static PyObject *__pyx_tuple__89;
static PyObject *__pyx_tuple__91;
static PyObject *__pyx_tuple__93;
static PyObject *__pyx_tuple__95;
static PyObject *__pyx_tuple__97;
static PyObject *__pyx_tuple__99;
static PyObject *__pyx_tuple__101;
static PyObject *__pyx_tuple__103;
static PyObject *__pyx_tuple__105;
static PyObject *__pyx_tuple__107;
static PyObject *__pyx_tuple__109;
static PyObject *__pyx_tuple__111;
static PyObject *__pyx_tuple__113;
static PyObject *__pyx_tuple__115;
static PyObject *__pyx_tuple__117;
static PyObject *__pyx_tuple__119;
static PyObject *__pyx_tuple__121;
static PyObject *__pyx_tuple__122;
static PyObject *__pyx_tuple__124;
static PyObject *__pyx_tuple__125;
static PyObject *__pyx_tuple__127;
static PyObject *__pyx_codeobj__12;
static PyObject *__pyx_codeobj__14;
static PyObject *__pyx_codeobj__16;
static PyObject *__pyx_codeobj__18;
static PyObject *__pyx_codeobj__22;
static PyObject *__pyx_codeobj__27;
static PyObject *__pyx_codeobj__30;
static PyObject *__pyx_codeobj__32;
static PyObject *__pyx_codeobj__34;
static PyObject *__pyx_codeobj__36;
static PyObject *__pyx_codeobj__38;
static PyObject *__pyx_codeobj__40;
static PyObject *__pyx_codeobj__42;
static PyObject *__pyx_codeobj__44;
static PyObject *__pyx_codeobj__46;
static PyObject *__pyx_codeobj__48;
static PyObject *__pyx_codeobj__50;
static PyObject *__pyx_codeobj__52;
static PyObject *__pyx_codeobj__54;
static PyObject *__pyx_codeobj__56;
static PyObject *__pyx_codeobj__58;
static PyObject *__pyx_codeobj__60;
static PyObject *__pyx_codeobj__62;
static PyObject *__pyx_codeobj__64;
static PyObject *__pyx_codeobj__66;
static PyObject *__pyx_codeobj__68;
static PyObject *__pyx_codeobj__70;
static PyObject *__pyx_codeobj__72;
static PyObject *__pyx_codeobj__74;
static PyObject *__pyx_codeobj__76;
static PyObject *__pyx_codeobj__78;
static PyObject *__pyx_codeobj__80;
static PyObject *__pyx_codeobj__82;
static PyObject *__pyx_codeobj__84;
static PyObject *__pyx_codeobj__87;
static PyObject *__pyx_codeobj__90;
static PyObject *__pyx_codeobj__92;
static PyObject *__pyx_codeobj__94;
static PyObject *__pyx_codeobj__96;
static PyObject *__pyx_codeobj__98;
static PyObject *__pyx_codeobj__100;
static PyObject *__pyx_codeobj__102;
static PyObject *__pyx_codeobj__104;
static PyObject *__pyx_codeobj__106;
static PyObject *__pyx_codeobj__108;
static PyObject *__pyx_codeobj__110;
static PyObject *__pyx_codeobj__112;
static PyObject *__pyx_codeobj__114;
static PyObject *__pyx_codeobj__116;
static PyObject *__pyx_codeobj__118;
static PyObject *__pyx_codeobj__120;
static PyObject *__pyx_codeobj__123;
static PyObject *__pyx_codeobj__126;
/* Late includes */
/* "kivyblocks/blocks.pyx":42
*
* class WidgetNotFoundById(Exception):
* def __init__(self, id): # <<<<<<<<<<<<<<
* super().__init__()
* self.idstr = id
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_18WidgetNotFoundById_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_18WidgetNotFoundById_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_18WidgetNotFoundById_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_18WidgetNotFoundById_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_id = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_id,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_id)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 42, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 42, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_self = values[0];
__pyx_v_id = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 42, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.WidgetNotFoundById.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_18WidgetNotFoundById___init__(__pyx_self, __pyx_v_self, __pyx_v_id);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_18WidgetNotFoundById___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_id) {
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("__init__", 0);
/* "kivyblocks/blocks.pyx":43
* class WidgetNotFoundById(Exception):
* def __init__(self, id):
* super().__init__() # <<<<<<<<<<<<<<
* self.idstr = id
*
*/
__pyx_t_2 = __Pyx_CyFunction_GetClassObj(__pyx_self);
if (!__pyx_t_2) { PyErr_SetString(PyExc_SystemError, "super(): empty __class__ cell"); __PYX_ERR(0, 43, __pyx_L1_error) }
__Pyx_INCREF(__pyx_t_2);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
__Pyx_INCREF(__pyx_v_self);
__Pyx_GIVEREF(__pyx_v_self);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self);
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 43, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 43, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 43, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":44
* def __init__(self, id):
* super().__init__()
* self.idstr = id # <<<<<<<<<<<<<<
*
* def __str__(self):
*/
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_idstr, __pyx_v_id) < 0) __PYX_ERR(0, 44, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":42
*
* class WidgetNotFoundById(Exception):
* def __init__(self, id): # <<<<<<<<<<<<<<
* super().__init__()
* self.idstr = id
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("kivyblocks.blocks.WidgetNotFoundById.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":46
* self.idstr = id
*
* def __str__(self): # <<<<<<<<<<<<<<
* return "Widget not found by id:" + self.idstr + ':'
*
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_18WidgetNotFoundById_3__str__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_18WidgetNotFoundById_3__str__ = {"__str__", (PyCFunction)__pyx_pw_10kivyblocks_6blocks_18WidgetNotFoundById_3__str__, METH_O, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_18WidgetNotFoundById_3__str__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
__pyx_r = __pyx_pf_10kivyblocks_6blocks_18WidgetNotFoundById_2__str__(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_18WidgetNotFoundById_2__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
/* "kivyblocks/blocks.pyx":47
*
* def __str__(self):
* return "Widget not found by id:" + self.idstr + ':' # <<<<<<<<<<<<<<
*
* def __expr__(self):
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_idstr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyNumber_Add(__pyx_kp_s_Widget_not_found_by_id, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 47, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = PyNumber_Add(__pyx_t_2, __pyx_kp_s_); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 47, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":46
* self.idstr = id
*
* def __str__(self): # <<<<<<<<<<<<<<
* return "Widget not found by id:" + self.idstr + ':'
*
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("kivyblocks.blocks.WidgetNotFoundById.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":49
* return "Widget not found by id:" + self.idstr + ':'
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return str(self)
*
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_18WidgetNotFoundById_5__expr__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_18WidgetNotFoundById_5__expr__ = {"__expr__", (PyCFunction)__pyx_pw_10kivyblocks_6blocks_18WidgetNotFoundById_5__expr__, METH_O, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_18WidgetNotFoundById_5__expr__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__expr__ (wrapper)", 0);
__pyx_r = __pyx_pf_10kivyblocks_6blocks_18WidgetNotFoundById_4__expr__(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_18WidgetNotFoundById_4__expr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__expr__", 0);
/* "kivyblocks/blocks.pyx":50
*
* def __expr__(self):
* return str(self) # <<<<<<<<<<<<<<
*
* class ClassMethodNotFound(Exception):
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_self); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 50, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":49
* return "Widget not found by id:" + self.idstr + ':'
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return str(self)
*
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("kivyblocks.blocks.WidgetNotFoundById.__expr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":53
*
* class ClassMethodNotFound(Exception):
* def __init__(self,k,m): # <<<<<<<<<<<<<<
* super().__init__()
* self.kname = k
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_19ClassMethodNotFound_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_19ClassMethodNotFound_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_19ClassMethodNotFound_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_19ClassMethodNotFound_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_k = 0;
PyObject *__pyx_v_m = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_k,&__pyx_n_s_m,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 53, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_m)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 53, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 53, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_k = values[1];
__pyx_v_m = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 53, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.ClassMethodNotFound.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_19ClassMethodNotFound___init__(__pyx_self, __pyx_v_self, __pyx_v_k, __pyx_v_m);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_19ClassMethodNotFound___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_k, PyObject *__pyx_v_m) {
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("__init__", 0);
/* "kivyblocks/blocks.pyx":54
* class ClassMethodNotFound(Exception):
* def __init__(self,k,m):
* super().__init__() # <<<<<<<<<<<<<<
* self.kname = k
* self.mname = m
*/
__pyx_t_2 = __Pyx_CyFunction_GetClassObj(__pyx_self);
if (!__pyx_t_2) { PyErr_SetString(PyExc_SystemError, "super(): empty __class__ cell"); __PYX_ERR(0, 54, __pyx_L1_error) }
__Pyx_INCREF(__pyx_t_2);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
__Pyx_INCREF(__pyx_v_self);
__Pyx_GIVEREF(__pyx_v_self);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self);
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 54, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 54, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":55
* def __init__(self,k,m):
* super().__init__()
* self.kname = k # <<<<<<<<<<<<<<
* self.mname = m
*
*/
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_kname, __pyx_v_k) < 0) __PYX_ERR(0, 55, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":56
* super().__init__()
* self.kname = k
* self.mname = m # <<<<<<<<<<<<<<
*
* def __str__(self):
*/
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_mname, __pyx_v_m) < 0) __PYX_ERR(0, 56, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":53
*
* class ClassMethodNotFound(Exception):
* def __init__(self,k,m): # <<<<<<<<<<<<<<
* super().__init__()
* self.kname = k
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("kivyblocks.blocks.ClassMethodNotFound.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":58
* self.mname = m
*
* def __str__(self): # <<<<<<<<<<<<<<
* s = 'Method(%s) not found in class(%s)' % (self.mname,
* str(self.kname.__classname__))
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_19ClassMethodNotFound_3__str__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_19ClassMethodNotFound_3__str__ = {"__str__", (PyCFunction)__pyx_pw_10kivyblocks_6blocks_19ClassMethodNotFound_3__str__, METH_O, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_19ClassMethodNotFound_3__str__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
__pyx_r = __pyx_pf_10kivyblocks_6blocks_19ClassMethodNotFound_2__str__(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_19ClassMethodNotFound_2__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_s = NULL;
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("__str__", 0);
/* "kivyblocks/blocks.pyx":59
*
* def __str__(self):
* s = 'Method(%s) not found in class(%s)' % (self.mname, # <<<<<<<<<<<<<<
* str(self.kname.__classname__))
* return s
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_mname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 59, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
/* "kivyblocks/blocks.pyx":60
* def __str__(self):
* s = 'Method(%s) not found in class(%s)' % (self.mname,
* str(self.kname.__classname__)) # <<<<<<<<<<<<<<
* return s
*
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_kname); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_classname); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 60, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":59
*
* def __str__(self):
* s = 'Method(%s) not found in class(%s)' % (self.mname, # <<<<<<<<<<<<<<
* str(self.kname.__classname__))
* return s
*/
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 59, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
__pyx_t_1 = 0;
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_Method_s_not_found_in_class_s, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 59, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_s = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":61
* s = 'Method(%s) not found in class(%s)' % (self.mname,
* str(self.kname.__classname__))
* return s # <<<<<<<<<<<<<<
*
* def __expr__(self):
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_s);
__pyx_r = __pyx_v_s;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":58
* self.mname = m
*
* def __str__(self): # <<<<<<<<<<<<<<
* s = 'Method(%s) not found in class(%s)' % (self.mname,
* str(self.kname.__classname__))
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("kivyblocks.blocks.ClassMethodNotFound.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_s);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":63
* return s
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return self.__str__()
*
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_19ClassMethodNotFound_5__expr__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_19ClassMethodNotFound_5__expr__ = {"__expr__", (PyCFunction)__pyx_pw_10kivyblocks_6blocks_19ClassMethodNotFound_5__expr__, METH_O, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_19ClassMethodNotFound_5__expr__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__expr__ (wrapper)", 0);
__pyx_r = __pyx_pf_10kivyblocks_6blocks_19ClassMethodNotFound_4__expr__(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_19ClassMethodNotFound_4__expr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
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("__expr__", 0);
/* "kivyblocks/blocks.pyx":64
*
* def __expr__(self):
* return self.__str__() # <<<<<<<<<<<<<<
*
*
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 64, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 64, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":63
* return s
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return self.__str__()
*
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("kivyblocks.blocks.ClassMethodNotFound.__expr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":68
*
* class NotExistsObject(Exception):
* def __init__(self,name): # <<<<<<<<<<<<<<
* super().__init__()
* self.name = name
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_15NotExistsObject_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_15NotExistsObject_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_15NotExistsObject_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_15NotExistsObject_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_name = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_name,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 68, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 68, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_self = values[0];
__pyx_v_name = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 68, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.NotExistsObject.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_15NotExistsObject___init__(__pyx_self, __pyx_v_self, __pyx_v_name);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_15NotExistsObject___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
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("__init__", 0);
/* "kivyblocks/blocks.pyx":69
* class NotExistsObject(Exception):
* def __init__(self,name):
* super().__init__() # <<<<<<<<<<<<<<
* self.name = name
*
*/
__pyx_t_2 = __Pyx_CyFunction_GetClassObj(__pyx_self);
if (!__pyx_t_2) { PyErr_SetString(PyExc_SystemError, "super(): empty __class__ cell"); __PYX_ERR(0, 69, __pyx_L1_error) }
__Pyx_INCREF(__pyx_t_2);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
__Pyx_INCREF(__pyx_v_self);
__Pyx_GIVEREF(__pyx_v_self);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self);
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 69, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 69, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 69, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":70
* def __init__(self,name):
* super().__init__()
* self.name = name # <<<<<<<<<<<<<<
*
* def __str__(self):
*/
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_name, __pyx_v_name) < 0) __PYX_ERR(0, 70, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":68
*
* class NotExistsObject(Exception):
* def __init__(self,name): # <<<<<<<<<<<<<<
* super().__init__()
* self.name = name
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("kivyblocks.blocks.NotExistsObject.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":72
* self.name = name
*
* def __str__(self): # <<<<<<<<<<<<<<
* s = 'not exists widget(%s)' % self.name
* return s
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_15NotExistsObject_3__str__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_15NotExistsObject_3__str__ = {"__str__", (PyCFunction)__pyx_pw_10kivyblocks_6blocks_15NotExistsObject_3__str__, METH_O, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_15NotExistsObject_3__str__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
__pyx_r = __pyx_pf_10kivyblocks_6blocks_15NotExistsObject_2__str__(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_15NotExistsObject_2__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_s = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
/* "kivyblocks/blocks.pyx":73
*
* def __str__(self):
* s = 'not exists widget(%s)' % self.name # <<<<<<<<<<<<<<
* return s
*
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 73, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __Pyx_PyString_FormatSafe(__pyx_kp_s_not_exists_widget_s, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 73, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_s = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":74
* def __str__(self):
* s = 'not exists widget(%s)' % self.name
* return s # <<<<<<<<<<<<<<
*
* def __expr__(self):
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_s);
__pyx_r = __pyx_v_s;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":72
* self.name = name
*
* def __str__(self): # <<<<<<<<<<<<<<
* s = 'not exists widget(%s)' % self.name
* return s
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("kivyblocks.blocks.NotExistsObject.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_s);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":76
* return s
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return self.__str__()
*
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_15NotExistsObject_5__expr__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_15NotExistsObject_5__expr__ = {"__expr__", (PyCFunction)__pyx_pw_10kivyblocks_6blocks_15NotExistsObject_5__expr__, METH_O, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_15NotExistsObject_5__expr__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__expr__ (wrapper)", 0);
__pyx_r = __pyx_pf_10kivyblocks_6blocks_15NotExistsObject_4__expr__(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_15NotExistsObject_4__expr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
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("__expr__", 0);
/* "kivyblocks/blocks.pyx":77
*
* def __expr__(self):
* return self.__str__() # <<<<<<<<<<<<<<
*
* class ArgumentError(Exception):
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 77, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 77, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":76
* return s
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return self.__str__()
*
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("kivyblocks.blocks.NotExistsObject.__expr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":80
*
* class ArgumentError(Exception):
* def __init__(self,argument,desc): # <<<<<<<<<<<<<<
* super().__init__()
* self.argument = argument
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_13ArgumentError_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_13ArgumentError_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_13ArgumentError_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_13ArgumentError_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_argument = 0;
PyObject *__pyx_v_desc = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_argument,&__pyx_n_s_desc,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_argument)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 1); __PYX_ERR(0, 80, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, 2); __PYX_ERR(0, 80, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 80, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_argument = values[1];
__pyx_v_desc = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__init__", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 80, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.ArgumentError.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_13ArgumentError___init__(__pyx_self, __pyx_v_self, __pyx_v_argument, __pyx_v_desc);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_13ArgumentError___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_argument, PyObject *__pyx_v_desc) {
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("__init__", 0);
/* "kivyblocks/blocks.pyx":81
* class ArgumentError(Exception):
* def __init__(self,argument,desc):
* super().__init__() # <<<<<<<<<<<<<<
* self.argument = argument
* self.desc = desc
*/
__pyx_t_2 = __Pyx_CyFunction_GetClassObj(__pyx_self);
if (!__pyx_t_2) { PyErr_SetString(PyExc_SystemError, "super(): empty __class__ cell"); __PYX_ERR(0, 81, __pyx_L1_error) }
__Pyx_INCREF(__pyx_t_2);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 81, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
__Pyx_INCREF(__pyx_v_self);
__Pyx_GIVEREF(__pyx_v_self);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self);
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 81, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 81, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 81, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":82
* def __init__(self,argument,desc):
* super().__init__()
* self.argument = argument # <<<<<<<<<<<<<<
* self.desc = desc
*
*/
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_argument, __pyx_v_argument) < 0) __PYX_ERR(0, 82, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":83
* super().__init__()
* self.argument = argument
* self.desc = desc # <<<<<<<<<<<<<<
*
* def __str__(self):
*/
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_desc, __pyx_v_desc) < 0) __PYX_ERR(0, 83, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":80
*
* class ArgumentError(Exception):
* def __init__(self,argument,desc): # <<<<<<<<<<<<<<
* super().__init__()
* self.argument = argument
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("kivyblocks.blocks.ArgumentError.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":85
* self.desc = desc
*
* def __str__(self): # <<<<<<<<<<<<<<
* s = 'argument(%s) missed:%s' % (self.argument,self.desc)
* return s
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_13ArgumentError_3__str__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_13ArgumentError_3__str__ = {"__str__", (PyCFunction)__pyx_pw_10kivyblocks_6blocks_13ArgumentError_3__str__, METH_O, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_13ArgumentError_3__str__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
__pyx_r = __pyx_pf_10kivyblocks_6blocks_13ArgumentError_2__str__(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_13ArgumentError_2__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_s = NULL;
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("__str__", 0);
/* "kivyblocks/blocks.pyx":86
*
* def __str__(self):
* s = 'argument(%s) missed:%s' % (self.argument,self.desc) # <<<<<<<<<<<<<<
* return s
*
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_argument); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 86, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_desc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 86, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 86, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
__pyx_t_1 = 0;
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyString_Format(__pyx_kp_s_argument_s_missed_s, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 86, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_s = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":87
* def __str__(self):
* s = 'argument(%s) missed:%s' % (self.argument,self.desc)
* return s # <<<<<<<<<<<<<<
*
* def __expr__(self):
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_s);
__pyx_r = __pyx_v_s;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":85
* self.desc = desc
*
* def __str__(self): # <<<<<<<<<<<<<<
* s = 'argument(%s) missed:%s' % (self.argument,self.desc)
* return s
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("kivyblocks.blocks.ArgumentError.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_s);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":89
* return s
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return self.__str__()
*
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_13ArgumentError_5__expr__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_13ArgumentError_5__expr__ = {"__expr__", (PyCFunction)__pyx_pw_10kivyblocks_6blocks_13ArgumentError_5__expr__, METH_O, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_13ArgumentError_5__expr__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__expr__ (wrapper)", 0);
__pyx_r = __pyx_pf_10kivyblocks_6blocks_13ArgumentError_4__expr__(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_13ArgumentError_4__expr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
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("__expr__", 0);
/* "kivyblocks/blocks.pyx":90
*
* def __expr__(self):
* return self.__str__() # <<<<<<<<<<<<<<
*
*
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 90, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 90, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":89
* return s
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return self.__str__()
*
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("kivyblocks.blocks.ArgumentError.__expr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":94
*
* class NotRegistedWidget(Exception):
* def __init__(self, name:str): # <<<<<<<<<<<<<<
* super().__init__()
* self.widget_name = name
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_17NotRegistedWidget_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_17NotRegistedWidget_1__init__ = {"__init__", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_17NotRegistedWidget_1__init__, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_17NotRegistedWidget_1__init__(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_name = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_name,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 94, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 94, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_self = values[0];
__pyx_v_name = ((PyObject*)values[1]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 94, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.NotRegistedWidget.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_name), (&PyString_Type), 1, "name", 1))) __PYX_ERR(0, 94, __pyx_L1_error)
__pyx_r = __pyx_pf_10kivyblocks_6blocks_17NotRegistedWidget___init__(__pyx_self, __pyx_v_self, __pyx_v_name);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_17NotRegistedWidget___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_name) {
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("__init__", 0);
/* "kivyblocks/blocks.pyx":95
* class NotRegistedWidget(Exception):
* def __init__(self, name:str):
* super().__init__() # <<<<<<<<<<<<<<
* self.widget_name = name
*
*/
__pyx_t_2 = __Pyx_CyFunction_GetClassObj(__pyx_self);
if (!__pyx_t_2) { PyErr_SetString(PyExc_SystemError, "super(): empty __class__ cell"); __PYX_ERR(0, 95, __pyx_L1_error) }
__Pyx_INCREF(__pyx_t_2);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 95, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2);
__Pyx_INCREF(__pyx_v_self);
__Pyx_GIVEREF(__pyx_v_self);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_self);
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_super, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 95, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 95, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 95, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":96
* def __init__(self, name:str):
* super().__init__()
* self.widget_name = name # <<<<<<<<<<<<<<
*
* def __str__(self):
*/
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_widget_name, __pyx_v_name) < 0) __PYX_ERR(0, 96, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":94
*
* class NotRegistedWidget(Exception):
* def __init__(self, name:str): # <<<<<<<<<<<<<<
* super().__init__()
* self.widget_name = name
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("kivyblocks.blocks.NotRegistedWidget.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":98
* self.widget_name = name
*
* def __str__(self): # <<<<<<<<<<<<<<
* s = 'not reigsted widget(%s)' % self.name
* return s
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_17NotRegistedWidget_3__str__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_17NotRegistedWidget_3__str__ = {"__str__", (PyCFunction)__pyx_pw_10kivyblocks_6blocks_17NotRegistedWidget_3__str__, METH_O, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_17NotRegistedWidget_3__str__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__str__ (wrapper)", 0);
__pyx_r = __pyx_pf_10kivyblocks_6blocks_17NotRegistedWidget_2__str__(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_17NotRegistedWidget_2__str__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_v_s = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__str__", 0);
/* "kivyblocks/blocks.pyx":99
*
* def __str__(self):
* s = 'not reigsted widget(%s)' % self.name # <<<<<<<<<<<<<<
* return s
*
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 99, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __Pyx_PyString_FormatSafe(__pyx_kp_s_not_reigsted_widget_s, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 99, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_s = ((PyObject*)__pyx_t_2);
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":100
* def __str__(self):
* s = 'not reigsted widget(%s)' % self.name
* return s # <<<<<<<<<<<<<<
*
* def __expr__(self):
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_s);
__pyx_r = __pyx_v_s;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":98
* self.widget_name = name
*
* def __str__(self): # <<<<<<<<<<<<<<
* s = 'not reigsted widget(%s)' % self.name
* return s
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("kivyblocks.blocks.NotRegistedWidget.__str__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_s);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":102
* return s
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return self.__str__()
*
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_17NotRegistedWidget_5__expr__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_17NotRegistedWidget_5__expr__ = {"__expr__", (PyCFunction)__pyx_pw_10kivyblocks_6blocks_17NotRegistedWidget_5__expr__, METH_O, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_17NotRegistedWidget_5__expr__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__expr__ (wrapper)", 0);
__pyx_r = __pyx_pf_10kivyblocks_6blocks_17NotRegistedWidget_4__expr__(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_17NotRegistedWidget_4__expr__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
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("__expr__", 0);
/* "kivyblocks/blocks.pyx":103
*
* def __expr__(self):
* return self.__str__() # <<<<<<<<<<<<<<
*
* def registerWidget(name:str,widget):
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_str); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 103, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 103, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":102
* return s
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return self.__str__()
*
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("kivyblocks.blocks.NotRegistedWidget.__expr__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":105
* return self.__str__()
*
* def registerWidget(name:str,widget): # <<<<<<<<<<<<<<
* globals()[name] = widget
*
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_1registerWidget(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_1registerWidget = {"registerWidget", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_1registerWidget, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_1registerWidget(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_name = 0;
PyObject *__pyx_v_widget = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("registerWidget (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_name,&__pyx_n_s_widget,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("registerWidget", 1, 2, 2, 1); __PYX_ERR(0, 105, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "registerWidget") < 0)) __PYX_ERR(0, 105, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_name = ((PyObject*)values[0]);
__pyx_v_widget = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("registerWidget", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 105, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.registerWidget", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_name), (&PyString_Type), 1, "name", 1))) __PYX_ERR(0, 105, __pyx_L1_error)
__pyx_r = __pyx_pf_10kivyblocks_6blocks_registerWidget(__pyx_self, __pyx_v_name, __pyx_v_widget);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_registerWidget(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_name, PyObject *__pyx_v_widget) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("registerWidget", 0);
/* "kivyblocks/blocks.pyx":106
*
* def registerWidget(name:str,widget):
* globals()[name] = widget # <<<<<<<<<<<<<<
*
*
*/
__pyx_t_1 = __Pyx_Globals(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 106, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_name, __pyx_v_widget) < 0)) __PYX_ERR(0, 106, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":105
* return self.__str__()
*
* def registerWidget(name:str,widget): # <<<<<<<<<<<<<<
* globals()[name] = widget
*
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("kivyblocks.blocks.registerWidget", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":110
*
* class Blocks(EventDispatcher):
* def __init__(self): # <<<<<<<<<<<<<<
* EventDispatcher.__init__(self)
* self.action_id = 0
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_1__init__(PyObject *__pyx_self, PyObject *__pyx_v_self); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_1__init__ = {"__init__", (PyCFunction)__pyx_pw_10kivyblocks_6blocks_6Blocks_1__init__, METH_O, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_1__init__(PyObject *__pyx_self, PyObject *__pyx_v_self) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks___init__(__pyx_self, ((PyObject *)__pyx_v_self));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks___init__(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self) {
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("__init__", 0);
/* "kivyblocks/blocks.pyx":111
* class Blocks(EventDispatcher):
* def __init__(self):
* EventDispatcher.__init__(self) # <<<<<<<<<<<<<<
* self.action_id = 0
* self.register_event_type('on_built')
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_EventDispatcher); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_init); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_self) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_self);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 111, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":112
* def __init__(self):
* EventDispatcher.__init__(self)
* self.action_id = 0 # <<<<<<<<<<<<<<
* self.register_event_type('on_built')
* self.register_event_type('on_failed')
*/
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_action_id, __pyx_int_0) < 0) __PYX_ERR(0, 112, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":113
* EventDispatcher.__init__(self)
* self.action_id = 0
* self.register_event_type('on_built') # <<<<<<<<<<<<<<
* self.register_event_type('on_failed')
* self.env = GlobalEnv()
*/
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_register_event_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 113, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_n_s_on_built) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_n_s_on_built);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 113, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":114
* self.action_id = 0
* self.register_event_type('on_built')
* self.register_event_type('on_failed') # <<<<<<<<<<<<<<
* self.env = GlobalEnv()
*
*/
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_register_event_type); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 114, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_n_s_on_failed) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_n_s_on_failed);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 114, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":115
* self.register_event_type('on_built')
* self.register_event_type('on_failed')
* self.env = GlobalEnv() # <<<<<<<<<<<<<<
*
* def set(self, k:str, v):
*/
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_GlobalEnv); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 115, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 115, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_env, __pyx_t_1) < 0) __PYX_ERR(0, 115, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":110
*
* class Blocks(EventDispatcher):
* def __init__(self): # <<<<<<<<<<<<<<
* EventDispatcher.__init__(self)
* self.action_id = 0
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":117
* self.env = GlobalEnv()
*
* def set(self, k:str, v): # <<<<<<<<<<<<<<
* self.env[k] = v
*
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_3set(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_3set = {"set", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_3set, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_3set(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_k = 0;
PyObject *__pyx_v_v = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("set (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_k,&__pyx_n_s_v,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("set", 1, 3, 3, 1); __PYX_ERR(0, 117, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("set", 1, 3, 3, 2); __PYX_ERR(0, 117, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set") < 0)) __PYX_ERR(0, 117, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_k = ((PyObject*)values[1]);
__pyx_v_v = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("set", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 117, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.set", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_k), (&PyString_Type), 1, "k", 1))) __PYX_ERR(0, 117, __pyx_L1_error)
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_2set(__pyx_self, __pyx_v_self, __pyx_v_k, __pyx_v_v);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_2set(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_k, PyObject *__pyx_v_v) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("set", 0);
/* "kivyblocks/blocks.pyx":118
*
* def set(self, k:str, v):
* self.env[k] = v # <<<<<<<<<<<<<<
*
* def register_widget(self, name:str, widget:Widget):
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_env); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_k, __pyx_v_v) < 0)) __PYX_ERR(0, 118, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":117
* self.env = GlobalEnv()
*
* def set(self, k:str, v): # <<<<<<<<<<<<<<
* self.env[k] = v
*
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.set", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":120
* self.env[k] = v
*
* def register_widget(self, name:str, widget:Widget): # <<<<<<<<<<<<<<
* globals()[name] = widget
*
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_5register_widget(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_5register_widget = {"register_widget", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_5register_widget, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_5register_widget(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
CYTHON_UNUSED PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_name = 0;
PyObject *__pyx_v_widget = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("register_widget (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_name,&__pyx_n_s_widget,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_name)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("register_widget", 1, 3, 3, 1); __PYX_ERR(0, 120, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("register_widget", 1, 3, 3, 2); __PYX_ERR(0, 120, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "register_widget") < 0)) __PYX_ERR(0, 120, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_name = ((PyObject*)values[1]);
__pyx_v_widget = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("register_widget", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 120, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.register_widget", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_name), (&PyString_Type), 1, "name", 1))) __PYX_ERR(0, 120, __pyx_L1_error)
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_4register_widget(__pyx_self, __pyx_v_self, __pyx_v_name, __pyx_v_widget);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_4register_widget(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_name, PyObject *__pyx_v_widget) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("register_widget", 0);
/* "kivyblocks/blocks.pyx":121
*
* def register_widget(self, name:str, widget:Widget):
* globals()[name] = widget # <<<<<<<<<<<<<<
*
* def buildAction(self, widget:Widget, desc):
*/
__pyx_t_1 = __Pyx_Globals(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 121, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_v_name, __pyx_v_widget) < 0)) __PYX_ERR(0, 121, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":120
* self.env[k] = v
*
* def register_widget(self, name:str, widget:Widget): # <<<<<<<<<<<<<<
* globals()[name] = widget
*
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.register_widget", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":123
* globals()[name] = widget
*
* def buildAction(self, widget:Widget, desc): # <<<<<<<<<<<<<<
* conform_desc = desc.get('conform')
* blocks = Blocks()
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_7buildAction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_7buildAction = {"buildAction", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_7buildAction, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_7buildAction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
CYTHON_UNUSED PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_widget = 0;
PyObject *__pyx_v_desc = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("buildAction (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_widget,&__pyx_n_s_desc,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("buildAction", 1, 3, 3, 1); __PYX_ERR(0, 123, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("buildAction", 1, 3, 3, 2); __PYX_ERR(0, 123, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "buildAction") < 0)) __PYX_ERR(0, 123, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_widget = values[1];
__pyx_v_desc = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("buildAction", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 123, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.buildAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_6buildAction(__pyx_self, __pyx_v_self, __pyx_v_widget, __pyx_v_desc);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_6buildAction(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc) {
PyObject *__pyx_v_conform_desc = NULL;
PyObject *__pyx_v_blocks = NULL;
PyObject *__pyx_v_func = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
int __pyx_t_4;
int __pyx_t_5;
PyObject *__pyx_t_6 = NULL;
int __pyx_t_7;
PyObject *__pyx_t_8 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("buildAction", 0);
/* "kivyblocks/blocks.pyx":124
*
* def buildAction(self, widget:Widget, desc):
* conform_desc = desc.get('conform') # <<<<<<<<<<<<<<
* blocks = Blocks()
* if not conform_desc:
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_s_conform) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_conform);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_conform_desc = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":125
* def buildAction(self, widget:Widget, desc):
* conform_desc = desc.get('conform')
* blocks = Blocks() # <<<<<<<<<<<<<<
* if not conform_desc:
* return partial(blocks.uniaction, widget, desc)
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Blocks); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 125, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_blocks = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":126
* conform_desc = desc.get('conform')
* blocks = Blocks()
* if not conform_desc: # <<<<<<<<<<<<<<
* return partial(blocks.uniaction, widget, desc)
* func =partial(blocks.conform_action,widget, desc)
*/
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_conform_desc); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 126, __pyx_L1_error)
__pyx_t_5 = ((!__pyx_t_4) != 0);
if (__pyx_t_5) {
/* "kivyblocks/blocks.pyx":127
* blocks = Blocks()
* if not conform_desc:
* return partial(blocks.uniaction, widget, desc) # <<<<<<<<<<<<<<
* func =partial(blocks.conform_action,widget, desc)
* return func
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_partial); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 127, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_blocks, __pyx_n_s_uniaction); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 127, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_t_3, __pyx_v_widget, __pyx_v_desc};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 127, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[4] = {__pyx_t_6, __pyx_t_3, __pyx_v_widget, __pyx_v_desc};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 127, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
{
__pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 127, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
}
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_t_3);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, __pyx_v_desc);
__pyx_t_3 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 127, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":126
* conform_desc = desc.get('conform')
* blocks = Blocks()
* if not conform_desc: # <<<<<<<<<<<<<<
* return partial(blocks.uniaction, widget, desc)
* func =partial(blocks.conform_action,widget, desc)
*/
}
/* "kivyblocks/blocks.pyx":128
* if not conform_desc:
* return partial(blocks.uniaction, widget, desc)
* func =partial(blocks.conform_action,widget, desc) # <<<<<<<<<<<<<<
* return func
*
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_partial); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_blocks, __pyx_n_s_conform_action); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_3 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_8, __pyx_v_widget, __pyx_v_desc};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_t_8, __pyx_v_widget, __pyx_v_desc};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
} else
#endif
{
__pyx_t_6 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_GIVEREF(__pyx_t_8);
PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_t_8);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_7, __pyx_v_desc);
__pyx_t_8 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_func = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":129
* return partial(blocks.uniaction, widget, desc)
* func =partial(blocks.conform_action,widget, desc)
* return func # <<<<<<<<<<<<<<
*
* def eval(self, s:str, l:dict):
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_func);
__pyx_r = __pyx_v_func;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":123
* globals()[name] = widget
*
* def buildAction(self, widget:Widget, desc): # <<<<<<<<<<<<<<
* conform_desc = desc.get('conform')
* blocks = Blocks()
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.buildAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_conform_desc);
__Pyx_XDECREF(__pyx_v_blocks);
__Pyx_XDECREF(__pyx_v_func);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":131
* return func
*
* def eval(self, s:str, l:dict): # <<<<<<<<<<<<<<
* g = {}
* forbidens = [
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_9eval(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_9eval = {"eval", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_9eval, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_9eval(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_s = 0;
PyObject *__pyx_v_l = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("eval (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_s,&__pyx_n_s_l,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_s)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("eval", 1, 3, 3, 1); __PYX_ERR(0, 131, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_l)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("eval", 1, 3, 3, 2); __PYX_ERR(0, 131, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "eval") < 0)) __PYX_ERR(0, 131, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_s = ((PyObject*)values[1]);
__pyx_v_l = ((PyObject*)values[2]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("eval", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 131, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.eval", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_s), (&PyString_Type), 1, "s", 1))) __PYX_ERR(0, 131, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_l), (&PyDict_Type), 1, "l", 1))) __PYX_ERR(0, 131, __pyx_L1_error)
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_8eval(__pyx_self, __pyx_v_self, __pyx_v_s, __pyx_v_l);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_8eval(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_l) {
PyObject *__pyx_v_g = NULL;
PyObject *__pyx_v_forbidens = NULL;
PyObject *__pyx_v_k = NULL;
PyObject *__pyx_v_v = NULL;
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;
Py_ssize_t __pyx_t_5;
PyObject *(*__pyx_t_6)(PyObject *);
PyObject *__pyx_t_7 = NULL;
PyObject *(*__pyx_t_8)(PyObject *);
int __pyx_t_9;
int __pyx_t_10;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("eval", 0);
/* "kivyblocks/blocks.pyx":132
*
* def eval(self, s:str, l:dict):
* g = {} # <<<<<<<<<<<<<<
* forbidens = [
* "os",
*/
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 132, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_g = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":133
* def eval(self, s:str, l:dict):
* g = {}
* forbidens = [ # <<<<<<<<<<<<<<
* "os",
* "sys",
*/
__pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 133, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_os);
__Pyx_GIVEREF(__pyx_n_s_os);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_os);
__Pyx_INCREF(__pyx_n_s_sys);
__Pyx_GIVEREF(__pyx_n_s_sys);
PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_sys);
__Pyx_INCREF(__pyx_n_s_codecs);
__Pyx_GIVEREF(__pyx_n_s_codecs);
PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_codecs);
__Pyx_INCREF(__pyx_n_s_json);
__Pyx_GIVEREF(__pyx_n_s_json);
PyList_SET_ITEM(__pyx_t_1, 3, __pyx_n_s_json);
__pyx_v_forbidens = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":140
* ]
*
* for k,v in globals().copy().items(): # <<<<<<<<<<<<<<
* if k not in forbidens:
* g[k] = v
*/
__pyx_t_3 = __Pyx_Globals(); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_copy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
}
}
__pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_items); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
}
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_4 = __pyx_t_1; __Pyx_INCREF(__pyx_t_4); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
__pyx_t_5 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 140, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
if (likely(!__pyx_t_6)) {
if (likely(PyList_CheckExact(__pyx_t_4))) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 140, __pyx_L1_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 140, __pyx_L1_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_4, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
} else {
__pyx_t_1 = __pyx_t_6(__pyx_t_4);
if (unlikely(!__pyx_t_1)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 140, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_1);
}
if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
PyObject* sequence = __pyx_t_1;
Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
__PYX_ERR(0, 140, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
__pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
__pyx_t_3 = PyTuple_GET_ITEM(sequence, 1);
} else {
__pyx_t_2 = PyList_GET_ITEM(sequence, 0);
__pyx_t_3 = PyList_GET_ITEM(sequence, 1);
}
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
#else
__pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
__pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 140, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
index = 0; __pyx_t_2 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_2)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_2);
index = 1; __pyx_t_3 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_3)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_3);
if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 140, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
__pyx_L5_unpacking_failed:;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
__PYX_ERR(0, 140, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_2);
__pyx_t_2 = 0;
__Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_3);
__pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":141
*
* for k,v in globals().copy().items():
* if k not in forbidens: # <<<<<<<<<<<<<<
* g[k] = v
*
*/
__pyx_t_9 = (__Pyx_PySequence_ContainsTF(__pyx_v_k, __pyx_v_forbidens, Py_NE)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 141, __pyx_L1_error)
__pyx_t_10 = (__pyx_t_9 != 0);
if (__pyx_t_10) {
/* "kivyblocks/blocks.pyx":142
* for k,v in globals().copy().items():
* if k not in forbidens:
* g[k] = v # <<<<<<<<<<<<<<
*
* """
*/
if (unlikely(PyDict_SetItem(__pyx_v_g, __pyx_v_k, __pyx_v_v) < 0)) __PYX_ERR(0, 142, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":141
*
* for k,v in globals().copy().items():
* if k not in forbidens: # <<<<<<<<<<<<<<
* g[k] = v
*
*/
}
/* "kivyblocks/blocks.pyx":140
* ]
*
* for k,v in globals().copy().items(): # <<<<<<<<<<<<<<
* if k not in forbidens:
* g[k] = v
*/
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":150
* g['__builtins__']['open'] = None
* """
* g.update(self.env) # <<<<<<<<<<<<<<
* return eval(s,g,l)
*
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_env); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 150, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_1 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_g, __pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 150, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":151
* """
* g.update(self.env)
* return eval(s,g,l) # <<<<<<<<<<<<<<
*
* def getUrlData(self, url:str, method:str='GET',
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 151, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_s);
__Pyx_GIVEREF(__pyx_v_s);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_s);
__Pyx_INCREF(__pyx_v_g);
__Pyx_GIVEREF(__pyx_v_g);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_g);
__Pyx_INCREF(__pyx_v_l);
__Pyx_GIVEREF(__pyx_v_l);
PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_v_l);
__pyx_t_4 = __Pyx_PyObject_Call(__pyx_builtin_eval, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 151, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_4;
__pyx_t_4 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":131
* return func
*
* def eval(self, s:str, l:dict): # <<<<<<<<<<<<<<
* g = {}
* forbidens = [
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.eval", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_g);
__Pyx_XDECREF(__pyx_v_forbidens);
__Pyx_XDECREF(__pyx_v_k);
__Pyx_XDECREF(__pyx_v_v);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":153
* return eval(s,g,l)
*
* def getUrlData(self, url:str, method:str='GET', # <<<<<<<<<<<<<<
* params:dict={}, files:dict={},
* callback=None,
*/
static PyObject *__pyx_pf_10kivyblocks_6blocks_2__defaults__(CYTHON_UNUSED PyObject *__pyx_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__defaults__", 0);
__Pyx_XDECREF(__pyx_r);
/* "kivyblocks/blocks.pyx":156
* params:dict={}, files:dict={},
* callback=None,
* errback=None,**kw): # <<<<<<<<<<<<<<
*
* if url is None:
*/
__pyx_t_1 = PyTuple_New(5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 153, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject*)__pyx_n_s_GET));
__Pyx_GIVEREF(((PyObject*)__pyx_n_s_GET));
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject*)__pyx_n_s_GET));
__Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_params);
__Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_params);
PyTuple_SET_ITEM(__pyx_t_1, 1, __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_params);
__Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_files);
__Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_files);
PyTuple_SET_ITEM(__pyx_t_1, 2, __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self)->__pyx_arg_files);
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_1, 3, ((PyObject *)Py_None));
__Pyx_INCREF(((PyObject *)Py_None));
__Pyx_GIVEREF(((PyObject *)Py_None));
PyTuple_SET_ITEM(__pyx_t_1, 4, ((PyObject *)Py_None));
/* "kivyblocks/blocks.pyx":153
* return eval(s,g,l)
*
* def getUrlData(self, url:str, method:str='GET', # <<<<<<<<<<<<<<
* params:dict={}, files:dict={},
* callback=None,
*/
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 153, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None);
__pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("kivyblocks.blocks.__defaults__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_11getUrlData(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_11getUrlData = {"getUrlData", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_11getUrlData, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_11getUrlData(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_url = 0;
PyObject *__pyx_v_method = 0;
PyObject *__pyx_v_params = 0;
PyObject *__pyx_v_files = 0;
CYTHON_UNUSED PyObject *__pyx_v_callback = 0;
PyObject *__pyx_v_errback = 0;
PyObject *__pyx_v_kw = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("getUrlData (wrapper)", 0);
__pyx_v_kw = PyDict_New(); if (unlikely(!__pyx_v_kw)) return NULL;
__Pyx_GOTREF(__pyx_v_kw);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_url,&__pyx_n_s_method,&__pyx_n_s_params,&__pyx_n_s_files,&__pyx_n_s_callback,&__pyx_n_s_errback,0};
PyObject* values[7] = {0,0,0,0,0,0,0};
__pyx_defaults *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_self);
values[2] = ((PyObject*)((PyObject*)__pyx_n_s_GET));
values[3] = __pyx_dynamic_args->__pyx_arg_params;
values[4] = __pyx_dynamic_args->__pyx_arg_files;
values[5] = ((PyObject *)((PyObject *)Py_None));
values[6] = ((PyObject *)((PyObject *)Py_None));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_url)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("getUrlData", 0, 2, 7, 1); __PYX_ERR(0, 153, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_method);
if (value) { values[2] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_params);
if (value) { values[3] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 4:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_files);
if (value) { values[4] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 5:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_callback);
if (value) { values[5] = value; kw_args--; }
}
CYTHON_FALLTHROUGH;
case 6:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_errback);
if (value) { values[6] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, __pyx_v_kw, values, pos_args, "getUrlData") < 0)) __PYX_ERR(0, 153, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6);
CYTHON_FALLTHROUGH;
case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5);
CYTHON_FALLTHROUGH;
case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4);
CYTHON_FALLTHROUGH;
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_url = ((PyObject*)values[1]);
__pyx_v_method = ((PyObject*)values[2]);
__pyx_v_params = ((PyObject*)values[3]);
__pyx_v_files = ((PyObject*)values[4]);
__pyx_v_callback = values[5];
__pyx_v_errback = values[6];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("getUrlData", 0, 2, 7, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 153, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_kw); __pyx_v_kw = 0;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.getUrlData", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_url), (&PyString_Type), 1, "url", 1))) __PYX_ERR(0, 153, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_method), (&PyString_Type), 1, "method", 1))) __PYX_ERR(0, 153, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_params), (&PyDict_Type), 1, "params", 1))) __PYX_ERR(0, 154, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_files), (&PyDict_Type), 1, "files", 1))) __PYX_ERR(0, 154, __pyx_L1_error)
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_10getUrlData(__pyx_self, __pyx_v_self, __pyx_v_url, __pyx_v_method, __pyx_v_params, __pyx_v_files, __pyx_v_callback, __pyx_v_errback, __pyx_v_kw);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_kw);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_10getUrlData(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_url, PyObject *__pyx_v_method, PyObject *__pyx_v_params, PyObject *__pyx_v_files, CYTHON_UNUSED PyObject *__pyx_v_callback, PyObject *__pyx_v_errback, PyObject *__pyx_v_kw) {
PyObject *__pyx_v_filename = NULL;
PyObject *__pyx_v_f = NULL;
PyObject *__pyx_v_b = NULL;
PyObject *__pyx_v_dic = NULL;
PyObject *__pyx_v_hc = NULL;
PyObject *__pyx_v_resp = NULL;
PyObject *__pyx_v_e = NULL;
PyObject *__pyx_v_config = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
int __pyx_t_2;
PyObject *__pyx_t_3 = NULL;
PyObject *__pyx_t_4 = NULL;
PyObject *__pyx_t_5 = NULL;
PyObject *__pyx_t_6 = NULL;
int __pyx_t_7;
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;
PyObject *__pyx_t_14 = NULL;
PyObject *__pyx_t_15 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("getUrlData", 0);
__Pyx_INCREF(__pyx_v_url);
/* "kivyblocks/blocks.pyx":158
* errback=None,**kw):
*
* if url is None: # <<<<<<<<<<<<<<
* if errback:
* errback(None,Exception('url is None'))
*/
__pyx_t_1 = (__pyx_v_url == ((PyObject*)Py_None));
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
/* "kivyblocks/blocks.pyx":159
*
* if url is None:
* if errback: # <<<<<<<<<<<<<<
* errback(None,Exception('url is None'))
* else:
*/
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_errback); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 159, __pyx_L1_error)
if (__pyx_t_2) {
/* "kivyblocks/blocks.pyx":160
* if url is None:
* if errback:
* errback(None,Exception('url is None')) # <<<<<<<<<<<<<<
* else:
* return None
*/
__pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_v_errback);
__pyx_t_5 = __pyx_v_errback; __pyx_t_6 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, Py_None, __pyx_t_4};
__pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 160, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, Py_None, __pyx_t_4};
__pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 160, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else
#endif
{
__pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
}
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, Py_None);
__Pyx_GIVEREF(__pyx_t_4);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_4);
__pyx_t_4 = 0;
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":159
*
* if url is None:
* if errback: # <<<<<<<<<<<<<<
* errback(None,Exception('url is None'))
* else:
*/
goto __pyx_L4;
}
/* "kivyblocks/blocks.pyx":162
* errback(None,Exception('url is None'))
* else:
* return None # <<<<<<<<<<<<<<
*
* if url.startswith('file://'):
*/
/*else*/ {
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
}
__pyx_L4:;
/* "kivyblocks/blocks.pyx":158
* errback=None,**kw):
*
* if url is None: # <<<<<<<<<<<<<<
* if errback:
* errback(None,Exception('url is None'))
*/
}
/* "kivyblocks/blocks.pyx":164
* return None
*
* if url.startswith('file://'): # <<<<<<<<<<<<<<
* filename = url[7:]
* with codecs.open(filename,'r','utf-8') as f:
*/
if (unlikely(__pyx_v_url == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "startswith");
__PYX_ERR(0, 164, __pyx_L1_error)
}
__pyx_t_2 = __Pyx_PyStr_Tailmatch(__pyx_v_url, __pyx_kp_s_file, 0, PY_SSIZE_T_MAX, -1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 164, __pyx_L1_error)
if ((__pyx_t_2 != 0)) {
/* "kivyblocks/blocks.pyx":165
*
* if url.startswith('file://'):
* filename = url[7:] # <<<<<<<<<<<<<<
* with codecs.open(filename,'r','utf-8') as f:
* b = f.read()
*/
if (unlikely(__pyx_v_url == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(0, 165, __pyx_L1_error)
}
__pyx_t_3 = PySequence_GetSlice(__pyx_v_url, 7, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 165, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_v_filename = __pyx_t_3;
__pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":166
* if url.startswith('file://'):
* filename = url[7:]
* with codecs.open(filename,'r','utf-8') as f: # <<<<<<<<<<<<<<
* b = f.read()
* dic = json.loads(b)
*/
/*with:*/ {
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_codecs); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 166, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_open); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 166, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_filename, __pyx_n_s_r, __pyx_kp_s_utf_8};
__pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 166, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[4] = {__pyx_t_5, __pyx_v_filename, __pyx_n_s_r, __pyx_kp_s_utf_8};
__pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 166, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
{
__pyx_t_4 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 166, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__pyx_t_5) {
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL;
}
__Pyx_INCREF(__pyx_v_filename);
__Pyx_GIVEREF(__pyx_v_filename);
PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_7, __pyx_v_filename);
__Pyx_INCREF(__pyx_n_s_r);
__Pyx_GIVEREF(__pyx_n_s_r);
PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_7, __pyx_n_s_r);
__Pyx_INCREF(__pyx_kp_s_utf_8);
__Pyx_GIVEREF(__pyx_kp_s_utf_8);
PyTuple_SET_ITEM(__pyx_t_4, 2+__pyx_t_7, __pyx_kp_s_utf_8);
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 166, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_9 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_exit); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 166, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_4 = __Pyx_PyObject_LookupSpecial(__pyx_t_3, __pyx_n_s_enter); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 166, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
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_8 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 166, __pyx_L6_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __pyx_t_8;
__pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/*try:*/ {
{
__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:*/ {
__pyx_v_f = __pyx_t_4;
__pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":167
* filename = url[7:]
* with codecs.open(filename,'r','utf-8') as f:
* b = f.read() # <<<<<<<<<<<<<<
* dic = json.loads(b)
* return dic
*/
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_f, __pyx_n_s_read); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 167, __pyx_L10_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 167, __pyx_L10_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_b = __pyx_t_4;
__pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":168
* with codecs.open(filename,'r','utf-8') as f:
* b = f.read()
* dic = json.loads(b) # <<<<<<<<<<<<<<
* return dic
* elif url.startswith('http://') or url.startswith('https://'):
*/
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_json); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 168, __pyx_L10_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_loads); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 168, __pyx_L10_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
}
}
__pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_3, __pyx_v_b) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_b);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 168, __pyx_L10_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_v_dic = __pyx_t_4;
__pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":169
* b = f.read()
* dic = json.loads(b)
* return dic # <<<<<<<<<<<<<<
* elif url.startswith('http://') or url.startswith('https://'):
* try:
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_dic);
__pyx_r = __pyx_v_dic;
goto __pyx_L14_try_return;
/* "kivyblocks/blocks.pyx":166
* if url.startswith('file://'):
* filename = url[7:]
* with codecs.open(filename,'r','utf-8') as f: # <<<<<<<<<<<<<<
* b = f.read()
* dic = json.loads(b)
*/
}
__pyx_L10_error:;
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__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;
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
/*except:*/ {
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.getUrlData", __pyx_clineno, __pyx_lineno, __pyx_filename);
if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_8, &__pyx_t_3) < 0) __PYX_ERR(0, 166, __pyx_L12_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_8);
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = PyTuple_Pack(3, __pyx_t_4, __pyx_t_8, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 166, __pyx_L12_except_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_13 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_5, NULL);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 166, __pyx_L12_except_error)
__Pyx_GOTREF(__pyx_t_13);
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_13);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
if (__pyx_t_2 < 0) __PYX_ERR(0, 166, __pyx_L12_except_error)
__pyx_t_1 = ((!(__pyx_t_2 != 0)) != 0);
if (__pyx_t_1) {
__Pyx_GIVEREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_8);
__Pyx_XGIVEREF(__pyx_t_3);
__Pyx_ErrRestoreWithState(__pyx_t_4, __pyx_t_8, __pyx_t_3);
__pyx_t_4 = 0; __pyx_t_8 = 0; __pyx_t_3 = 0;
__PYX_ERR(0, 166, __pyx_L12_except_error)
}
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
goto __pyx_L11_exception_handled;
}
__pyx_L12_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_L14_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_L7_return;
__pyx_L11_exception_handled:;
__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);
}
}
/*finally:*/ {
/*normal exit:*/{
if (__pyx_t_9) {
__pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__3, NULL);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 166, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
}
goto __pyx_L9;
}
__pyx_L7_return: {
__pyx_t_12 = __pyx_r;
__pyx_r = 0;
if (__pyx_t_9) {
__pyx_t_11 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_tuple__3, NULL);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 166, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
}
__pyx_r = __pyx_t_12;
__pyx_t_12 = 0;
goto __pyx_L0;
}
__pyx_L9:;
}
goto __pyx_L19;
__pyx_L6_error:;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
goto __pyx_L1_error;
__pyx_L19:;
}
/* "kivyblocks/blocks.pyx":164
* return None
*
* if url.startswith('file://'): # <<<<<<<<<<<<<<
* filename = url[7:]
* with codecs.open(filename,'r','utf-8') as f:
*/
goto __pyx_L5;
}
/* "kivyblocks/blocks.pyx":170
* dic = json.loads(b)
* return dic
* elif url.startswith('http://') or url.startswith('https://'): # <<<<<<<<<<<<<<
* try:
* hc = HttpClient()
*/
if (unlikely(__pyx_v_url == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "startswith");
__PYX_ERR(0, 170, __pyx_L1_error)
}
__pyx_t_2 = __Pyx_PyStr_Tailmatch(__pyx_v_url, __pyx_kp_s_http, 0, PY_SSIZE_T_MAX, -1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 170, __pyx_L1_error)
if (!(__pyx_t_2 != 0)) {
} else {
__pyx_t_1 = (__pyx_t_2 != 0);
goto __pyx_L20_bool_binop_done;
}
if (unlikely(__pyx_v_url == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "startswith");
__PYX_ERR(0, 170, __pyx_L1_error)
}
__pyx_t_2 = __Pyx_PyStr_Tailmatch(__pyx_v_url, __pyx_kp_s_https, 0, PY_SSIZE_T_MAX, -1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 170, __pyx_L1_error)
__pyx_t_1 = (__pyx_t_2 != 0);
__pyx_L20_bool_binop_done:;
if (__pyx_t_1) {
/* "kivyblocks/blocks.pyx":171
* return dic
* elif url.startswith('http://') or url.startswith('https://'):
* try: # <<<<<<<<<<<<<<
* hc = HttpClient()
* resp=hc(url,method=method,params=params,files=files)
*/
{
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_12, &__pyx_t_11);
__Pyx_XGOTREF(__pyx_t_9);
__Pyx_XGOTREF(__pyx_t_12);
__Pyx_XGOTREF(__pyx_t_11);
/*try:*/ {
/* "kivyblocks/blocks.pyx":172
* elif url.startswith('http://') or url.startswith('https://'):
* try:
* hc = HttpClient() # <<<<<<<<<<<<<<
* resp=hc(url,method=method,params=params,files=files)
* # print('Blocks.py :resp=',resp)
*/
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_HttpClient); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 172, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
}
}
__pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 172, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_v_hc = __pyx_t_3;
__pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":173
* try:
* hc = HttpClient()
* resp=hc(url,method=method,params=params,files=files) # <<<<<<<<<<<<<<
* # print('Blocks.py :resp=',resp)
* return resp
*/
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 173, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_url);
__Pyx_GIVEREF(__pyx_v_url);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_url);
__pyx_t_8 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 173, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_8);
if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_method, __pyx_v_method) < 0) __PYX_ERR(0, 173, __pyx_L22_error)
if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_params, __pyx_v_params) < 0) __PYX_ERR(0, 173, __pyx_L22_error)
if (PyDict_SetItem(__pyx_t_8, __pyx_n_s_files, __pyx_v_files) < 0) __PYX_ERR(0, 173, __pyx_L22_error)
__pyx_t_4 = __Pyx_PyObject_Call(__pyx_v_hc, __pyx_t_3, __pyx_t_8); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 173, __pyx_L22_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_v_resp = __pyx_t_4;
__pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":175
* resp=hc(url,method=method,params=params,files=files)
* # print('Blocks.py :resp=',resp)
* return resp # <<<<<<<<<<<<<<
* except Exception as e:
* print_exc()
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_resp);
__pyx_r = __pyx_v_resp;
goto __pyx_L26_try_return;
/* "kivyblocks/blocks.pyx":171
* return dic
* elif url.startswith('http://') or url.startswith('https://'):
* try: # <<<<<<<<<<<<<<
* hc = HttpClient()
* resp=hc(url,method=method,params=params,files=files)
*/
}
__pyx_L22_error:;
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__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;
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":176
* # print('Blocks.py :resp=',resp)
* return resp
* except Exception as e: # <<<<<<<<<<<<<<
* print_exc()
* if errback:
*/
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_7) {
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.getUrlData", __pyx_clineno, __pyx_lineno, __pyx_filename);
if (__Pyx_GetException(&__pyx_t_4, &__pyx_t_8, &__pyx_t_3) < 0) __PYX_ERR(0, 176, __pyx_L24_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GOTREF(__pyx_t_8);
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_t_8);
__pyx_v_e = __pyx_t_8;
/* "kivyblocks/blocks.pyx":177
* return resp
* except Exception as e:
* print_exc() # <<<<<<<<<<<<<<
* if errback:
* return errback(None,e)
*/
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_print_exc); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 177, __pyx_L24_except_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_14 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
__pyx_t_14 = PyMethod_GET_SELF(__pyx_t_6);
if (likely(__pyx_t_14)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
__Pyx_INCREF(__pyx_t_14);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_6, function);
}
}
__pyx_t_5 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 177, __pyx_L24_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":178
* except Exception as e:
* print_exc()
* if errback: # <<<<<<<<<<<<<<
* return errback(None,e)
* return None
*/
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_errback); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 178, __pyx_L24_except_error)
if (__pyx_t_1) {
/* "kivyblocks/blocks.pyx":179
* print_exc()
* if errback:
* return errback(None,e) # <<<<<<<<<<<<<<
* return None
* else:
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_errback);
__pyx_t_6 = __pyx_v_errback; __pyx_t_14 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
__pyx_t_14 = PyMethod_GET_SELF(__pyx_t_6);
if (likely(__pyx_t_14)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
__Pyx_INCREF(__pyx_t_14);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_6, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_14, Py_None, __pyx_v_e};
__pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 179, __pyx_L24_except_error)
__Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_14, Py_None, __pyx_v_e};
__pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 179, __pyx_L24_except_error)
__Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
__pyx_t_15 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 179, __pyx_L24_except_error)
__Pyx_GOTREF(__pyx_t_15);
if (__pyx_t_14) {
__Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_14); __pyx_t_14 = NULL;
}
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_15, 0+__pyx_t_7, Py_None);
__Pyx_INCREF(__pyx_v_e);
__Pyx_GIVEREF(__pyx_v_e);
PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_7, __pyx_v_e);
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_15, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 179, __pyx_L24_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_r = __pyx_t_5;
__pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
goto __pyx_L25_except_return;
/* "kivyblocks/blocks.pyx":178
* except Exception as e:
* print_exc()
* if errback: # <<<<<<<<<<<<<<
* return errback(None,e)
* return None
*/
}
/* "kivyblocks/blocks.pyx":180
* if errback:
* return errback(None,e)
* return None # <<<<<<<<<<<<<<
* else:
* config = getConfig()
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
goto __pyx_L25_except_return;
}
goto __pyx_L24_except_error;
__pyx_L24_except_error:;
/* "kivyblocks/blocks.pyx":171
* return dic
* elif url.startswith('http://') or url.startswith('https://'):
* try: # <<<<<<<<<<<<<<
* hc = HttpClient()
* resp=hc(url,method=method,params=params,files=files)
*/
__Pyx_XGIVEREF(__pyx_t_9);
__Pyx_XGIVEREF(__pyx_t_12);
__Pyx_XGIVEREF(__pyx_t_11);
__Pyx_ExceptionReset(__pyx_t_9, __pyx_t_12, __pyx_t_11);
goto __pyx_L1_error;
__pyx_L26_try_return:;
__Pyx_XGIVEREF(__pyx_t_9);
__Pyx_XGIVEREF(__pyx_t_12);
__Pyx_XGIVEREF(__pyx_t_11);
__Pyx_ExceptionReset(__pyx_t_9, __pyx_t_12, __pyx_t_11);
goto __pyx_L0;
__pyx_L25_except_return:;
__Pyx_XGIVEREF(__pyx_t_9);
__Pyx_XGIVEREF(__pyx_t_12);
__Pyx_XGIVEREF(__pyx_t_11);
__Pyx_ExceptionReset(__pyx_t_9, __pyx_t_12, __pyx_t_11);
goto __pyx_L0;
}
/* "kivyblocks/blocks.pyx":170
* dic = json.loads(b)
* return dic
* elif url.startswith('http://') or url.startswith('https://'): # <<<<<<<<<<<<<<
* try:
* hc = HttpClient()
*/
}
/* "kivyblocks/blocks.pyx":182
* return None
* else:
* config = getConfig() # <<<<<<<<<<<<<<
* url = config.uihome + url
* return self.getUrlData(url,method=method,
*/
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_getConfig); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 182, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
}
}
__pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 182, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_v_config = __pyx_t_3;
__pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":183
* else:
* config = getConfig()
* url = config.uihome + url # <<<<<<<<<<<<<<
* return self.getUrlData(url,method=method,
* params=params,
*/
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_config, __pyx_n_s_uihome); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 183, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = PyNumber_Add(__pyx_t_3, __pyx_v_url); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 183, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (!(likely(PyString_CheckExact(__pyx_t_8))||((__pyx_t_8) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_8)->tp_name), 0))) __PYX_ERR(0, 183, __pyx_L1_error)
__Pyx_DECREF_SET(__pyx_v_url, ((PyObject*)__pyx_t_8));
__pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":184
* config = getConfig()
* url = config.uihome + url
* return self.getUrlData(url,method=method, # <<<<<<<<<<<<<<
* params=params,
* files=files,
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getUrlData); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 184, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_url);
__Pyx_GIVEREF(__pyx_v_url);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_url);
__pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_method, __pyx_v_method) < 0) __PYX_ERR(0, 184, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":185
* url = config.uihome + url
* return self.getUrlData(url,method=method,
* params=params, # <<<<<<<<<<<<<<
* files=files,
* **kw)
*/
if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_params, __pyx_v_params) < 0) __PYX_ERR(0, 184, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":186
* return self.getUrlData(url,method=method,
* params=params,
* files=files, # <<<<<<<<<<<<<<
* **kw)
*
*/
if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_files, __pyx_v_files) < 0) __PYX_ERR(0, 184, __pyx_L1_error)
__pyx_t_4 = __pyx_t_5;
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":187
* params=params,
* files=files,
* **kw) # <<<<<<<<<<<<<<
*
* def strValueExpr(self,s:str,localnamespace:dict={}):
*/
if (__Pyx_MergeKeywords(__pyx_t_4, __pyx_v_kw) < 0) __PYX_ERR(0, 187, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":184
* config = getConfig()
* url = config.uihome + url
* return self.getUrlData(url,method=method, # <<<<<<<<<<<<<<
* params=params,
* files=files,
*/
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_r = __pyx_t_5;
__pyx_t_5 = 0;
goto __pyx_L0;
}
__pyx_L5:;
/* "kivyblocks/blocks.pyx":153
* return eval(s,g,l)
*
* def getUrlData(self, url:str, method:str='GET', # <<<<<<<<<<<<<<
* params:dict={}, files:dict={},
* callback=None,
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_14);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.getUrlData", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_filename);
__Pyx_XDECREF(__pyx_v_f);
__Pyx_XDECREF(__pyx_v_b);
__Pyx_XDECREF(__pyx_v_dic);
__Pyx_XDECREF(__pyx_v_hc);
__Pyx_XDECREF(__pyx_v_resp);
__Pyx_XDECREF(__pyx_v_e);
__Pyx_XDECREF(__pyx_v_config);
__Pyx_XDECREF(__pyx_v_url);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":189
* **kw)
*
* def strValueExpr(self,s:str,localnamespace:dict={}): # <<<<<<<<<<<<<<
* if not s.startswith('py::'):
* return s
*/
static PyObject *__pyx_pf_10kivyblocks_6blocks_4__defaults__(CYTHON_UNUSED PyObject *__pyx_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__defaults__", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 189, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_self)->__pyx_arg_localnamespace);
__Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_self)->__pyx_arg_localnamespace);
PyTuple_SET_ITEM(__pyx_t_1, 0, __Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_self)->__pyx_arg_localnamespace);
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 189, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None);
__pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("kivyblocks.blocks.__defaults__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_13strValueExpr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_13strValueExpr = {"strValueExpr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_13strValueExpr, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_13strValueExpr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_s = 0;
PyObject *__pyx_v_localnamespace = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("strValueExpr (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_s,&__pyx_n_s_localnamespace,0};
PyObject* values[3] = {0,0,0};
__pyx_defaults1 *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_self);
values[2] = __pyx_dynamic_args->__pyx_arg_localnamespace;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_s)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("strValueExpr", 0, 2, 3, 1); __PYX_ERR(0, 189, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_localnamespace);
if (value) { values[2] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "strValueExpr") < 0)) __PYX_ERR(0, 189, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_s = ((PyObject*)values[1]);
__pyx_v_localnamespace = ((PyObject*)values[2]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("strValueExpr", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 189, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.strValueExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_s), (&PyString_Type), 1, "s", 1))) __PYX_ERR(0, 189, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_localnamespace), (&PyDict_Type), 1, "localnamespace", 1))) __PYX_ERR(0, 189, __pyx_L1_error)
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_12strValueExpr(__pyx_self, __pyx_v_self, __pyx_v_s, __pyx_v_localnamespace);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_12strValueExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_localnamespace) {
PyObject *__pyx_v_v = NULL;
PyObject *__pyx_v_e = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
int __pyx_t_2;
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;
PyObject *__pyx_t_12 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("strValueExpr", 0);
__Pyx_INCREF(__pyx_v_s);
/* "kivyblocks/blocks.pyx":190
*
* def strValueExpr(self,s:str,localnamespace:dict={}):
* if not s.startswith('py::'): # <<<<<<<<<<<<<<
* return s
* s = s[4:]
*/
if (unlikely(__pyx_v_s == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "startswith");
__PYX_ERR(0, 190, __pyx_L1_error)
}
__pyx_t_1 = __Pyx_PyStr_Tailmatch(__pyx_v_s, __pyx_kp_s_py, 0, PY_SSIZE_T_MAX, -1); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 190, __pyx_L1_error)
__pyx_t_2 = ((!(__pyx_t_1 != 0)) != 0);
if (__pyx_t_2) {
/* "kivyblocks/blocks.pyx":191
* def strValueExpr(self,s:str,localnamespace:dict={}):
* if not s.startswith('py::'):
* return s # <<<<<<<<<<<<<<
* s = s[4:]
* try:
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_s);
__pyx_r = __pyx_v_s;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":190
*
* def strValueExpr(self,s:str,localnamespace:dict={}):
* if not s.startswith('py::'): # <<<<<<<<<<<<<<
* return s
* s = s[4:]
*/
}
/* "kivyblocks/blocks.pyx":192
* if not s.startswith('py::'):
* return s
* s = s[4:] # <<<<<<<<<<<<<<
* try:
* v = self.eval(s,localnamespace)
*/
if (unlikely(__pyx_v_s == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not subscriptable");
__PYX_ERR(0, 192, __pyx_L1_error)
}
__pyx_t_3 = PySequence_GetSlice(__pyx_v_s, 4, PY_SSIZE_T_MAX); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 192, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF_SET(__pyx_v_s, ((PyObject*)__pyx_t_3));
__pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":193
* return s
* s = s[4:]
* try: # <<<<<<<<<<<<<<
* v = self.eval(s,localnamespace)
* return v
*/
{
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ExceptionSave(&__pyx_t_4, &__pyx_t_5, &__pyx_t_6);
__Pyx_XGOTREF(__pyx_t_4);
__Pyx_XGOTREF(__pyx_t_5);
__Pyx_XGOTREF(__pyx_t_6);
/*try:*/ {
/* "kivyblocks/blocks.pyx":194
* s = s[4:]
* try:
* v = self.eval(s,localnamespace) # <<<<<<<<<<<<<<
* return v
* except Exception as e:
*/
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_eval); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 194, __pyx_L4_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = NULL;
__pyx_t_9 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_7, function);
__pyx_t_9 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_s, __pyx_v_localnamespace};
__pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 194, __pyx_L4_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_s, __pyx_v_localnamespace};
__pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 194, __pyx_L4_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
{
__pyx_t_10 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 194, __pyx_L4_error)
__Pyx_GOTREF(__pyx_t_10);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
}
__Pyx_INCREF(__pyx_v_s);
__Pyx_GIVEREF(__pyx_v_s);
PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_v_s);
__Pyx_INCREF(__pyx_v_localnamespace);
__Pyx_GIVEREF(__pyx_v_localnamespace);
PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_v_localnamespace);
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 194, __pyx_L4_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_v_v = __pyx_t_3;
__pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":195
* try:
* v = self.eval(s,localnamespace)
* return v # <<<<<<<<<<<<<<
* except Exception as e:
* print('Exception .... ',e,'script=',s)
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_v);
__pyx_r = __pyx_v_v;
goto __pyx_L8_try_return;
/* "kivyblocks/blocks.pyx":193
* return s
* s = s[4:]
* try: # <<<<<<<<<<<<<<
* v = self.eval(s,localnamespace)
* return v
*/
}
__pyx_L4_error:;
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":196
* v = self.eval(s,localnamespace)
* return v
* except Exception as e: # <<<<<<<<<<<<<<
* print('Exception .... ',e,'script=',s)
* print_exc()
*/
__pyx_t_9 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_9) {
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.strValueExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_7, &__pyx_t_10) < 0) __PYX_ERR(0, 196, __pyx_L6_except_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GOTREF(__pyx_t_7);
__Pyx_GOTREF(__pyx_t_10);
__Pyx_INCREF(__pyx_t_7);
__pyx_v_e = __pyx_t_7;
/* "kivyblocks/blocks.pyx":197
* return v
* except Exception as e:
* print('Exception .... ',e,'script=',s) # <<<<<<<<<<<<<<
* print_exc()
* return s
*/
__pyx_t_8 = PyTuple_New(4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 197, __pyx_L6_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_INCREF(__pyx_kp_s_Exception);
__Pyx_GIVEREF(__pyx_kp_s_Exception);
PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_kp_s_Exception);
__Pyx_INCREF(__pyx_v_e);
__Pyx_GIVEREF(__pyx_v_e);
PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_e);
__Pyx_INCREF(__pyx_kp_s_script);
__Pyx_GIVEREF(__pyx_kp_s_script);
PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_kp_s_script);
__Pyx_INCREF(__pyx_v_s);
__Pyx_GIVEREF(__pyx_v_s);
PyTuple_SET_ITEM(__pyx_t_8, 3, __pyx_v_s);
if (__Pyx_PrintOne(0, __pyx_t_8) < 0) __PYX_ERR(0, 197, __pyx_L6_except_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":198
* except Exception as e:
* print('Exception .... ',e,'script=',s)
* print_exc() # <<<<<<<<<<<<<<
* return s
*
*/
__Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_print_exc); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 198, __pyx_L6_except_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_12 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
__pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11);
if (likely(__pyx_t_12)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
__Pyx_INCREF(__pyx_t_12);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_11, function);
}
}
__pyx_t_8 = (__pyx_t_12) ? __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_12) : __Pyx_PyObject_CallNoArg(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 198, __pyx_L6_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":199
* print('Exception .... ',e,'script=',s)
* print_exc()
* return s # <<<<<<<<<<<<<<
*
* def arrayValueExpr(self,arr:list,localnamespace:dict={}) -> list:
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_s);
__pyx_r = __pyx_v_s;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
goto __pyx_L7_except_return;
}
goto __pyx_L6_except_error;
__pyx_L6_except_error:;
/* "kivyblocks/blocks.pyx":193
* return s
* s = s[4:]
* try: # <<<<<<<<<<<<<<
* v = self.eval(s,localnamespace)
* return v
*/
__Pyx_XGIVEREF(__pyx_t_4);
__Pyx_XGIVEREF(__pyx_t_5);
__Pyx_XGIVEREF(__pyx_t_6);
__Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
goto __pyx_L1_error;
__pyx_L8_try_return:;
__Pyx_XGIVEREF(__pyx_t_4);
__Pyx_XGIVEREF(__pyx_t_5);
__Pyx_XGIVEREF(__pyx_t_6);
__Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
goto __pyx_L0;
__pyx_L7_except_return:;
__Pyx_XGIVEREF(__pyx_t_4);
__Pyx_XGIVEREF(__pyx_t_5);
__Pyx_XGIVEREF(__pyx_t_6);
__Pyx_ExceptionReset(__pyx_t_4, __pyx_t_5, __pyx_t_6);
goto __pyx_L0;
}
/* "kivyblocks/blocks.pyx":189
* **kw)
*
* def strValueExpr(self,s:str,localnamespace:dict={}): # <<<<<<<<<<<<<<
* if not s.startswith('py::'):
* return s
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.strValueExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_v);
__Pyx_XDECREF(__pyx_v_e);
__Pyx_XDECREF(__pyx_v_s);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":201
* return s
*
* def arrayValueExpr(self,arr:list,localnamespace:dict={}) -> list: # <<<<<<<<<<<<<<
* d = []
* for v in arr:
*/
static PyObject *__pyx_pf_10kivyblocks_6blocks_6__defaults__(CYTHON_UNUSED PyObject *__pyx_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__defaults__", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 201, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults2, __pyx_self)->__pyx_arg_localnamespace);
__Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults2, __pyx_self)->__pyx_arg_localnamespace);
PyTuple_SET_ITEM(__pyx_t_1, 0, __Pyx_CyFunction_Defaults(__pyx_defaults2, __pyx_self)->__pyx_arg_localnamespace);
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 201, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None);
__pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("kivyblocks.blocks.__defaults__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_15arrayValueExpr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_15arrayValueExpr = {"arrayValueExpr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_15arrayValueExpr, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_15arrayValueExpr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_arr = 0;
PyObject *__pyx_v_localnamespace = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("arrayValueExpr (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_arr,&__pyx_n_s_localnamespace,0};
PyObject* values[3] = {0,0,0};
__pyx_defaults2 *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(__pyx_defaults2, __pyx_self);
values[2] = __pyx_dynamic_args->__pyx_arg_localnamespace;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_arr)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("arrayValueExpr", 0, 2, 3, 1); __PYX_ERR(0, 201, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_localnamespace);
if (value) { values[2] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "arrayValueExpr") < 0)) __PYX_ERR(0, 201, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_arr = ((PyObject*)values[1]);
__pyx_v_localnamespace = ((PyObject*)values[2]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("arrayValueExpr", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 201, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.arrayValueExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_arr), (&PyList_Type), 1, "arr", 1))) __PYX_ERR(0, 201, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_localnamespace), (&PyDict_Type), 1, "localnamespace", 1))) __PYX_ERR(0, 201, __pyx_L1_error)
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_14arrayValueExpr(__pyx_self, __pyx_v_self, __pyx_v_arr, __pyx_v_localnamespace);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_14arrayValueExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_arr, PyObject *__pyx_v_localnamespace) {
PyObject *__pyx_v_d = NULL;
PyObject *__pyx_v_v = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
Py_ssize_t __pyx_t_2;
PyObject *__pyx_t_3 = NULL;
int __pyx_t_4;
PyObject *__pyx_t_5 = NULL;
PyObject *__pyx_t_6 = NULL;
int __pyx_t_7;
PyObject *__pyx_t_8 = NULL;
int __pyx_t_9;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("arrayValueExpr", 0);
/* "kivyblocks/blocks.pyx":202
*
* def arrayValueExpr(self,arr:list,localnamespace:dict={}) -> list:
* d = [] # <<<<<<<<<<<<<<
* for v in arr:
* if type(v) == type(''):
*/
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 202, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_d = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":203
* def arrayValueExpr(self,arr:list,localnamespace:dict={}) -> list:
* d = []
* for v in arr: # <<<<<<<<<<<<<<
* if type(v) == type(''):
* d.append(self.strValueExpr(v,localnamespace))
*/
if (unlikely(__pyx_v_arr == Py_None)) {
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
__PYX_ERR(0, 203, __pyx_L1_error)
}
__pyx_t_1 = __pyx_v_arr; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
for (;;) {
if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_2); __Pyx_INCREF(__pyx_t_3); __pyx_t_2++; if (unlikely(0 < 0)) __PYX_ERR(0, 203, __pyx_L1_error)
#else
__pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 203, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
__Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_3);
__pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":204
* d = []
* for v in arr:
* if type(v) == type(''): # <<<<<<<<<<<<<<
* d.append(self.strValueExpr(v,localnamespace))
* continue
*/
__pyx_t_3 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_v)), ((PyObject *)Py_TYPE(__pyx_kp_s__4)), Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 204, __pyx_L1_error)
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 204, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":205
* for v in arr:
* if type(v) == type(''):
* d.append(self.strValueExpr(v,localnamespace)) # <<<<<<<<<<<<<<
* continue
* if type(v) == type([]):
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_strValueExpr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 205, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_v, __pyx_v_localnamespace};
__pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 205, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_v, __pyx_v_localnamespace};
__pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 205, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
{
__pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 205, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
}
__Pyx_INCREF(__pyx_v_v);
__Pyx_GIVEREF(__pyx_v_v);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_v);
__Pyx_INCREF(__pyx_v_localnamespace);
__Pyx_GIVEREF(__pyx_v_localnamespace);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_localnamespace);
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 205, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_9 = __Pyx_PyList_Append(__pyx_v_d, __pyx_t_3); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 205, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":206
* if type(v) == type(''):
* d.append(self.strValueExpr(v,localnamespace))
* continue # <<<<<<<<<<<<<<
* if type(v) == type([]):
* d.append(self.arrayValueExpr(v,localnamespace))
*/
goto __pyx_L3_continue;
/* "kivyblocks/blocks.pyx":204
* d = []
* for v in arr:
* if type(v) == type(''): # <<<<<<<<<<<<<<
* d.append(self.strValueExpr(v,localnamespace))
* continue
*/
}
/* "kivyblocks/blocks.pyx":207
* d.append(self.strValueExpr(v,localnamespace))
* continue
* if type(v) == type([]): # <<<<<<<<<<<<<<
* d.append(self.arrayValueExpr(v,localnamespace))
* continue
*/
__pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 207, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_v)), ((PyObject *)Py_TYPE(__pyx_t_3)), Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 207, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 207, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":208
* continue
* if type(v) == type([]):
* d.append(self.arrayValueExpr(v,localnamespace)) # <<<<<<<<<<<<<<
* continue
* if type(v) == type({}):
*/
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_arrayValueExpr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 208, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_v, __pyx_v_localnamespace};
__pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 208, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_v, __pyx_v_localnamespace};
__pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 208, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
__pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 208, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __pyx_t_8 = NULL;
}
__Pyx_INCREF(__pyx_v_v);
__Pyx_GIVEREF(__pyx_v_v);
PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_v_v);
__Pyx_INCREF(__pyx_v_localnamespace);
__Pyx_GIVEREF(__pyx_v_localnamespace);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_v_localnamespace);
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 208, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_9 = __Pyx_PyList_Append(__pyx_v_d, __pyx_t_5); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 208, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":209
* if type(v) == type([]):
* d.append(self.arrayValueExpr(v,localnamespace))
* continue # <<<<<<<<<<<<<<
* if type(v) == type({}):
* d.append(self.dictValueExpr(v,localnamespace))
*/
goto __pyx_L3_continue;
/* "kivyblocks/blocks.pyx":207
* d.append(self.strValueExpr(v,localnamespace))
* continue
* if type(v) == type([]): # <<<<<<<<<<<<<<
* d.append(self.arrayValueExpr(v,localnamespace))
* continue
*/
}
/* "kivyblocks/blocks.pyx":210
* d.append(self.arrayValueExpr(v,localnamespace))
* continue
* if type(v) == type({}): # <<<<<<<<<<<<<<
* d.append(self.dictValueExpr(v,localnamespace))
* continue
*/
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 210, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_3 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_v)), ((PyObject *)Py_TYPE(__pyx_t_5)), Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 210, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 210, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":211
* continue
* if type(v) == type({}):
* d.append(self.dictValueExpr(v,localnamespace)) # <<<<<<<<<<<<<<
* continue
* if type(v) == type(DictObject):
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dictValueExpr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 211, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_v, __pyx_v_localnamespace};
__pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 211, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_v, __pyx_v_localnamespace};
__pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 211, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
{
__pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 211, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
}
__Pyx_INCREF(__pyx_v_v);
__Pyx_GIVEREF(__pyx_v_v);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_v);
__Pyx_INCREF(__pyx_v_localnamespace);
__Pyx_GIVEREF(__pyx_v_localnamespace);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_localnamespace);
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 211, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_9 = __Pyx_PyList_Append(__pyx_v_d, __pyx_t_3); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 211, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":212
* if type(v) == type({}):
* d.append(self.dictValueExpr(v,localnamespace))
* continue # <<<<<<<<<<<<<<
* if type(v) == type(DictObject):
* d.append(self.dictValueExpr(v,localnamespace))
*/
goto __pyx_L3_continue;
/* "kivyblocks/blocks.pyx":210
* d.append(self.arrayValueExpr(v,localnamespace))
* continue
* if type(v) == type({}): # <<<<<<<<<<<<<<
* d.append(self.dictValueExpr(v,localnamespace))
* continue
*/
}
/* "kivyblocks/blocks.pyx":213
* d.append(self.dictValueExpr(v,localnamespace))
* continue
* if type(v) == type(DictObject): # <<<<<<<<<<<<<<
* d.append(self.dictValueExpr(v,localnamespace))
* continue
*/
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_DictObject); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 213, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_v)), ((PyObject *)Py_TYPE(__pyx_t_3)), Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 213, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 213, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":214
* continue
* if type(v) == type(DictObject):
* d.append(self.dictValueExpr(v,localnamespace)) # <<<<<<<<<<<<<<
* continue
* d.append(v)
*/
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dictValueExpr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 214, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_v, __pyx_v_localnamespace};
__pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 214, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_v, __pyx_v_localnamespace};
__pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 214, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
__pyx_t_6 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 214, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_8); __pyx_t_8 = NULL;
}
__Pyx_INCREF(__pyx_v_v);
__Pyx_GIVEREF(__pyx_v_v);
PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_7, __pyx_v_v);
__Pyx_INCREF(__pyx_v_localnamespace);
__Pyx_GIVEREF(__pyx_v_localnamespace);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_7, __pyx_v_localnamespace);
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 214, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_9 = __Pyx_PyList_Append(__pyx_v_d, __pyx_t_5); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 214, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":215
* if type(v) == type(DictObject):
* d.append(self.dictValueExpr(v,localnamespace))
* continue # <<<<<<<<<<<<<<
* d.append(v)
* return d
*/
goto __pyx_L3_continue;
/* "kivyblocks/blocks.pyx":213
* d.append(self.dictValueExpr(v,localnamespace))
* continue
* if type(v) == type(DictObject): # <<<<<<<<<<<<<<
* d.append(self.dictValueExpr(v,localnamespace))
* continue
*/
}
/* "kivyblocks/blocks.pyx":216
* d.append(self.dictValueExpr(v,localnamespace))
* continue
* d.append(v) # <<<<<<<<<<<<<<
* return d
*
*/
__pyx_t_9 = __Pyx_PyList_Append(__pyx_v_d, __pyx_v_v); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(0, 216, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":203
* def arrayValueExpr(self,arr:list,localnamespace:dict={}) -> list:
* d = []
* for v in arr: # <<<<<<<<<<<<<<
* if type(v) == type(''):
* d.append(self.strValueExpr(v,localnamespace))
*/
__pyx_L3_continue:;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":217
* continue
* d.append(v)
* return d # <<<<<<<<<<<<<<
*
* def dictValueExpr(self,dic:dict,localnamespace:dict={}) -> dict:
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_d);
__pyx_r = __pyx_v_d;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":201
* return s
*
* def arrayValueExpr(self,arr:list,localnamespace:dict={}) -> list: # <<<<<<<<<<<<<<
* d = []
* for v in arr:
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.arrayValueExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_d);
__Pyx_XDECREF(__pyx_v_v);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":219
* return d
*
* def dictValueExpr(self,dic:dict,localnamespace:dict={}) -> dict: # <<<<<<<<<<<<<<
* d = {}
* for k,v in dic.items():
*/
static PyObject *__pyx_pf_10kivyblocks_6blocks_8__defaults__(CYTHON_UNUSED PyObject *__pyx_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__defaults__", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 219, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults3, __pyx_self)->__pyx_arg_localnamespace);
__Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults3, __pyx_self)->__pyx_arg_localnamespace);
PyTuple_SET_ITEM(__pyx_t_1, 0, __Pyx_CyFunction_Defaults(__pyx_defaults3, __pyx_self)->__pyx_arg_localnamespace);
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 219, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None);
__pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("kivyblocks.blocks.__defaults__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_17dictValueExpr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_17dictValueExpr = {"dictValueExpr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_17dictValueExpr, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_17dictValueExpr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_dic = 0;
PyObject *__pyx_v_localnamespace = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("dictValueExpr (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_dic,&__pyx_n_s_localnamespace,0};
PyObject* values[3] = {0,0,0};
__pyx_defaults3 *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(__pyx_defaults3, __pyx_self);
values[2] = __pyx_dynamic_args->__pyx_arg_localnamespace;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dic)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("dictValueExpr", 0, 2, 3, 1); __PYX_ERR(0, 219, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_localnamespace);
if (value) { values[2] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "dictValueExpr") < 0)) __PYX_ERR(0, 219, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_dic = ((PyObject*)values[1]);
__pyx_v_localnamespace = ((PyObject*)values[2]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("dictValueExpr", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 219, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.dictValueExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_dic), (&PyDict_Type), 1, "dic", 1))) __PYX_ERR(0, 219, __pyx_L1_error)
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_localnamespace), (&PyDict_Type), 1, "localnamespace", 1))) __PYX_ERR(0, 219, __pyx_L1_error)
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_16dictValueExpr(__pyx_self, __pyx_v_self, __pyx_v_dic, __pyx_v_localnamespace);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_16dictValueExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_dic, PyObject *__pyx_v_localnamespace) {
PyObject *__pyx_v_d = NULL;
PyObject *__pyx_v_k = NULL;
PyObject *__pyx_v_v = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
Py_ssize_t __pyx_t_3;
PyObject *(*__pyx_t_4)(PyObject *);
PyObject *__pyx_t_5 = NULL;
PyObject *__pyx_t_6 = NULL;
PyObject *__pyx_t_7 = NULL;
PyObject *(*__pyx_t_8)(PyObject *);
int __pyx_t_9;
int __pyx_t_10;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("dictValueExpr", 0);
/* "kivyblocks/blocks.pyx":220
*
* def dictValueExpr(self,dic:dict,localnamespace:dict={}) -> dict:
* d = {} # <<<<<<<<<<<<<<
* for k,v in dic.items():
* if type(v) == type(''):
*/
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 220, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_d = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":221
* def dictValueExpr(self,dic:dict,localnamespace:dict={}) -> dict:
* d = {}
* for k,v in dic.items(): # <<<<<<<<<<<<<<
* if type(v) == type(''):
* d[k] = self.strValueExpr(v,localnamespace)
*/
if (unlikely(__pyx_v_dic == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items");
__PYX_ERR(0, 221, __pyx_L1_error)
}
__pyx_t_1 = __Pyx_PyDict_Items(__pyx_v_dic); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 221, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0;
__pyx_t_4 = NULL;
} else {
__pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 221, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 221, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
if (likely(!__pyx_t_4)) {
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 221, __pyx_L1_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 221, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_1); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 221, __pyx_L1_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 221, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
} else {
__pyx_t_1 = __pyx_t_4(__pyx_t_2);
if (unlikely(!__pyx_t_1)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 221, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_1);
}
if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
PyObject* sequence = __pyx_t_1;
Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
__PYX_ERR(0, 221, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
__pyx_t_5 = PyTuple_GET_ITEM(sequence, 0);
__pyx_t_6 = PyTuple_GET_ITEM(sequence, 1);
} else {
__pyx_t_5 = PyList_GET_ITEM(sequence, 0);
__pyx_t_6 = PyList_GET_ITEM(sequence, 1);
}
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
#else
__pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 221, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 221, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
__pyx_t_7 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 221, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_8 = Py_TYPE(__pyx_t_7)->tp_iternext;
index = 0; __pyx_t_5 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_5)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_5);
index = 1; __pyx_t_6 = __pyx_t_8(__pyx_t_7); if (unlikely(!__pyx_t_6)) goto __pyx_L5_unpacking_failed;
__Pyx_GOTREF(__pyx_t_6);
if (__Pyx_IternextUnpackEndCheck(__pyx_t_8(__pyx_t_7), 2) < 0) __PYX_ERR(0, 221, __pyx_L1_error)
__pyx_t_8 = NULL;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
goto __pyx_L6_unpacking_done;
__pyx_L5_unpacking_failed:;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
__PYX_ERR(0, 221, __pyx_L1_error)
__pyx_L6_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_5);
__pyx_t_5 = 0;
__Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_6);
__pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":222
* d = {}
* for k,v in dic.items():
* if type(v) == type(''): # <<<<<<<<<<<<<<
* d[k] = self.strValueExpr(v,localnamespace)
* continue
*/
__pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_v)), ((PyObject *)Py_TYPE(__pyx_kp_s__4)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 222, __pyx_L1_error)
__pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 222, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_9) {
/* "kivyblocks/blocks.pyx":223
* for k,v in dic.items():
* if type(v) == type(''):
* d[k] = self.strValueExpr(v,localnamespace) # <<<<<<<<<<<<<<
* continue
* if type(v) == type([]):
*/
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_strValueExpr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 223, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_5 = NULL;
__pyx_t_10 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_6, function);
__pyx_t_10 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_v, __pyx_v_localnamespace};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 223, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_v, __pyx_v_localnamespace};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 223, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
__pyx_t_7 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 223, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_5) {
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
}
__Pyx_INCREF(__pyx_v_v);
__Pyx_GIVEREF(__pyx_v_v);
PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_10, __pyx_v_v);
__Pyx_INCREF(__pyx_v_localnamespace);
__Pyx_GIVEREF(__pyx_v_localnamespace);
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_10, __pyx_v_localnamespace);
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 223, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_d, __pyx_v_k, __pyx_t_1) < 0)) __PYX_ERR(0, 223, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":224
* if type(v) == type(''):
* d[k] = self.strValueExpr(v,localnamespace)
* continue # <<<<<<<<<<<<<<
* if type(v) == type([]):
* d[k] = self.arrayValueExpr(v,localnamespace)
*/
goto __pyx_L3_continue;
/* "kivyblocks/blocks.pyx":222
* d = {}
* for k,v in dic.items():
* if type(v) == type(''): # <<<<<<<<<<<<<<
* d[k] = self.strValueExpr(v,localnamespace)
* continue
*/
}
/* "kivyblocks/blocks.pyx":225
* d[k] = self.strValueExpr(v,localnamespace)
* continue
* if type(v) == type([]): # <<<<<<<<<<<<<<
* d[k] = self.arrayValueExpr(v,localnamespace)
* continue
*/
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 225, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_v)), ((PyObject *)Py_TYPE(__pyx_t_1)), Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 225, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 225, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__pyx_t_9) {
/* "kivyblocks/blocks.pyx":226
* continue
* if type(v) == type([]):
* d[k] = self.arrayValueExpr(v,localnamespace) # <<<<<<<<<<<<<<
* continue
* if type(v) == type({}):
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_arrayValueExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 226, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_7 = NULL;
__pyx_t_10 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_7);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
__pyx_t_10 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_v, __pyx_v_localnamespace};
__pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 226, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_6);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_v, __pyx_v_localnamespace};
__pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 226, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_6);
} else
#endif
{
__pyx_t_5 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 226, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_7) {
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL;
}
__Pyx_INCREF(__pyx_v_v);
__Pyx_GIVEREF(__pyx_v_v);
PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_10, __pyx_v_v);
__Pyx_INCREF(__pyx_v_localnamespace);
__Pyx_GIVEREF(__pyx_v_localnamespace);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_10, __pyx_v_localnamespace);
__pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 226, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_d, __pyx_v_k, __pyx_t_6) < 0)) __PYX_ERR(0, 226, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":227
* if type(v) == type([]):
* d[k] = self.arrayValueExpr(v,localnamespace)
* continue # <<<<<<<<<<<<<<
* if type(v) == type({}):
* d[k] = self.dictValueExpr(v,localnamespace)
*/
goto __pyx_L3_continue;
/* "kivyblocks/blocks.pyx":225
* d[k] = self.strValueExpr(v,localnamespace)
* continue
* if type(v) == type([]): # <<<<<<<<<<<<<<
* d[k] = self.arrayValueExpr(v,localnamespace)
* continue
*/
}
/* "kivyblocks/blocks.pyx":228
* d[k] = self.arrayValueExpr(v,localnamespace)
* continue
* if type(v) == type({}): # <<<<<<<<<<<<<<
* d[k] = self.dictValueExpr(v,localnamespace)
* continue
*/
__pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 228, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_v)), ((PyObject *)Py_TYPE(__pyx_t_6)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 228, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 228, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_9) {
/* "kivyblocks/blocks.pyx":229
* continue
* if type(v) == type({}):
* d[k] = self.dictValueExpr(v,localnamespace) # <<<<<<<<<<<<<<
* continue
* if type(v) == type(DictObject):
*/
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dictValueExpr); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 229, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_5 = NULL;
__pyx_t_10 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_6);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_6, function);
__pyx_t_10 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_v, __pyx_v_localnamespace};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 229, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_v, __pyx_v_localnamespace};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 229, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
__pyx_t_7 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 229, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_5) {
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL;
}
__Pyx_INCREF(__pyx_v_v);
__Pyx_GIVEREF(__pyx_v_v);
PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_10, __pyx_v_v);
__Pyx_INCREF(__pyx_v_localnamespace);
__Pyx_GIVEREF(__pyx_v_localnamespace);
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_10, __pyx_v_localnamespace);
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 229, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_d, __pyx_v_k, __pyx_t_1) < 0)) __PYX_ERR(0, 229, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":230
* if type(v) == type({}):
* d[k] = self.dictValueExpr(v,localnamespace)
* continue # <<<<<<<<<<<<<<
* if type(v) == type(DictObject):
* d[k] = self.dictValueExpr(v,localnamespace)
*/
goto __pyx_L3_continue;
/* "kivyblocks/blocks.pyx":228
* d[k] = self.arrayValueExpr(v,localnamespace)
* continue
* if type(v) == type({}): # <<<<<<<<<<<<<<
* d[k] = self.dictValueExpr(v,localnamespace)
* continue
*/
}
/* "kivyblocks/blocks.pyx":231
* d[k] = self.dictValueExpr(v,localnamespace)
* continue
* if type(v) == type(DictObject): # <<<<<<<<<<<<<<
* d[k] = self.dictValueExpr(v,localnamespace)
* continue
*/
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_DictObject); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 231, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_v)), ((PyObject *)Py_TYPE(__pyx_t_1)), Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 231, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 231, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__pyx_t_9) {
/* "kivyblocks/blocks.pyx":232
* continue
* if type(v) == type(DictObject):
* d[k] = self.dictValueExpr(v,localnamespace) # <<<<<<<<<<<<<<
* continue
* d[k] = v
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dictValueExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 232, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_7 = NULL;
__pyx_t_10 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_7);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
__pyx_t_10 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_v, __pyx_v_localnamespace};
__pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 232, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_6);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_v, __pyx_v_localnamespace};
__pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_10, 2+__pyx_t_10); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 232, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_6);
} else
#endif
{
__pyx_t_5 = PyTuple_New(2+__pyx_t_10); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 232, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_7) {
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_7); __pyx_t_7 = NULL;
}
__Pyx_INCREF(__pyx_v_v);
__Pyx_GIVEREF(__pyx_v_v);
PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_10, __pyx_v_v);
__Pyx_INCREF(__pyx_v_localnamespace);
__Pyx_GIVEREF(__pyx_v_localnamespace);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_10, __pyx_v_localnamespace);
__pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 232, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(PyDict_SetItem(__pyx_v_d, __pyx_v_k, __pyx_t_6) < 0)) __PYX_ERR(0, 232, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":233
* if type(v) == type(DictObject):
* d[k] = self.dictValueExpr(v,localnamespace)
* continue # <<<<<<<<<<<<<<
* d[k] = v
* return d
*/
goto __pyx_L3_continue;
/* "kivyblocks/blocks.pyx":231
* d[k] = self.dictValueExpr(v,localnamespace)
* continue
* if type(v) == type(DictObject): # <<<<<<<<<<<<<<
* d[k] = self.dictValueExpr(v,localnamespace)
* continue
*/
}
/* "kivyblocks/blocks.pyx":234
* d[k] = self.dictValueExpr(v,localnamespace)
* continue
* d[k] = v # <<<<<<<<<<<<<<
* return d
* def valueExpr(self,obj,localnamespace:dict={}):
*/
if (unlikely(PyDict_SetItem(__pyx_v_d, __pyx_v_k, __pyx_v_v) < 0)) __PYX_ERR(0, 234, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":221
* def dictValueExpr(self,dic:dict,localnamespace:dict={}) -> dict:
* d = {}
* for k,v in dic.items(): # <<<<<<<<<<<<<<
* if type(v) == type(''):
* d[k] = self.strValueExpr(v,localnamespace)
*/
__pyx_L3_continue:;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":235
* continue
* d[k] = v
* return d # <<<<<<<<<<<<<<
* def valueExpr(self,obj,localnamespace:dict={}):
* if type(obj) == type(''):
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_d);
__pyx_r = __pyx_v_d;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":219
* return d
*
* def dictValueExpr(self,dic:dict,localnamespace:dict={}) -> dict: # <<<<<<<<<<<<<<
* d = {}
* for k,v in dic.items():
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.dictValueExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_d);
__Pyx_XDECREF(__pyx_v_k);
__Pyx_XDECREF(__pyx_v_v);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":236
* d[k] = v
* return d
* def valueExpr(self,obj,localnamespace:dict={}): # <<<<<<<<<<<<<<
* if type(obj) == type(''):
* return self.strValueExpr(obj,localnamespace)
*/
static PyObject *__pyx_pf_10kivyblocks_6blocks_10__defaults__(CYTHON_UNUSED PyObject *__pyx_self) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__defaults__", 0);
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 236, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__Pyx_CyFunction_Defaults(__pyx_defaults4, __pyx_self)->__pyx_arg_localnamespace);
__Pyx_GIVEREF(__Pyx_CyFunction_Defaults(__pyx_defaults4, __pyx_self)->__pyx_arg_localnamespace);
PyTuple_SET_ITEM(__pyx_t_1, 0, __Pyx_CyFunction_Defaults(__pyx_defaults4, __pyx_self)->__pyx_arg_localnamespace);
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 236, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_2, 1, Py_None);
__pyx_t_1 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_AddTraceback("kivyblocks.blocks.__defaults__", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_19valueExpr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_19valueExpr = {"valueExpr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_19valueExpr, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_19valueExpr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_obj = 0;
PyObject *__pyx_v_localnamespace = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("valueExpr (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_obj,&__pyx_n_s_localnamespace,0};
PyObject* values[3] = {0,0,0};
__pyx_defaults4 *__pyx_dynamic_args = __Pyx_CyFunction_Defaults(__pyx_defaults4, __pyx_self);
values[2] = __pyx_dynamic_args->__pyx_arg_localnamespace;
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_obj)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("valueExpr", 0, 2, 3, 1); __PYX_ERR(0, 236, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_localnamespace);
if (value) { values[2] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "valueExpr") < 0)) __PYX_ERR(0, 236, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_obj = values[1];
__pyx_v_localnamespace = ((PyObject*)values[2]);
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("valueExpr", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 236, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.valueExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_localnamespace), (&PyDict_Type), 1, "localnamespace", 1))) __PYX_ERR(0, 236, __pyx_L1_error)
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_18valueExpr(__pyx_self, __pyx_v_self, __pyx_v_obj, __pyx_v_localnamespace);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_18valueExpr(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_obj, PyObject *__pyx_v_localnamespace) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_t_2;
PyObject *__pyx_t_3 = NULL;
PyObject *__pyx_t_4 = NULL;
int __pyx_t_5;
PyObject *__pyx_t_6 = NULL;
int __pyx_t_7;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("valueExpr", 0);
/* "kivyblocks/blocks.pyx":237
* return d
* def valueExpr(self,obj,localnamespace:dict={}):
* if type(obj) == type(''): # <<<<<<<<<<<<<<
* return self.strValueExpr(obj,localnamespace)
* if type(obj) == type([]):
*/
__pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_obj)), ((PyObject *)Py_TYPE(__pyx_kp_s__4)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 237, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 237, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_2) {
/* "kivyblocks/blocks.pyx":238
* def valueExpr(self,obj,localnamespace:dict={}):
* if type(obj) == type(''):
* return self.strValueExpr(obj,localnamespace) # <<<<<<<<<<<<<<
* if type(obj) == type([]):
* return self.arrayValueExpr(obj,localnamespace)
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_strValueExpr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 238, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_5 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_obj, __pyx_v_localnamespace};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_obj, __pyx_v_localnamespace};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
__pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 238, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
}
__Pyx_INCREF(__pyx_v_obj);
__Pyx_GIVEREF(__pyx_v_obj);
PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_obj);
__Pyx_INCREF(__pyx_v_localnamespace);
__Pyx_GIVEREF(__pyx_v_localnamespace);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_localnamespace);
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":237
* return d
* def valueExpr(self,obj,localnamespace:dict={}):
* if type(obj) == type(''): # <<<<<<<<<<<<<<
* return self.strValueExpr(obj,localnamespace)
* if type(obj) == type([]):
*/
}
/* "kivyblocks/blocks.pyx":239
* if type(obj) == type(''):
* return self.strValueExpr(obj,localnamespace)
* if type(obj) == type([]): # <<<<<<<<<<<<<<
* return self.arrayValueExpr(obj,localnamespace)
* if type(obj) == type({}):
*/
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 239, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_obj)), ((PyObject *)Py_TYPE(__pyx_t_1)), Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 239, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 239, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_2) {
/* "kivyblocks/blocks.pyx":240
* return self.strValueExpr(obj,localnamespace)
* if type(obj) == type([]):
* return self.arrayValueExpr(obj,localnamespace) # <<<<<<<<<<<<<<
* if type(obj) == type({}):
* return self.dictValueExpr(obj,localnamespace)
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_arrayValueExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 240, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
__pyx_t_5 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_obj, __pyx_v_localnamespace};
__pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_obj, __pyx_v_localnamespace};
__pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
{
__pyx_t_4 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 240, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL;
}
__Pyx_INCREF(__pyx_v_obj);
__Pyx_GIVEREF(__pyx_v_obj);
PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_5, __pyx_v_obj);
__Pyx_INCREF(__pyx_v_localnamespace);
__Pyx_GIVEREF(__pyx_v_localnamespace);
PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, __pyx_v_localnamespace);
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 240, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_3;
__pyx_t_3 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":239
* if type(obj) == type(''):
* return self.strValueExpr(obj,localnamespace)
* if type(obj) == type([]): # <<<<<<<<<<<<<<
* return self.arrayValueExpr(obj,localnamespace)
* if type(obj) == type({}):
*/
}
/* "kivyblocks/blocks.pyx":241
* if type(obj) == type([]):
* return self.arrayValueExpr(obj,localnamespace)
* if type(obj) == type({}): # <<<<<<<<<<<<<<
* return self.dictValueExpr(obj,localnamespace)
* if isinstance(obj,DictObject):
*/
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 241, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = PyObject_RichCompare(((PyObject *)Py_TYPE(__pyx_v_obj)), ((PyObject *)Py_TYPE(__pyx_t_3)), Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 241, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 241, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_2) {
/* "kivyblocks/blocks.pyx":242
* return self.arrayValueExpr(obj,localnamespace)
* if type(obj) == type({}):
* return self.dictValueExpr(obj,localnamespace) # <<<<<<<<<<<<<<
* if isinstance(obj,DictObject):
* return self.dictValueExpr(obj,localnamespace)
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dictValueExpr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 242, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_5 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_obj, __pyx_v_localnamespace};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_obj, __pyx_v_localnamespace};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
__pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 242, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
}
__Pyx_INCREF(__pyx_v_obj);
__Pyx_GIVEREF(__pyx_v_obj);
PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_v_obj);
__Pyx_INCREF(__pyx_v_localnamespace);
__Pyx_GIVEREF(__pyx_v_localnamespace);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_localnamespace);
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 242, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":241
* if type(obj) == type([]):
* return self.arrayValueExpr(obj,localnamespace)
* if type(obj) == type({}): # <<<<<<<<<<<<<<
* return self.dictValueExpr(obj,localnamespace)
* if isinstance(obj,DictObject):
*/
}
/* "kivyblocks/blocks.pyx":243
* if type(obj) == type({}):
* return self.dictValueExpr(obj,localnamespace)
* if isinstance(obj,DictObject): # <<<<<<<<<<<<<<
* return self.dictValueExpr(obj,localnamespace)
* return obj
*/
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_DictObject); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 243, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyObject_IsInstance(__pyx_v_obj, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 243, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_7 = (__pyx_t_2 != 0);
if (__pyx_t_7) {
/* "kivyblocks/blocks.pyx":244
* return self.dictValueExpr(obj,localnamespace)
* if isinstance(obj,DictObject):
* return self.dictValueExpr(obj,localnamespace) # <<<<<<<<<<<<<<
* return obj
*
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_dictValueExpr); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_5 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_obj, __pyx_v_localnamespace};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 244, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_obj, __pyx_v_localnamespace};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 244, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
__pyx_t_4 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 244, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_6); __pyx_t_6 = NULL;
}
__Pyx_INCREF(__pyx_v_obj);
__Pyx_GIVEREF(__pyx_v_obj);
PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_5, __pyx_v_obj);
__Pyx_INCREF(__pyx_v_localnamespace);
__Pyx_GIVEREF(__pyx_v_localnamespace);
PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, __pyx_v_localnamespace);
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 244, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":243
* if type(obj) == type({}):
* return self.dictValueExpr(obj,localnamespace)
* if isinstance(obj,DictObject): # <<<<<<<<<<<<<<
* return self.dictValueExpr(obj,localnamespace)
* return obj
*/
}
/* "kivyblocks/blocks.pyx":245
* if isinstance(obj,DictObject):
* return self.dictValueExpr(obj,localnamespace)
* return obj # <<<<<<<<<<<<<<
*
* def w_build(self,desc) -> Widget:
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_obj);
__pyx_r = __pyx_v_obj;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":236
* d[k] = v
* return d
* def valueExpr(self,obj,localnamespace:dict={}): # <<<<<<<<<<<<<<
* if type(obj) == type(''):
* return self.strValueExpr(obj,localnamespace)
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.valueExpr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":247
* return obj
*
* def w_build(self,desc) -> Widget: # <<<<<<<<<<<<<<
* # print('w_build(),desc=',desc)
* widgetClass = desc.get('widgettype',None)
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_21w_build(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_21w_build = {"w_build", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_21w_build, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_21w_build(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_desc = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("w_build (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_desc,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("w_build", 1, 2, 2, 1); __PYX_ERR(0, 247, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "w_build") < 0)) __PYX_ERR(0, 247, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_self = values[0];
__pyx_v_desc = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("w_build", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 247, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.w_build", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_20w_build(__pyx_self, __pyx_v_self, __pyx_v_desc);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_20w_build(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_desc) {
PyObject *__pyx_v_widgetClass = NULL;
PyObject *__pyx_v_opts = NULL;
PyObject *__pyx_v_widget = NULL;
PyObject *__pyx_v_klass = NULL;
CYTHON_UNUSED PyObject *__pyx_v_e = NULL;
PyObject *__pyx_v_id = NULL;
PyObject *__pyx_v_app = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
int __pyx_t_3;
int __pyx_t_4;
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;
PyObject *__pyx_t_14 = NULL;
int __pyx_t_15;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("w_build", 0);
/* "kivyblocks/blocks.pyx":249
* def w_build(self,desc) -> Widget:
* # print('w_build(),desc=',desc)
* widgetClass = desc.get('widgettype',None) # <<<<<<<<<<<<<<
* if not widgetClass:
* Logger.info("Block: w_build(), desc invalid", desc)
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 249, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 249, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_widgetClass = __pyx_t_2;
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":250
* # print('w_build(),desc=',desc)
* widgetClass = desc.get('widgettype',None)
* if not widgetClass: # <<<<<<<<<<<<<<
* Logger.info("Block: w_build(), desc invalid", desc)
* raise Exception(desc)
*/
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_widgetClass); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 250, __pyx_L1_error)
__pyx_t_4 = ((!__pyx_t_3) != 0);
if (unlikely(__pyx_t_4)) {
/* "kivyblocks/blocks.pyx":251
* widgetClass = desc.get('widgettype',None)
* if not widgetClass:
* Logger.info("Block: w_build(), desc invalid", desc) # <<<<<<<<<<<<<<
* raise Exception(desc)
*
*/
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 251, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_info); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 251, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__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_5))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
__pyx_t_6 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_kp_s_Block_w_build_desc_invalid, __pyx_v_desc};
__pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 251, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_kp_s_Block_w_build_desc_invalid, __pyx_v_desc};
__pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 251, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
__pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 251, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_1) {
__Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_1); __pyx_t_1 = NULL;
}
__Pyx_INCREF(__pyx_kp_s_Block_w_build_desc_invalid);
__Pyx_GIVEREF(__pyx_kp_s_Block_w_build_desc_invalid);
PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_kp_s_Block_w_build_desc_invalid);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_desc);
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 251, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":252
* if not widgetClass:
* Logger.info("Block: w_build(), desc invalid", desc)
* raise Exception(desc) # <<<<<<<<<<<<<<
*
* widgetClass = desc['widgettype']
*/
__pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_v_desc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 252, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_Raise(__pyx_t_2, 0, 0, 0);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__PYX_ERR(0, 252, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":250
* # print('w_build(),desc=',desc)
* widgetClass = desc.get('widgettype',None)
* if not widgetClass: # <<<<<<<<<<<<<<
* Logger.info("Block: w_build(), desc invalid", desc)
* raise Exception(desc)
*/
}
/* "kivyblocks/blocks.pyx":254
* raise Exception(desc)
*
* widgetClass = desc['widgettype'] # <<<<<<<<<<<<<<
* opts = self.valueExpr(desc.get('options',{}).copy())
* widget = None
*/
__pyx_t_2 = __Pyx_PyObject_Dict_GetItem(__pyx_v_desc, __pyx_n_s_widgettype); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 254, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF_SET(__pyx_v_widgetClass, __pyx_t_2);
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":255
*
* widgetClass = desc['widgettype']
* opts = self.valueExpr(desc.get('options',{}).copy()) # <<<<<<<<<<<<<<
* widget = None
* try:
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_valueExpr); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 255, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 255, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 255, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_10 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && likely(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_6 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_n_s_options, __pyx_t_9};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 255, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[3] = {__pyx_t_10, __pyx_n_s_options, __pyx_t_9};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 255, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
} else
#endif
{
__pyx_t_11 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 255, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_11);
if (__pyx_t_10) {
__Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_10); __pyx_t_10 = NULL;
}
__Pyx_INCREF(__pyx_n_s_options);
__Pyx_GIVEREF(__pyx_n_s_options);
PyTuple_SET_ITEM(__pyx_t_11, 0+__pyx_t_6, __pyx_n_s_options);
__Pyx_GIVEREF(__pyx_t_9);
PyTuple_SET_ITEM(__pyx_t_11, 1+__pyx_t_6, __pyx_t_9);
__pyx_t_9 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_11, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 255, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_copy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 255, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
}
}
__pyx_t_7 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 255, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
}
}
__pyx_t_2 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_8, __pyx_t_7) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_7);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 255, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_opts = __pyx_t_2;
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":256
* widgetClass = desc['widgettype']
* opts = self.valueExpr(desc.get('options',{}).copy())
* widget = None # <<<<<<<<<<<<<<
* try:
* klass = Factory.get(widgetClass)
*/
__Pyx_INCREF(Py_None);
__pyx_v_widget = Py_None;
/* "kivyblocks/blocks.pyx":257
* opts = self.valueExpr(desc.get('options',{}).copy())
* widget = None
* try: # <<<<<<<<<<<<<<
* klass = Factory.get(widgetClass)
* widget = klass(**opts)
*/
{
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ExceptionSave(&__pyx_t_12, &__pyx_t_13, &__pyx_t_14);
__Pyx_XGOTREF(__pyx_t_12);
__Pyx_XGOTREF(__pyx_t_13);
__Pyx_XGOTREF(__pyx_t_14);
/*try:*/ {
/* "kivyblocks/blocks.pyx":258
* widget = None
* try:
* klass = Factory.get(widgetClass) # <<<<<<<<<<<<<<
* widget = klass(**opts)
* except Exception as e:
*/
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Factory); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 258, __pyx_L4_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_get); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 258, __pyx_L4_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_7, function);
}
}
__pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_5, __pyx_v_widgetClass) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_widgetClass);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 258, __pyx_L4_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_v_klass = __pyx_t_2;
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":259
* try:
* klass = Factory.get(widgetClass)
* widget = klass(**opts) # <<<<<<<<<<<<<<
* except Exception as e:
* print('Error:',widgetClass,'contructon error')
*/
if (unlikely(__pyx_v_opts == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
__PYX_ERR(0, 259, __pyx_L4_error)
}
if (likely(PyDict_CheckExact(__pyx_v_opts))) {
__pyx_t_2 = PyDict_Copy(__pyx_v_opts); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 259, __pyx_L4_error)
__Pyx_GOTREF(__pyx_t_2);
} else {
__pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_opts, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 259, __pyx_L4_error)
__Pyx_GOTREF(__pyx_t_2);
}
__pyx_t_7 = __Pyx_PyObject_Call(__pyx_v_klass, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 259, __pyx_L4_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_widget, __pyx_t_7);
__pyx_t_7 = 0;
/* "kivyblocks/blocks.pyx":257
* opts = self.valueExpr(desc.get('options',{}).copy())
* widget = None
* try: # <<<<<<<<<<<<<<
* klass = Factory.get(widgetClass)
* widget = klass(**opts)
*/
}
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0;
__Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
goto __pyx_L9_try_end;
__pyx_L4_error:;
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
/* "kivyblocks/blocks.pyx":260
* klass = Factory.get(widgetClass)
* widget = klass(**opts)
* except Exception as e: # <<<<<<<<<<<<<<
* print('Error:',widgetClass,'contructon error')
* print_exc()
*/
__pyx_t_6 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_6) {
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.w_build", __pyx_clineno, __pyx_lineno, __pyx_filename);
if (__Pyx_GetException(&__pyx_t_7, &__pyx_t_2, &__pyx_t_5) < 0) __PYX_ERR(0, 260, __pyx_L6_except_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_2);
__pyx_v_e = __pyx_t_2;
/* "kivyblocks/blocks.pyx":261
* widget = klass(**opts)
* except Exception as e:
* print('Error:',widgetClass,'contructon error') # <<<<<<<<<<<<<<
* print_exc()
* raise NotExistsObject(widgetClass)
*/
__pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 261, __pyx_L6_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_INCREF(__pyx_kp_s_Error);
__Pyx_GIVEREF(__pyx_kp_s_Error);
PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_kp_s_Error);
__Pyx_INCREF(__pyx_v_widgetClass);
__Pyx_GIVEREF(__pyx_v_widgetClass);
PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_widgetClass);
__Pyx_INCREF(__pyx_kp_s_contructon_error);
__Pyx_GIVEREF(__pyx_kp_s_contructon_error);
PyTuple_SET_ITEM(__pyx_t_8, 2, __pyx_kp_s_contructon_error);
if (__Pyx_PrintOne(0, __pyx_t_8) < 0) __PYX_ERR(0, 261, __pyx_L6_except_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":262
* except Exception as e:
* print('Error:',widgetClass,'contructon error')
* print_exc() # <<<<<<<<<<<<<<
* raise NotExistsObject(widgetClass)
*
*/
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_print_exc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 262, __pyx_L6_except_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_11 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_11 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_11)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_11);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
}
}
__pyx_t_8 = (__pyx_t_11) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_11) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 262, __pyx_L6_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":263
* print('Error:',widgetClass,'contructon error')
* print_exc()
* raise NotExistsObject(widgetClass) # <<<<<<<<<<<<<<
*
* if desc.get('id'):
*/
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_NotExistsObject); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 263, __pyx_L6_except_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_11 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_11 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_11)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_11);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
}
}
__pyx_t_8 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_11, __pyx_v_widgetClass) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_widgetClass);
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 263, __pyx_L6_except_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_Raise(__pyx_t_8, 0, 0, 0);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__PYX_ERR(0, 263, __pyx_L6_except_error)
}
goto __pyx_L6_except_error;
__pyx_L6_except_error:;
/* "kivyblocks/blocks.pyx":257
* opts = self.valueExpr(desc.get('options',{}).copy())
* widget = None
* try: # <<<<<<<<<<<<<<
* klass = Factory.get(widgetClass)
* widget = klass(**opts)
*/
__Pyx_XGIVEREF(__pyx_t_12);
__Pyx_XGIVEREF(__pyx_t_13);
__Pyx_XGIVEREF(__pyx_t_14);
__Pyx_ExceptionReset(__pyx_t_12, __pyx_t_13, __pyx_t_14);
goto __pyx_L1_error;
__pyx_L9_try_end:;
}
/* "kivyblocks/blocks.pyx":265
* raise NotExistsObject(widgetClass)
*
* if desc.get('id'): # <<<<<<<<<<<<<<
* id = desc.get('id')
* if id.startswith('app.'):
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 265, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_7);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_7, __pyx_n_s_id) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_id);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 265, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 265, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":266
*
* if desc.get('id'):
* id = desc.get('id') # <<<<<<<<<<<<<<
* if id.startswith('app.'):
* app = App.get_running_app()
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 266, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_7);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_7, __pyx_n_s_id) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_id);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 266, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_id = __pyx_t_5;
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":267
* if desc.get('id'):
* id = desc.get('id')
* if id.startswith('app.'): # <<<<<<<<<<<<<<
* app = App.get_running_app()
* id = id[4:]
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_id, __pyx_n_s_startswith); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 267, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_7);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_7, __pyx_kp_s_app) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_s_app);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 267, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 267, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":268
* id = desc.get('id')
* if id.startswith('app.'):
* app = App.get_running_app() # <<<<<<<<<<<<<<
* id = id[4:]
* setattr(app, id, widget)
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_App); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 268, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get_running_app); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 268, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_7, function);
}
}
__pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 268, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_v_app = __pyx_t_5;
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":269
* if id.startswith('app.'):
* app = App.get_running_app()
* id = id[4:] # <<<<<<<<<<<<<<
* setattr(app, id, widget)
* if id.startswith('root.'):
*/
__pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_id, 4, 0, NULL, NULL, &__pyx_slice__6, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 269, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF_SET(__pyx_v_id, __pyx_t_5);
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":270
* app = App.get_running_app()
* id = id[4:]
* setattr(app, id, widget) # <<<<<<<<<<<<<<
* if id.startswith('root.'):
* app = App.get_running_app()
*/
__pyx_t_15 = PyObject_SetAttr(__pyx_v_app, __pyx_v_id, __pyx_v_widget); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 270, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":267
* if desc.get('id'):
* id = desc.get('id')
* if id.startswith('app.'): # <<<<<<<<<<<<<<
* app = App.get_running_app()
* id = id[4:]
*/
}
/* "kivyblocks/blocks.pyx":271
* id = id[4:]
* setattr(app, id, widget)
* if id.startswith('root.'): # <<<<<<<<<<<<<<
* app = App.get_running_app()
* id = id[5:]
*/
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_id, __pyx_n_s_startswith); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 271, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_7, function);
}
}
__pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_2, __pyx_kp_s_root) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_kp_s_root);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 271, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 271, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":272
* setattr(app, id, widget)
* if id.startswith('root.'):
* app = App.get_running_app() # <<<<<<<<<<<<<<
* id = id[5:]
* setattr(app.root, id, widget)
*/
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_App); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 272, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_get_running_app); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 272, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_7);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_7) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 272, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF_SET(__pyx_v_app, __pyx_t_5);
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":273
* if id.startswith('root.'):
* app = App.get_running_app()
* id = id[5:] # <<<<<<<<<<<<<<
* setattr(app.root, id, widget)
*
*/
__pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_id, 5, 0, NULL, NULL, &__pyx_slice__7, 1, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 273, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF_SET(__pyx_v_id, __pyx_t_5);
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":274
* app = App.get_running_app()
* id = id[5:]
* setattr(app.root, id, widget) # <<<<<<<<<<<<<<
*
* if '.' in id:
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_app, __pyx_n_s_root_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 274, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_15 = PyObject_SetAttr(__pyx_t_5, __pyx_v_id, __pyx_v_widget); if (unlikely(__pyx_t_15 == ((int)-1))) __PYX_ERR(0, 274, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":271
* id = id[4:]
* setattr(app, id, widget)
* if id.startswith('root.'): # <<<<<<<<<<<<<<
* app = App.get_running_app()
* id = id[5:]
*/
}
/* "kivyblocks/blocks.pyx":276
* setattr(app.root, id, widget)
*
* if '.' in id: # <<<<<<<<<<<<<<
* Logger.info('widget id(%s) can not contain "."', id)
* else:
*/
__pyx_t_4 = (__Pyx_PySequence_ContainsTF(__pyx_kp_s__8, __pyx_v_id, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 276, __pyx_L1_error)
__pyx_t_3 = (__pyx_t_4 != 0);
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":277
*
* if '.' in id:
* Logger.info('widget id(%s) can not contain "."', id) # <<<<<<<<<<<<<<
* else:
* widget.widget_id = id
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 277, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 277, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_7, function);
__pyx_t_6 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_s_widget_id_s_can_not_contain, __pyx_v_id};
__pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 277, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_s_widget_id_s_can_not_contain, __pyx_v_id};
__pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 277, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
__pyx_t_8 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 277, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_2) {
__Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __pyx_t_2 = NULL;
}
__Pyx_INCREF(__pyx_kp_s_widget_id_s_can_not_contain);
__Pyx_GIVEREF(__pyx_kp_s_widget_id_s_can_not_contain);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_6, __pyx_kp_s_widget_id_s_can_not_contain);
__Pyx_INCREF(__pyx_v_id);
__Pyx_GIVEREF(__pyx_v_id);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_6, __pyx_v_id);
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 277, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":276
* setattr(app.root, id, widget)
*
* if '.' in id: # <<<<<<<<<<<<<<
* Logger.info('widget id(%s) can not contain "."', id)
* else:
*/
goto __pyx_L15;
}
/* "kivyblocks/blocks.pyx":279
* Logger.info('widget id(%s) can not contain "."', id)
* else:
* widget.widget_id = id # <<<<<<<<<<<<<<
*
* widget.build_desc = desc
*/
/*else*/ {
if (__Pyx_PyObject_SetAttrStr(__pyx_v_widget, __pyx_n_s_widget_id, __pyx_v_id) < 0) __PYX_ERR(0, 279, __pyx_L1_error)
}
__pyx_L15:;
/* "kivyblocks/blocks.pyx":265
* raise NotExistsObject(widgetClass)
*
* if desc.get('id'): # <<<<<<<<<<<<<<
* id = desc.get('id')
* if id.startswith('app.'):
*/
}
/* "kivyblocks/blocks.pyx":281
* widget.widget_id = id
*
* widget.build_desc = desc # <<<<<<<<<<<<<<
* self.build_attributes(widget,desc)
* self.build_rest(widget,desc)
*/
if (__Pyx_PyObject_SetAttrStr(__pyx_v_widget, __pyx_n_s_build_desc, __pyx_v_desc) < 0) __PYX_ERR(0, 281, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":282
*
* widget.build_desc = desc
* self.build_attributes(widget,desc) # <<<<<<<<<<<<<<
* self.build_rest(widget,desc)
* return widget
*/
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_build_attributes); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 282, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_8 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_7, function);
__pyx_t_6 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_widget, __pyx_v_desc};
__pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 282, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_widget, __pyx_v_desc};
__pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 282, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
__pyx_t_2 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 282, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8); __pyx_t_8 = NULL;
}
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_6, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_6, __pyx_v_desc);
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_2, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 282, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":283
* widget.build_desc = desc
* self.build_attributes(widget,desc)
* self.build_rest(widget,desc) # <<<<<<<<<<<<<<
* return widget
*
*/
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_build_rest); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 283, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_2 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_7, function);
__pyx_t_6 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_widget, __pyx_v_desc};
__pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 283, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_widget, __pyx_v_desc};
__pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 283, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
__pyx_t_8 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 283, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_2) {
__Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_2); __pyx_t_2 = NULL;
}
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_6, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_6, __pyx_v_desc);
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 283, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":284
* self.build_attributes(widget,desc)
* self.build_rest(widget,desc)
* return widget # <<<<<<<<<<<<<<
*
* def build_attributes(self, widget:Widget,desc,t=None):
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_widget);
__pyx_r = __pyx_v_widget;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":247
* return obj
*
* def w_build(self,desc) -> Widget: # <<<<<<<<<<<<<<
* # print('w_build(),desc=',desc)
* widgetClass = desc.get('widgettype',None)
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.w_build", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_widgetClass);
__Pyx_XDECREF(__pyx_v_opts);
__Pyx_XDECREF(__pyx_v_widget);
__Pyx_XDECREF(__pyx_v_klass);
__Pyx_XDECREF(__pyx_v_e);
__Pyx_XDECREF(__pyx_v_id);
__Pyx_XDECREF(__pyx_v_app);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":286
* return widget
*
* def build_attributes(self, widget:Widget,desc,t=None): # <<<<<<<<<<<<<<
* excludes = ['widgettype','options','subwidgets','binds']
* for k,v in [(k,v) for k,v in desc.items() if k not in excludes]:
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_23build_attributes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_23build_attributes = {"build_attributes", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_23build_attributes, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_23build_attributes(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_widget = 0;
PyObject *__pyx_v_desc = 0;
CYTHON_UNUSED PyObject *__pyx_v_t = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("build_attributes (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_widget,&__pyx_n_s_desc,&__pyx_n_s_t,0};
PyObject* values[4] = {0,0,0,0};
values[3] = ((PyObject *)((PyObject *)Py_None));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("build_attributes", 0, 3, 4, 1); __PYX_ERR(0, 286, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("build_attributes", 0, 3, 4, 2); __PYX_ERR(0, 286, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t);
if (value) { values[3] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "build_attributes") < 0)) __PYX_ERR(0, 286, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_widget = values[1];
__pyx_v_desc = values[2];
__pyx_v_t = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("build_attributes", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 286, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.build_attributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_22build_attributes(__pyx_self, __pyx_v_self, __pyx_v_widget, __pyx_v_desc, __pyx_v_t);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_22build_attributes(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, CYTHON_UNUSED PyObject *__pyx_v_t) {
PyObject *__pyx_v_excludes = NULL;
PyObject *__pyx_v_k = NULL;
PyObject *__pyx_v_v = NULL;
PyObject *__pyx_v_b = NULL;
PyObject *__pyx_v_w = NULL;
PyObject *__pyx_v_aw = NULL;
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;
Py_ssize_t __pyx_t_5;
PyObject *(*__pyx_t_6)(PyObject *);
PyObject *__pyx_t_7 = NULL;
PyObject *__pyx_t_8 = NULL;
PyObject *(*__pyx_t_9)(PyObject *);
int __pyx_t_10;
int __pyx_t_11;
int __pyx_t_12;
int __pyx_t_13;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("build_attributes", 0);
/* "kivyblocks/blocks.pyx":287
*
* def build_attributes(self, widget:Widget,desc,t=None):
* excludes = ['widgettype','options','subwidgets','binds'] # <<<<<<<<<<<<<<
* for k,v in [(k,v) for k,v in desc.items() if k not in excludes]:
* if isinstance(v,dict) and v.get('widgettype'):
*/
__pyx_t_1 = PyList_New(4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 287, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_widgettype);
__Pyx_GIVEREF(__pyx_n_s_widgettype);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_widgettype);
__Pyx_INCREF(__pyx_n_s_options);
__Pyx_GIVEREF(__pyx_n_s_options);
PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_options);
__Pyx_INCREF(__pyx_n_s_subwidgets);
__Pyx_GIVEREF(__pyx_n_s_subwidgets);
PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_subwidgets);
__Pyx_INCREF(__pyx_n_s_binds);
__Pyx_GIVEREF(__pyx_n_s_binds);
PyList_SET_ITEM(__pyx_t_1, 3, __pyx_n_s_binds);
__pyx_v_excludes = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":288
* def build_attributes(self, widget:Widget,desc,t=None):
* excludes = ['widgettype','options','subwidgets','binds']
* for k,v in [(k,v) for k,v in desc.items() if k not in excludes]: # <<<<<<<<<<<<<<
* if isinstance(v,dict) and v.get('widgettype'):
* b = Blocks()
*/
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 288, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 288, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 288, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
__pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
__pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 288, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 288, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
for (;;) {
if (likely(!__pyx_t_6)) {
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 288, __pyx_L1_error)
#else
__pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 288, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
} else {
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 288, __pyx_L1_error)
#else
__pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 288, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
}
} else {
__pyx_t_2 = __pyx_t_6(__pyx_t_3);
if (unlikely(!__pyx_t_2)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 288, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_2);
}
if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
PyObject* sequence = __pyx_t_2;
Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
__PYX_ERR(0, 288, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
__pyx_t_4 = PyTuple_GET_ITEM(sequence, 0);
__pyx_t_7 = PyTuple_GET_ITEM(sequence, 1);
} else {
__pyx_t_4 = PyList_GET_ITEM(sequence, 0);
__pyx_t_7 = PyList_GET_ITEM(sequence, 1);
}
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(__pyx_t_7);
#else
__pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 288, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 288, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else {
Py_ssize_t index = -1;
__pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 288, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext;
index = 0; __pyx_t_4 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_4)) goto __pyx_L7_unpacking_failed;
__Pyx_GOTREF(__pyx_t_4);
index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L7_unpacking_failed;
__Pyx_GOTREF(__pyx_t_7);
if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) __PYX_ERR(0, 288, __pyx_L1_error)
__pyx_t_9 = NULL;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
goto __pyx_L8_unpacking_done;
__pyx_L7_unpacking_failed:;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_9 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
__PYX_ERR(0, 288, __pyx_L1_error)
__pyx_L8_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_4);
__pyx_t_4 = 0;
__Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_7);
__pyx_t_7 = 0;
__pyx_t_10 = (__Pyx_PySequence_ContainsTF(__pyx_v_k, __pyx_v_excludes, Py_NE)); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 288, __pyx_L1_error)
__pyx_t_11 = (__pyx_t_10 != 0);
if (__pyx_t_11) {
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 288, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_k);
__Pyx_GIVEREF(__pyx_v_k);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_k);
__Pyx_INCREF(__pyx_v_v);
__Pyx_GIVEREF(__pyx_v_v);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_v);
if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_2))) __PYX_ERR(0, 288, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 288, __pyx_L1_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 288, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) {
PyObject* sequence = __pyx_t_1;
Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
__PYX_ERR(0, 288, __pyx_L1_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
__pyx_t_2 = PyTuple_GET_ITEM(sequence, 0);
__pyx_t_7 = PyTuple_GET_ITEM(sequence, 1);
} else {
__pyx_t_2 = PyList_GET_ITEM(sequence, 0);
__pyx_t_7 = PyList_GET_ITEM(sequence, 1);
}
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(__pyx_t_7);
#else
__pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 288, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 288, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else {
Py_ssize_t index = -1;
__pyx_t_4 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 288, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_9 = Py_TYPE(__pyx_t_4)->tp_iternext;
index = 0; __pyx_t_2 = __pyx_t_9(__pyx_t_4); if (unlikely(!__pyx_t_2)) goto __pyx_L10_unpacking_failed;
__Pyx_GOTREF(__pyx_t_2);
index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_4); if (unlikely(!__pyx_t_7)) goto __pyx_L10_unpacking_failed;
__Pyx_GOTREF(__pyx_t_7);
if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_4), 2) < 0) __PYX_ERR(0, 288, __pyx_L1_error)
__pyx_t_9 = NULL;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
goto __pyx_L11_unpacking_done;
__pyx_L10_unpacking_failed:;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_9 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
__PYX_ERR(0, 288, __pyx_L1_error)
__pyx_L11_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_v_k, __pyx_t_2);
__pyx_t_2 = 0;
__Pyx_XDECREF_SET(__pyx_v_v, __pyx_t_7);
__pyx_t_7 = 0;
/* "kivyblocks/blocks.pyx":289
* excludes = ['widgettype','options','subwidgets','binds']
* for k,v in [(k,v) for k,v in desc.items() if k not in excludes]:
* if isinstance(v,dict) and v.get('widgettype'): # <<<<<<<<<<<<<<
* b = Blocks()
* v = self.valueExpr(v, localnamespace={'self':widget})
*/
__pyx_t_10 = PyDict_Check(__pyx_v_v);
__pyx_t_12 = (__pyx_t_10 != 0);
if (__pyx_t_12) {
} else {
__pyx_t_11 = __pyx_t_12;
goto __pyx_L13_bool_binop_done;
}
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_v, __pyx_n_s_get); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 289, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_7, function);
}
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_2, __pyx_n_s_widgettype) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_n_s_widgettype);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 289, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 289, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_11 = __pyx_t_12;
__pyx_L13_bool_binop_done:;
if (__pyx_t_11) {
/* "kivyblocks/blocks.pyx":290
* for k,v in [(k,v) for k,v in desc.items() if k not in excludes]:
* if isinstance(v,dict) and v.get('widgettype'):
* b = Blocks() # <<<<<<<<<<<<<<
* v = self.valueExpr(v, localnamespace={'self':widget})
* w = b.w_build(v)
*/
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_Blocks); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 290, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_7, function);
}
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 290, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":291
* if isinstance(v,dict) and v.get('widgettype'):
* b = Blocks()
* v = self.valueExpr(v, localnamespace={'self':widget}) # <<<<<<<<<<<<<<
* w = b.w_build(v)
* if hasattr(widget,k):
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_valueExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 291, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_7 = PyTuple_New(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 291, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_INCREF(__pyx_v_v);
__Pyx_GIVEREF(__pyx_v_v);
PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_v_v);
__pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 291, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 291, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_self, __pyx_v_widget) < 0) __PYX_ERR(0, 291, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_localnamespace, __pyx_t_4) < 0) __PYX_ERR(0, 291, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 291, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF_SET(__pyx_v_v, __pyx_t_4);
__pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":292
* b = Blocks()
* v = self.valueExpr(v, localnamespace={'self':widget})
* w = b.w_build(v) # <<<<<<<<<<<<<<
* if hasattr(widget,k):
* aw = getattr(widget,k)
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_b, __pyx_n_s_w_build); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 292, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_7);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_7, __pyx_v_v) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_v);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 292, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_4);
__pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":293
* v = self.valueExpr(v, localnamespace={'self':widget})
* w = b.w_build(v)
* if hasattr(widget,k): # <<<<<<<<<<<<<<
* aw = getattr(widget,k)
* if isinstance(aw,Layout):
*/
__pyx_t_11 = __Pyx_HasAttr(__pyx_v_widget, __pyx_v_k); if (unlikely(__pyx_t_11 == ((int)-1))) __PYX_ERR(0, 293, __pyx_L1_error)
__pyx_t_12 = (__pyx_t_11 != 0);
if (__pyx_t_12) {
/* "kivyblocks/blocks.pyx":294
* w = b.w_build(v)
* if hasattr(widget,k):
* aw = getattr(widget,k) # <<<<<<<<<<<<<<
* if isinstance(aw,Layout):
* aw.add_widget(w)
*/
__pyx_t_4 = __Pyx_GetAttr(__pyx_v_widget, __pyx_v_k); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 294, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_XDECREF_SET(__pyx_v_aw, __pyx_t_4);
__pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":295
* if hasattr(widget,k):
* aw = getattr(widget,k)
* if isinstance(aw,Layout): # <<<<<<<<<<<<<<
* aw.add_widget(w)
* continue
*/
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Layout); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 295, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_12 = PyObject_IsInstance(__pyx_v_aw, __pyx_t_4); if (unlikely(__pyx_t_12 == ((int)-1))) __PYX_ERR(0, 295, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_11 = (__pyx_t_12 != 0);
if (__pyx_t_11) {
/* "kivyblocks/blocks.pyx":296
* aw = getattr(widget,k)
* if isinstance(aw,Layout):
* aw.add_widget(w) # <<<<<<<<<<<<<<
* continue
* setattr(widget,k,w)
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_aw, __pyx_n_s_add_widget); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 296, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_7);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_4 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_7, __pyx_v_w) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_w);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 296, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":297
* if isinstance(aw,Layout):
* aw.add_widget(w)
* continue # <<<<<<<<<<<<<<
* setattr(widget,k,w)
* continue
*/
goto __pyx_L3_continue;
/* "kivyblocks/blocks.pyx":295
* if hasattr(widget,k):
* aw = getattr(widget,k)
* if isinstance(aw,Layout): # <<<<<<<<<<<<<<
* aw.add_widget(w)
* continue
*/
}
/* "kivyblocks/blocks.pyx":293
* v = self.valueExpr(v, localnamespace={'self':widget})
* w = b.w_build(v)
* if hasattr(widget,k): # <<<<<<<<<<<<<<
* aw = getattr(widget,k)
* if isinstance(aw,Layout):
*/
}
/* "kivyblocks/blocks.pyx":298
* aw.add_widget(w)
* continue
* setattr(widget,k,w) # <<<<<<<<<<<<<<
* continue
* setattr(widget,k,self.valueExpr(v,\
*/
__pyx_t_13 = PyObject_SetAttr(__pyx_v_widget, __pyx_v_k, __pyx_v_w); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 298, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":299
* continue
* setattr(widget,k,w)
* continue # <<<<<<<<<<<<<<
* setattr(widget,k,self.valueExpr(v,\
* localnamespace={'self':widget}))
*/
goto __pyx_L3_continue;
/* "kivyblocks/blocks.pyx":289
* excludes = ['widgettype','options','subwidgets','binds']
* for k,v in [(k,v) for k,v in desc.items() if k not in excludes]:
* if isinstance(v,dict) and v.get('widgettype'): # <<<<<<<<<<<<<<
* b = Blocks()
* v = self.valueExpr(v, localnamespace={'self':widget})
*/
}
/* "kivyblocks/blocks.pyx":300
* setattr(widget,k,w)
* continue
* setattr(widget,k,self.valueExpr(v,\ # <<<<<<<<<<<<<<
* localnamespace={'self':widget}))
*
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_valueExpr); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 300, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 300, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_v);
__Pyx_GIVEREF(__pyx_v_v);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_v);
/* "kivyblocks/blocks.pyx":301
* continue
* setattr(widget,k,self.valueExpr(v,\
* localnamespace={'self':widget})) # <<<<<<<<<<<<<<
*
* def build_rest(self, widget:Widget,desc,t=None):
*/
__pyx_t_7 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 301, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 301, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_self, __pyx_v_widget) < 0) __PYX_ERR(0, 301, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_7, __pyx_n_s_localnamespace, __pyx_t_1) < 0) __PYX_ERR(0, 301, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":300
* setattr(widget,k,w)
* continue
* setattr(widget,k,self.valueExpr(v,\ # <<<<<<<<<<<<<<
* localnamespace={'self':widget}))
*
*/
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_2, __pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 300, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__pyx_t_13 = PyObject_SetAttr(__pyx_v_widget, __pyx_v_k, __pyx_t_1); if (unlikely(__pyx_t_13 == ((int)-1))) __PYX_ERR(0, 300, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":288
* def build_attributes(self, widget:Widget,desc,t=None):
* excludes = ['widgettype','options','subwidgets','binds']
* for k,v in [(k,v) for k,v in desc.items() if k not in excludes]: # <<<<<<<<<<<<<<
* if isinstance(v,dict) and v.get('widgettype'):
* b = Blocks()
*/
__pyx_L3_continue:;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":286
* return widget
*
* def build_attributes(self, widget:Widget,desc,t=None): # <<<<<<<<<<<<<<
* excludes = ['widgettype','options','subwidgets','binds']
* for k,v in [(k,v) for k,v in desc.items() if k not in excludes]:
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.build_attributes", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_excludes);
__Pyx_XDECREF(__pyx_v_k);
__Pyx_XDECREF(__pyx_v_v);
__Pyx_XDECREF(__pyx_v_b);
__Pyx_XDECREF(__pyx_v_w);
__Pyx_XDECREF(__pyx_v_aw);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":303
* localnamespace={'self':widget}))
*
* def build_rest(self, widget:Widget,desc,t=None): # <<<<<<<<<<<<<<
* self.subwidget_total = len(desc.get('subwidgets',[]))
* self.subwidgets = [ None for i in range(self.subwidget_total)]
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_25build_rest(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_25build_rest = {"build_rest", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_25build_rest, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_25build_rest(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_widget = 0;
PyObject *__pyx_v_desc = 0;
CYTHON_UNUSED PyObject *__pyx_v_t = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("build_rest (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_widget,&__pyx_n_s_desc,&__pyx_n_s_t,0};
PyObject* values[4] = {0,0,0,0};
values[3] = ((PyObject *)((PyObject *)Py_None));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("build_rest", 0, 3, 4, 1); __PYX_ERR(0, 303, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("build_rest", 0, 3, 4, 2); __PYX_ERR(0, 303, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_t);
if (value) { values[3] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "build_rest") < 0)) __PYX_ERR(0, 303, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_widget = values[1];
__pyx_v_desc = values[2];
__pyx_v_t = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("build_rest", 0, 3, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 303, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.build_rest", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_24build_rest(__pyx_self, __pyx_v_self, __pyx_v_widget, __pyx_v_desc, __pyx_v_t);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_24build_rest(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, CYTHON_UNUSED PyObject *__pyx_v_t) {
CYTHON_UNUSED int __pyx_v_pos;
PyObject *__pyx_v_sw = NULL;
PyObject *__pyx_v_b = NULL;
PyObject *__pyx_v_kw = NULL;
PyObject *__pyx_v_w = NULL;
CYTHON_UNUSED PyObject *__pyx_v_i = NULL;
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;
int __pyx_t_5;
PyObject *__pyx_t_6 = NULL;
Py_ssize_t __pyx_t_7;
PyObject *(*__pyx_t_8)(PyObject *);
int __pyx_t_9;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("build_rest", 0);
/* "kivyblocks/blocks.pyx":304
*
* def build_rest(self, widget:Widget,desc,t=None):
* self.subwidget_total = len(desc.get('subwidgets',[])) # <<<<<<<<<<<<<<
* self.subwidgets = [ None for i in range(self.subwidget_total)]
* cdef int pos = 0
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 304, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 304, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_5 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_n_s_subwidgets, __pyx_t_3};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 304, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_n_s_subwidgets, __pyx_t_3};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 304, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
{
__pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 304, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
}
__Pyx_INCREF(__pyx_n_s_subwidgets);
__Pyx_GIVEREF(__pyx_n_s_subwidgets);
PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_n_s_subwidgets);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_3);
__pyx_t_3 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 304, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_7 = PyObject_Length(__pyx_t_1); if (unlikely(__pyx_t_7 == ((Py_ssize_t)-1))) __PYX_ERR(0, 304, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = PyInt_FromSsize_t(__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 304, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_subwidget_total, __pyx_t_1) < 0) __PYX_ERR(0, 304, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":305
* def build_rest(self, widget:Widget,desc,t=None):
* self.subwidget_total = len(desc.get('subwidgets',[]))
* self.subwidgets = [ None for i in range(self.subwidget_total)] # <<<<<<<<<<<<<<
* cdef int pos = 0
* for pos,sw in enumerate(desc.get('subwidgets',[])):
*/
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_subwidget_total); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 305, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_range, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 305, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) {
__pyx_t_2 = __pyx_t_6; __Pyx_INCREF(__pyx_t_2); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
} else {
__pyx_t_7 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 305, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_8 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 305, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
for (;;) {
if (likely(!__pyx_t_8)) {
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_6 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 305, __pyx_L1_error)
#else
__pyx_t_6 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 305, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
} else {
if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_6); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 305, __pyx_L1_error)
#else
__pyx_t_6 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 305, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
#endif
}
} else {
__pyx_t_6 = __pyx_t_8(__pyx_t_2);
if (unlikely(!__pyx_t_6)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 305, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_6);
}
__Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_6);
__pyx_t_6 = 0;
if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)Py_None))) __PYX_ERR(0, 305, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_subwidgets, __pyx_t_1) < 0) __PYX_ERR(0, 305, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":306
* self.subwidget_total = len(desc.get('subwidgets',[]))
* self.subwidgets = [ None for i in range(self.subwidget_total)]
* cdef int pos = 0 # <<<<<<<<<<<<<<
* for pos,sw in enumerate(desc.get('subwidgets',[])):
* b = Blocks()
*/
__pyx_v_pos = 0;
/* "kivyblocks/blocks.pyx":307
* self.subwidgets = [ None for i in range(self.subwidget_total)]
* cdef int pos = 0
* for pos,sw in enumerate(desc.get('subwidgets',[])): # <<<<<<<<<<<<<<
* b = Blocks()
* kw = self.valueExpr(sw.copy(),
*/
__pyx_t_5 = 0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_6 = PyList_New(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 307, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_3 = NULL;
__pyx_t_9 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_9 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_n_s_subwidgets, __pyx_t_6};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_n_s_subwidgets, __pyx_t_6};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_9, 2+__pyx_t_9); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
{
__pyx_t_4 = PyTuple_New(2+__pyx_t_9); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 307, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_n_s_subwidgets);
__Pyx_GIVEREF(__pyx_n_s_subwidgets);
PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_9, __pyx_n_s_subwidgets);
__Pyx_GIVEREF(__pyx_t_6);
PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_9, __pyx_t_6);
__pyx_t_6 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
} else {
__pyx_t_7 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 307, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_8 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 307, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
if (likely(!__pyx_t_8)) {
if (likely(PyList_CheckExact(__pyx_t_2))) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 307, __pyx_L1_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_2)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 307, __pyx_L1_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 307, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
} else {
__pyx_t_1 = __pyx_t_8(__pyx_t_2);
if (unlikely(!__pyx_t_1)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 307, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_1);
}
__Pyx_XDECREF_SET(__pyx_v_sw, __pyx_t_1);
__pyx_t_1 = 0;
__pyx_v_pos = __pyx_t_5;
__pyx_t_5 = (__pyx_t_5 + 1);
/* "kivyblocks/blocks.pyx":308
* cdef int pos = 0
* for pos,sw in enumerate(desc.get('subwidgets',[])):
* b = Blocks() # <<<<<<<<<<<<<<
* kw = self.valueExpr(sw.copy(),
* localnamespace={'self':widget})
*/
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Blocks); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 308, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
}
}
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 308, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":309
* for pos,sw in enumerate(desc.get('subwidgets',[])):
* b = Blocks()
* kw = self.valueExpr(sw.copy(), # <<<<<<<<<<<<<<
* localnamespace={'self':widget})
* w = b.widgetBuild(kw)
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_valueExpr); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 309, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_sw, __pyx_n_s_copy); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 309, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_6);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_6, function);
}
}
__pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 309, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = PyTuple_New(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 309, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GIVEREF(__pyx_t_4);
PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4);
__pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":310
* b = Blocks()
* kw = self.valueExpr(sw.copy(),
* localnamespace={'self':widget}) # <<<<<<<<<<<<<<
* w = b.widgetBuild(kw)
* widget.add_widget(w)
*/
__pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 310, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 310, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_self, __pyx_v_widget) < 0) __PYX_ERR(0, 310, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_localnamespace, __pyx_t_3) < 0) __PYX_ERR(0, 310, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":309
* for pos,sw in enumerate(desc.get('subwidgets',[])):
* b = Blocks()
* kw = self.valueExpr(sw.copy(), # <<<<<<<<<<<<<<
* localnamespace={'self':widget})
* w = b.widgetBuild(kw)
*/
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, __pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 309, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF_SET(__pyx_v_kw, __pyx_t_3);
__pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":311
* kw = self.valueExpr(sw.copy(),
* localnamespace={'self':widget})
* w = b.widgetBuild(kw) # <<<<<<<<<<<<<<
* widget.add_widget(w)
*
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_b, __pyx_n_s_widgetBuild); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 311, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
}
}
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_v_kw) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_kw);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 311, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_3);
__pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":312
* localnamespace={'self':widget})
* w = b.widgetBuild(kw)
* widget.add_widget(w) # <<<<<<<<<<<<<<
*
* for b in desc.get('binds',[]):
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_widget, __pyx_n_s_add_widget); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 312, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
}
}
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_6, __pyx_v_w) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_w);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 312, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":307
* self.subwidgets = [ None for i in range(self.subwidget_total)]
* cdef int pos = 0
* for pos,sw in enumerate(desc.get('subwidgets',[])): # <<<<<<<<<<<<<<
* b = Blocks()
* kw = self.valueExpr(sw.copy(),
*/
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":314
* widget.add_widget(w)
*
* for b in desc.get('binds',[]): # <<<<<<<<<<<<<<
* kw = self.valueExpr(b.copy(), \
* localnamespace={'self':widget})
*/
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 314, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 314, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_5 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_n_s_binds, __pyx_t_4};
__pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 314, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_n_s_binds, __pyx_t_4};
__pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 314, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else
#endif
{
__pyx_t_1 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 314, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6); __pyx_t_6 = NULL;
}
__Pyx_INCREF(__pyx_n_s_binds);
__Pyx_GIVEREF(__pyx_n_s_binds);
PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_5, __pyx_n_s_binds);
__Pyx_GIVEREF(__pyx_t_4);
PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_5, __pyx_t_4);
__pyx_t_4 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 314, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
__pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_7 = 0;
__pyx_t_8 = NULL;
} else {
__pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 314, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 314, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
for (;;) {
if (likely(!__pyx_t_8)) {
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 314, __pyx_L1_error)
#else
__pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 314, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
} else {
if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 314, __pyx_L1_error)
#else
__pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 314, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
}
} else {
__pyx_t_2 = __pyx_t_8(__pyx_t_3);
if (unlikely(!__pyx_t_2)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 314, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_2);
}
__Pyx_XDECREF_SET(__pyx_v_b, __pyx_t_2);
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":315
*
* for b in desc.get('binds',[]):
* kw = self.valueExpr(b.copy(), \ # <<<<<<<<<<<<<<
* localnamespace={'self':widget})
* self.buildBind(widget,kw)
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_valueExpr); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 315, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_b, __pyx_n_s_copy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 315, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
}
}
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 315, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 315, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":316
* for b in desc.get('binds',[]):
* kw = self.valueExpr(b.copy(), \
* localnamespace={'self':widget}) # <<<<<<<<<<<<<<
* self.buildBind(widget,kw)
*
*/
__pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 316, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 316, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_self, __pyx_v_widget) < 0) __PYX_ERR(0, 316, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_localnamespace, __pyx_t_6) < 0) __PYX_ERR(0, 316, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":315
*
* for b in desc.get('binds',[]):
* kw = self.valueExpr(b.copy(), \ # <<<<<<<<<<<<<<
* localnamespace={'self':widget})
* self.buildBind(widget,kw)
*/
__pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_4, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 315, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF_SET(__pyx_v_kw, __pyx_t_6);
__pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":317
* kw = self.valueExpr(b.copy(), \
* localnamespace={'self':widget})
* self.buildBind(widget,kw) # <<<<<<<<<<<<<<
*
* def buildBind(self, widget:Widget, desc):
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buildBind); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 317, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
__pyx_t_5 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_widget, __pyx_v_kw};
__pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 317, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_6);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_widget, __pyx_v_kw};
__pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 317, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_6);
} else
#endif
{
__pyx_t_2 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 317, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_4); __pyx_t_4 = NULL;
}
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_5, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_kw);
__Pyx_GIVEREF(__pyx_v_kw);
PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_5, __pyx_v_kw);
__pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 317, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":314
* widget.add_widget(w)
*
* for b in desc.get('binds',[]): # <<<<<<<<<<<<<<
* kw = self.valueExpr(b.copy(), \
* localnamespace={'self':widget})
*/
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":303
* localnamespace={'self':widget}))
*
* def build_rest(self, widget:Widget,desc,t=None): # <<<<<<<<<<<<<<
* self.subwidget_total = len(desc.get('subwidgets',[]))
* self.subwidgets = [ None for i in range(self.subwidget_total)]
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.build_rest", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_sw);
__Pyx_XDECREF(__pyx_v_b);
__Pyx_XDECREF(__pyx_v_kw);
__Pyx_XDECREF(__pyx_v_w);
__Pyx_XDECREF(__pyx_v_i);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":319
* self.buildBind(widget,kw)
*
* def buildBind(self, widget:Widget, desc): # <<<<<<<<<<<<<<
* wid = desc.get('wid','self')
* w = Blocks.getWidgetById(desc.get('wid','self'),from_widget=widget)
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_27buildBind(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_27buildBind = {"buildBind", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_27buildBind, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_27buildBind(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_widget = 0;
PyObject *__pyx_v_desc = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("buildBind (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_widget,&__pyx_n_s_desc,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("buildBind", 1, 3, 3, 1); __PYX_ERR(0, 319, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("buildBind", 1, 3, 3, 2); __PYX_ERR(0, 319, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "buildBind") < 0)) __PYX_ERR(0, 319, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_widget = values[1];
__pyx_v_desc = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("buildBind", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 319, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.buildBind", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_26buildBind(__pyx_self, __pyx_v_self, __pyx_v_widget, __pyx_v_desc);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_26buildBind(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc) {
CYTHON_UNUSED PyObject *__pyx_v_wid = NULL;
PyObject *__pyx_v_w = NULL;
PyObject *__pyx_v_event = NULL;
PyObject *__pyx_v_f = NULL;
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;
int __pyx_t_5;
int __pyx_t_6;
int __pyx_t_7;
PyObject *__pyx_t_8 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("buildBind", 0);
/* "kivyblocks/blocks.pyx":320
*
* def buildBind(self, widget:Widget, desc):
* wid = desc.get('wid','self') # <<<<<<<<<<<<<<
* w = Blocks.getWidgetById(desc.get('wid','self'),from_widget=widget)
* if not w:
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 320, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 320, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_wid = __pyx_t_2;
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":321
* def buildBind(self, widget:Widget, desc):
* wid = desc.get('wid','self')
* w = Blocks.getWidgetById(desc.get('wid','self'),from_widget=widget) # <<<<<<<<<<<<<<
* if not w:
* Logger.info('Block: %s %s',desc.get('wid','self'),
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Blocks); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 321, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_getWidgetById); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 321, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 321, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 321, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 321, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3);
__pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 321, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_from_widget, __pyx_v_widget) < 0) __PYX_ERR(0, 321, __pyx_L1_error)
__pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 321, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_w = __pyx_t_4;
__pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":322
* wid = desc.get('wid','self')
* w = Blocks.getWidgetById(desc.get('wid','self'),from_widget=widget)
* if not w: # <<<<<<<<<<<<<<
* Logger.info('Block: %s %s',desc.get('wid','self'),
* 'not found via Blocks.getWidgetById()')
*/
__pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_w); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 322, __pyx_L1_error)
__pyx_t_6 = ((!__pyx_t_5) != 0);
if (__pyx_t_6) {
/* "kivyblocks/blocks.pyx":323
* w = Blocks.getWidgetById(desc.get('wid','self'),from_widget=widget)
* if not w:
* Logger.info('Block: %s %s',desc.get('wid','self'), # <<<<<<<<<<<<<<
* 'not found via Blocks.getWidgetById()')
* return
*/
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_Logger); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 323, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 323, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 323, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 323, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_kp_s_Block_s_s, __pyx_t_1, __pyx_kp_s_not_found_via_Blocks_getWidgetBy};
__pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 323, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_kp_s_Block_s_s, __pyx_t_1, __pyx_kp_s_not_found_via_Blocks_getWidgetBy};
__pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 3+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 323, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else
#endif
{
__pyx_t_8 = PyTuple_New(3+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 323, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_kp_s_Block_s_s);
__Pyx_GIVEREF(__pyx_kp_s_Block_s_s);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_kp_s_Block_s_s);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_1);
__Pyx_INCREF(__pyx_kp_s_not_found_via_Blocks_getWidgetBy);
__Pyx_GIVEREF(__pyx_kp_s_not_found_via_Blocks_getWidgetBy);
PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_7, __pyx_kp_s_not_found_via_Blocks_getWidgetBy);
__pyx_t_1 = 0;
__pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_8, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 323, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":325
* Logger.info('Block: %s %s',desc.get('wid','self'),
* 'not found via Blocks.getWidgetById()')
* return # <<<<<<<<<<<<<<
* event = desc.get('event')
* if event is None:
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":322
* wid = desc.get('wid','self')
* w = Blocks.getWidgetById(desc.get('wid','self'),from_widget=widget)
* if not w: # <<<<<<<<<<<<<<
* Logger.info('Block: %s %s',desc.get('wid','self'),
* 'not found via Blocks.getWidgetById()')
*/
}
/* "kivyblocks/blocks.pyx":326
* 'not found via Blocks.getWidgetById()')
* return
* event = desc.get('event') # <<<<<<<<<<<<<<
* if event is None:
* Logger.info('Block: binds desc miss event, desc=%s',str(desc))
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 326, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_8 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_4 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_8, __pyx_n_s_event) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_event);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 326, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_event = __pyx_t_4;
__pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":327
* return
* event = desc.get('event')
* if event is None: # <<<<<<<<<<<<<<
* Logger.info('Block: binds desc miss event, desc=%s',str(desc))
* return
*/
__pyx_t_6 = (__pyx_v_event == Py_None);
__pyx_t_5 = (__pyx_t_6 != 0);
if (__pyx_t_5) {
/* "kivyblocks/blocks.pyx":328
* event = desc.get('event')
* if event is None:
* Logger.info('Block: binds desc miss event, desc=%s',str(desc)) # <<<<<<<<<<<<<<
* return
* f = self.buildAction(widget,desc)
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 328, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 328, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_desc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 328, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_kp_s_Block_binds_desc_miss_event_desc, __pyx_t_2};
__pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 328, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_kp_s_Block_binds_desc_miss_event_desc, __pyx_t_2};
__pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 328, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
{
__pyx_t_3 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 328, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (__pyx_t_1) {
__Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1); __pyx_t_1 = NULL;
}
__Pyx_INCREF(__pyx_kp_s_Block_binds_desc_miss_event_desc);
__Pyx_GIVEREF(__pyx_kp_s_Block_binds_desc_miss_event_desc);
PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_7, __pyx_kp_s_Block_binds_desc_miss_event_desc);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_7, __pyx_t_2);
__pyx_t_2 = 0;
__pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_3, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 328, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":329
* if event is None:
* Logger.info('Block: binds desc miss event, desc=%s',str(desc))
* return # <<<<<<<<<<<<<<
* f = self.buildAction(widget,desc)
* if f is None:
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":327
* return
* event = desc.get('event')
* if event is None: # <<<<<<<<<<<<<<
* Logger.info('Block: binds desc miss event, desc=%s',str(desc))
* return
*/
}
/* "kivyblocks/blocks.pyx":330
* Logger.info('Block: binds desc miss event, desc=%s',str(desc))
* return
* f = self.buildAction(widget,desc) # <<<<<<<<<<<<<<
* if f is None:
* Logger.info('Block: get a null function,%s',str(desc))
*/
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_buildAction); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 330, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_3 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_widget, __pyx_v_desc};
__pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 330, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_4);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_widget, __pyx_v_desc};
__pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 330, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_4);
} else
#endif
{
__pyx_t_2 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 330, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_7, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_7, __pyx_v_desc);
__pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_2, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 330, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_v_f = __pyx_t_4;
__pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":331
* return
* f = self.buildAction(widget,desc)
* if f is None: # <<<<<<<<<<<<<<
* Logger.info('Block: get a null function,%s',str(desc))
* return
*/
__pyx_t_5 = (__pyx_v_f == Py_None);
__pyx_t_6 = (__pyx_t_5 != 0);
if (__pyx_t_6) {
/* "kivyblocks/blocks.pyx":332
* f = self.buildAction(widget,desc)
* if f is None:
* Logger.info('Block: get a null function,%s',str(desc)) # <<<<<<<<<<<<<<
* return
* w.bind(**{event:f})
*/
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_Logger); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 332, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_info); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 332, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_desc); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 332, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_3 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_s_Block_get_a_null_function_s, __pyx_t_8};
__pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 332, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_s_Block_get_a_null_function_s, __pyx_t_8};
__pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 332, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
} else
#endif
{
__pyx_t_1 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 332, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_kp_s_Block_get_a_null_function_s);
__Pyx_GIVEREF(__pyx_kp_s_Block_get_a_null_function_s);
PyTuple_SET_ITEM(__pyx_t_1, 0+__pyx_t_7, __pyx_kp_s_Block_get_a_null_function_s);
__Pyx_GIVEREF(__pyx_t_8);
PyTuple_SET_ITEM(__pyx_t_1, 1+__pyx_t_7, __pyx_t_8);
__pyx_t_8 = 0;
__pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 332, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":333
* if f is None:
* Logger.info('Block: get a null function,%s',str(desc))
* return # <<<<<<<<<<<<<<
* w.bind(**{event:f})
*
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":331
* return
* f = self.buildAction(widget,desc)
* if f is None: # <<<<<<<<<<<<<<
* Logger.info('Block: get a null function,%s',str(desc))
* return
*/
}
/* "kivyblocks/blocks.pyx":334
* Logger.info('Block: get a null function,%s',str(desc))
* return
* w.bind(**{event:f}) # <<<<<<<<<<<<<<
*
* def multipleAction(self, widget:Widget, desc, *args):
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_bind); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 334, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 334, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (unlikely(PyDict_Contains(__pyx_t_2, __pyx_v_event))) {
__Pyx_RaiseDoubleKeywordsError("function", __pyx_v_event); __PYX_ERR(0, 334, __pyx_L1_error)
} else {
if (PyDict_SetItem(__pyx_t_2, __pyx_v_event, __pyx_v_f) < 0) __PYX_ERR(0, 334, __pyx_L1_error)
}
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 334, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":319
* self.buildBind(widget,kw)
*
* def buildBind(self, widget:Widget, desc): # <<<<<<<<<<<<<<
* wid = desc.get('wid','self')
* w = Blocks.getWidgetById(desc.get('wid','self'),from_widget=widget)
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.buildBind", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_wid);
__Pyx_XDECREF(__pyx_v_w);
__Pyx_XDECREF(__pyx_v_event);
__Pyx_XDECREF(__pyx_v_f);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":336
* w.bind(**{event:f})
*
* def multipleAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* desc1 = {k:v for k, v in desc.items() if k != 'actions'}
* mydesc = desc1.copy()
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_29multipleAction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_29multipleAction = {"multipleAction", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_29multipleAction, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_29multipleAction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_widget = 0;
PyObject *__pyx_v_desc = 0;
PyObject *__pyx_v_args = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("multipleAction (wrapper)", 0);
if (PyTuple_GET_SIZE(__pyx_args) > 3) {
__pyx_v_args = PyTuple_GetSlice(__pyx_args, 3, PyTuple_GET_SIZE(__pyx_args));
if (unlikely(!__pyx_v_args)) {
__Pyx_RefNannyFinishContext();
return NULL;
}
__Pyx_GOTREF(__pyx_v_args);
} else {
__pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
}
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_widget,&__pyx_n_s_desc,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
default:
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("multipleAction", 0, 3, 3, 1); __PYX_ERR(0, 336, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("multipleAction", 0, 3, 3, 2); __PYX_ERR(0, 336, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 3) ? pos_args : 3;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "multipleAction") < 0)) __PYX_ERR(0, 336, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) < 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_widget = values[1];
__pyx_v_desc = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("multipleAction", 0, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 336, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.multipleAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_28multipleAction(__pyx_self, __pyx_v_self, __pyx_v_widget, __pyx_v_desc, __pyx_v_args);
/* function exit code */
__Pyx_XDECREF(__pyx_v_args);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_28multipleAction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args) {
PyObject *__pyx_v_desc1 = NULL;
PyObject *__pyx_v_mydesc = NULL;
PyObject *__pyx_v_a = NULL;
PyObject *__pyx_v_new_desc = NULL;
PyObject *__pyx_7genexpr__pyx_v_k = NULL;
PyObject *__pyx_7genexpr__pyx_v_v = NULL;
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;
Py_ssize_t __pyx_t_5;
PyObject *(*__pyx_t_6)(PyObject *);
PyObject *__pyx_t_7 = NULL;
PyObject *__pyx_t_8 = NULL;
PyObject *(*__pyx_t_9)(PyObject *);
int __pyx_t_10;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("multipleAction", 0);
/* "kivyblocks/blocks.pyx":337
*
* def multipleAction(self, widget:Widget, desc, *args):
* desc1 = {k:v for k, v in desc.items() if k != 'actions'} # <<<<<<<<<<<<<<
* mydesc = desc1.copy()
* for a in desc['actions']:
*/
{ /* enter inner scope */
__pyx_t_1 = PyDict_New(); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 337, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_items); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 337, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 337, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) {
__pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
__pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 337, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 337, __pyx_L5_error)
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
for (;;) {
if (likely(!__pyx_t_6)) {
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 337, __pyx_L5_error)
#else
__pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 337, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
} else {
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 337, __pyx_L5_error)
#else
__pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 337, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
#endif
}
} else {
__pyx_t_2 = __pyx_t_6(__pyx_t_3);
if (unlikely(!__pyx_t_2)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 337, __pyx_L5_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_2);
}
if ((likely(PyTuple_CheckExact(__pyx_t_2))) || (PyList_CheckExact(__pyx_t_2))) {
PyObject* sequence = __pyx_t_2;
Py_ssize_t size = __Pyx_PySequence_SIZE(sequence);
if (unlikely(size != 2)) {
if (size > 2) __Pyx_RaiseTooManyValuesError(2);
else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size);
__PYX_ERR(0, 337, __pyx_L5_error)
}
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
if (likely(PyTuple_CheckExact(sequence))) {
__pyx_t_4 = PyTuple_GET_ITEM(sequence, 0);
__pyx_t_7 = PyTuple_GET_ITEM(sequence, 1);
} else {
__pyx_t_4 = PyList_GET_ITEM(sequence, 0);
__pyx_t_7 = PyList_GET_ITEM(sequence, 1);
}
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(__pyx_t_7);
#else
__pyx_t_4 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 337, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 337, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_7);
#endif
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else {
Py_ssize_t index = -1;
__pyx_t_8 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 337, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_9 = Py_TYPE(__pyx_t_8)->tp_iternext;
index = 0; __pyx_t_4 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_4)) goto __pyx_L8_unpacking_failed;
__Pyx_GOTREF(__pyx_t_4);
index = 1; __pyx_t_7 = __pyx_t_9(__pyx_t_8); if (unlikely(!__pyx_t_7)) goto __pyx_L8_unpacking_failed;
__Pyx_GOTREF(__pyx_t_7);
if (__Pyx_IternextUnpackEndCheck(__pyx_t_9(__pyx_t_8), 2) < 0) __PYX_ERR(0, 337, __pyx_L5_error)
__pyx_t_9 = NULL;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
goto __pyx_L9_unpacking_done;
__pyx_L8_unpacking_failed:;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_9 = NULL;
if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index);
__PYX_ERR(0, 337, __pyx_L5_error)
__pyx_L9_unpacking_done:;
}
__Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_k, __pyx_t_4);
__pyx_t_4 = 0;
__Pyx_XDECREF_SET(__pyx_7genexpr__pyx_v_v, __pyx_t_7);
__pyx_t_7 = 0;
__pyx_t_10 = (__Pyx_PyString_Equals(__pyx_7genexpr__pyx_v_k, __pyx_n_s_actions, Py_NE)); if (unlikely(__pyx_t_10 < 0)) __PYX_ERR(0, 337, __pyx_L5_error)
if (__pyx_t_10) {
if (unlikely(PyDict_SetItem(__pyx_t_1, (PyObject*)__pyx_7genexpr__pyx_v_k, (PyObject*)__pyx_7genexpr__pyx_v_v))) __PYX_ERR(0, 337, __pyx_L5_error)
}
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF(__pyx_7genexpr__pyx_v_k); __pyx_7genexpr__pyx_v_k = 0;
__Pyx_XDECREF(__pyx_7genexpr__pyx_v_v); __pyx_7genexpr__pyx_v_v = 0;
goto __pyx_L11_exit_scope;
__pyx_L5_error:;
__Pyx_XDECREF(__pyx_7genexpr__pyx_v_k); __pyx_7genexpr__pyx_v_k = 0;
__Pyx_XDECREF(__pyx_7genexpr__pyx_v_v); __pyx_7genexpr__pyx_v_v = 0;
goto __pyx_L1_error;
__pyx_L11_exit_scope:;
} /* exit inner scope */
__pyx_v_desc1 = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":338
* def multipleAction(self, widget:Widget, desc, *args):
* desc1 = {k:v for k, v in desc.items() if k != 'actions'}
* mydesc = desc1.copy() # <<<<<<<<<<<<<<
* for a in desc['actions']:
* new_desc = mydesc.copy()
*/
__pyx_t_1 = PyDict_Copy(__pyx_v_desc1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 338, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_mydesc = ((PyObject*)__pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":339
* desc1 = {k:v for k, v in desc.items() if k != 'actions'}
* mydesc = desc1.copy()
* for a in desc['actions']: # <<<<<<<<<<<<<<
* new_desc = mydesc.copy()
* new_desc.update(a)
*/
__pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_v_desc, __pyx_n_s_actions); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 339, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) {
__pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_5 = 0;
__pyx_t_6 = NULL;
} else {
__pyx_t_5 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 339, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 339, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
for (;;) {
if (likely(!__pyx_t_6)) {
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 339, __pyx_L1_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 339, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 339, __pyx_L1_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 339, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
} else {
__pyx_t_1 = __pyx_t_6(__pyx_t_3);
if (unlikely(!__pyx_t_1)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 339, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_1);
}
__Pyx_XDECREF_SET(__pyx_v_a, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":340
* mydesc = desc1.copy()
* for a in desc['actions']:
* new_desc = mydesc.copy() # <<<<<<<<<<<<<<
* new_desc.update(a)
* self.uniaction(widget,new_desc, *args)
*/
if (unlikely(__pyx_v_mydesc == Py_None)) {
PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "copy");
__PYX_ERR(0, 340, __pyx_L1_error)
}
__pyx_t_1 = PyDict_Copy(__pyx_v_mydesc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 340, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_XDECREF_SET(__pyx_v_new_desc, ((PyObject*)__pyx_t_1));
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":341
* for a in desc['actions']:
* new_desc = mydesc.copy()
* new_desc.update(a) # <<<<<<<<<<<<<<
* self.uniaction(widget,new_desc, *args)
*
*/
__pyx_t_1 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_new_desc, __pyx_v_a); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 341, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":342
* new_desc = mydesc.copy()
* new_desc.update(a)
* self.uniaction(widget,new_desc, *args) # <<<<<<<<<<<<<<
*
* def conform_action(self, widget:Widget, desc, *args):
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_uniaction); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_new_desc);
__Pyx_GIVEREF(__pyx_v_new_desc);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_new_desc);
__pyx_t_7 = PyNumber_Add(__pyx_t_2, __pyx_v_args); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 342, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":339
* desc1 = {k:v for k, v in desc.items() if k != 'actions'}
* mydesc = desc1.copy()
* for a in desc['actions']: # <<<<<<<<<<<<<<
* new_desc = mydesc.copy()
* new_desc.update(a)
*/
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":336
* w.bind(**{event:f})
*
* def multipleAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* desc1 = {k:v for k, v in desc.items() if k != 'actions'}
* mydesc = desc1.copy()
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.multipleAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_desc1);
__Pyx_XDECREF(__pyx_v_mydesc);
__Pyx_XDECREF(__pyx_v_a);
__Pyx_XDECREF(__pyx_v_new_desc);
__Pyx_XDECREF(__pyx_7genexpr__pyx_v_k);
__Pyx_XDECREF(__pyx_7genexpr__pyx_v_v);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":344
* self.uniaction(widget,new_desc, *args)
*
* def conform_action(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* conform_desc = desc.get('conform')
* blocks = Blocks()
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_31conform_action(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_31conform_action = {"conform_action", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_31conform_action, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_31conform_action(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
CYTHON_UNUSED PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_widget = 0;
PyObject *__pyx_v_desc = 0;
PyObject *__pyx_v_args = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("conform_action (wrapper)", 0);
if (PyTuple_GET_SIZE(__pyx_args) > 3) {
__pyx_v_args = PyTuple_GetSlice(__pyx_args, 3, PyTuple_GET_SIZE(__pyx_args));
if (unlikely(!__pyx_v_args)) {
__Pyx_RefNannyFinishContext();
return NULL;
}
__Pyx_GOTREF(__pyx_v_args);
} else {
__pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
}
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_widget,&__pyx_n_s_desc,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
default:
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("conform_action", 0, 3, 3, 1); __PYX_ERR(0, 344, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("conform_action", 0, 3, 3, 2); __PYX_ERR(0, 344, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 3) ? pos_args : 3;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "conform_action") < 0)) __PYX_ERR(0, 344, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) < 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_widget = values[1];
__pyx_v_desc = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("conform_action", 0, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 344, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.conform_action", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_30conform_action(__pyx_self, __pyx_v_self, __pyx_v_widget, __pyx_v_desc, __pyx_v_args);
/* function exit code */
__Pyx_XDECREF(__pyx_v_args);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_30conform_action(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args) {
PyObject *__pyx_v_conform_desc = NULL;
PyObject *__pyx_v_blocks = NULL;
PyObject *__pyx_v_w = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
int __pyx_t_4;
int __pyx_t_5;
PyObject *__pyx_t_6 = NULL;
PyObject *__pyx_t_7 = NULL;
PyObject *__pyx_t_8 = NULL;
int __pyx_t_9;
PyObject *__pyx_t_10 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("conform_action", 0);
/* "kivyblocks/blocks.pyx":345
*
* def conform_action(self, widget:Widget, desc, *args):
* conform_desc = desc.get('conform') # <<<<<<<<<<<<<<
* blocks = Blocks()
* if not conform_desc:
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 345, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_s_conform) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_conform);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 345, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_conform_desc = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":346
* def conform_action(self, widget:Widget, desc, *args):
* conform_desc = desc.get('conform')
* blocks = Blocks() # <<<<<<<<<<<<<<
* if not conform_desc:
* blocks.uniaction(widget, desc,*args, **kw)
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Blocks); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 346, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 346, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_blocks = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":347
* conform_desc = desc.get('conform')
* blocks = Blocks()
* if not conform_desc: # <<<<<<<<<<<<<<
* blocks.uniaction(widget, desc,*args, **kw)
* return
*/
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_conform_desc); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 347, __pyx_L1_error)
__pyx_t_5 = ((!__pyx_t_4) != 0);
if (__pyx_t_5) {
/* "kivyblocks/blocks.pyx":348
* blocks = Blocks()
* if not conform_desc:
* blocks.uniaction(widget, desc,*args, **kw) # <<<<<<<<<<<<<<
* return
* w = blocks.widgetBuild({
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_blocks, __pyx_n_s_uniaction); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 348, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 348, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_desc);
__pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_v_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 348, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_kw); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 348, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (unlikely(__pyx_t_6 == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
__PYX_ERR(0, 348, __pyx_L1_error)
}
if (likely(PyDict_CheckExact(__pyx_t_6))) {
__pyx_t_2 = PyDict_Copy(__pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 348, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else {
__pyx_t_2 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 348, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 348, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":349
* if not conform_desc:
* blocks.uniaction(widget, desc,*args, **kw)
* return # <<<<<<<<<<<<<<
* w = blocks.widgetBuild({
* "widgettype":"Conform",
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":347
* conform_desc = desc.get('conform')
* blocks = Blocks()
* if not conform_desc: # <<<<<<<<<<<<<<
* blocks.uniaction(widget, desc,*args, **kw)
* return
*/
}
/* "kivyblocks/blocks.pyx":350
* blocks.uniaction(widget, desc,*args, **kw)
* return
* w = blocks.widgetBuild({ # <<<<<<<<<<<<<<
* "widgettype":"Conform",
* "options":conform_desc
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_blocks, __pyx_n_s_widgetBuild); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 350, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
/* "kivyblocks/blocks.pyx":351
* return
* w = blocks.widgetBuild({
* "widgettype":"Conform", # <<<<<<<<<<<<<<
* "options":conform_desc
* })
*/
__pyx_t_3 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 351, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_widgettype, __pyx_n_s_Conform) < 0) __PYX_ERR(0, 351, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":352
* w = blocks.widgetBuild({
* "widgettype":"Conform",
* "options":conform_desc # <<<<<<<<<<<<<<
* })
* w.bind(on_conform=partial(blocks.uniaction, widget, desc))
*/
if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_options, __pyx_v_conform_desc) < 0) __PYX_ERR(0, 351, __pyx_L1_error)
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_6 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 350, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_w = __pyx_t_6;
__pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":354
* "options":conform_desc
* })
* w.bind(on_conform=partial(blocks.uniaction, widget, desc)) # <<<<<<<<<<<<<<
* w.open()
*
*/
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_bind); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 354, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 354, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_partial); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 354, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_v_blocks, __pyx_n_s_uniaction); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 354, __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_1))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
__pyx_t_9 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_t_7, __pyx_v_widget, __pyx_v_desc};
__pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 354, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[4] = {__pyx_t_8, __pyx_t_7, __pyx_v_widget, __pyx_v_desc};
__pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_9, 3+__pyx_t_9); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 354, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
} else
#endif
{
__pyx_t_10 = PyTuple_New(3+__pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 354, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_10);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_8); __pyx_t_8 = NULL;
}
__Pyx_GIVEREF(__pyx_t_7);
PyTuple_SET_ITEM(__pyx_t_10, 0+__pyx_t_9, __pyx_t_7);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_10, 1+__pyx_t_9, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_9, __pyx_v_desc);
__pyx_t_7 = 0;
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 354, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_on_conform, __pyx_t_3) < 0) __PYX_ERR(0, 354, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_empty_tuple, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 354, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":355
* })
* w.bind(on_conform=partial(blocks.uniaction, widget, desc))
* w.open() # <<<<<<<<<<<<<<
*
* def uniaction(self, widget:Widget, desc, *args):
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_open); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 355, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_3 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 355, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":344
* self.uniaction(widget,new_desc, *args)
*
* def conform_action(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* conform_desc = desc.get('conform')
* blocks = Blocks()
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_10);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.conform_action", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_conform_desc);
__Pyx_XDECREF(__pyx_v_blocks);
__Pyx_XDECREF(__pyx_v_w);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":357
* w.open()
*
* def uniaction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* acttype = desc.get('actiontype')
* if acttype=='blocks':
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_33uniaction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_33uniaction = {"uniaction", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_33uniaction, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_33uniaction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_widget = 0;
PyObject *__pyx_v_desc = 0;
PyObject *__pyx_v_args = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("uniaction (wrapper)", 0);
if (PyTuple_GET_SIZE(__pyx_args) > 3) {
__pyx_v_args = PyTuple_GetSlice(__pyx_args, 3, PyTuple_GET_SIZE(__pyx_args));
if (unlikely(!__pyx_v_args)) {
__Pyx_RefNannyFinishContext();
return NULL;
}
__Pyx_GOTREF(__pyx_v_args);
} else {
__pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
}
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_widget,&__pyx_n_s_desc,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
default:
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("uniaction", 0, 3, 3, 1); __PYX_ERR(0, 357, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("uniaction", 0, 3, 3, 2); __PYX_ERR(0, 357, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 3) ? pos_args : 3;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "uniaction") < 0)) __PYX_ERR(0, 357, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) < 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_widget = values[1];
__pyx_v_desc = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("uniaction", 0, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 357, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.uniaction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_32uniaction(__pyx_self, __pyx_v_self, __pyx_v_widget, __pyx_v_desc, __pyx_v_args);
/* function exit code */
__Pyx_XDECREF(__pyx_v_args);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_32uniaction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args) {
PyObject *__pyx_v_acttype = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
int __pyx_t_4;
PyObject *__pyx_t_5 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("uniaction", 0);
/* "kivyblocks/blocks.pyx":358
*
* def uniaction(self, widget:Widget, desc, *args):
* acttype = desc.get('actiontype') # <<<<<<<<<<<<<<
* if acttype=='blocks':
* return self.blocksAction(widget,desc, *args)
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_s_actiontype) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_actiontype);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 358, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_acttype = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":359
* def uniaction(self, widget:Widget, desc, *args):
* acttype = desc.get('actiontype')
* if acttype=='blocks': # <<<<<<<<<<<<<<
* return self.blocksAction(widget,desc, *args)
* if acttype=='urlwidget':
*/
__pyx_t_4 = (__Pyx_PyString_Equals(__pyx_v_acttype, __pyx_n_s_blocks, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 359, __pyx_L1_error)
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":360
* acttype = desc.get('actiontype')
* if acttype=='blocks':
* return self.blocksAction(widget,desc, *args) # <<<<<<<<<<<<<<
* if acttype=='urlwidget':
* return self.urlwidgetAction(widget,desc, *args)
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_blocksAction); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 360, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 360, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_desc);
__pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_v_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 360, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 360, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":359
* def uniaction(self, widget:Widget, desc, *args):
* acttype = desc.get('actiontype')
* if acttype=='blocks': # <<<<<<<<<<<<<<
* return self.blocksAction(widget,desc, *args)
* if acttype=='urlwidget':
*/
}
/* "kivyblocks/blocks.pyx":361
* if acttype=='blocks':
* return self.blocksAction(widget,desc, *args)
* if acttype=='urlwidget': # <<<<<<<<<<<<<<
* return self.urlwidgetAction(widget,desc, *args)
* if acttype == 'registedfunction':
*/
__pyx_t_4 = (__Pyx_PyString_Equals(__pyx_v_acttype, __pyx_n_s_urlwidget, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 361, __pyx_L1_error)
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":362
* return self.blocksAction(widget,desc, *args)
* if acttype=='urlwidget':
* return self.urlwidgetAction(widget,desc, *args) # <<<<<<<<<<<<<<
* if acttype == 'registedfunction':
* return self.registedfunctionAction(widget,desc, *args)
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_urlwidgetAction); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 362, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 362, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_desc);
__pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 362, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 362, __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;
/* "kivyblocks/blocks.pyx":361
* if acttype=='blocks':
* return self.blocksAction(widget,desc, *args)
* if acttype=='urlwidget': # <<<<<<<<<<<<<<
* return self.urlwidgetAction(widget,desc, *args)
* if acttype == 'registedfunction':
*/
}
/* "kivyblocks/blocks.pyx":363
* if acttype=='urlwidget':
* return self.urlwidgetAction(widget,desc, *args)
* if acttype == 'registedfunction': # <<<<<<<<<<<<<<
* return self.registedfunctionAction(widget,desc, *args)
* if acttype == 'script':
*/
__pyx_t_4 = (__Pyx_PyString_Equals(__pyx_v_acttype, __pyx_n_s_registedfunction, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 363, __pyx_L1_error)
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":364
* return self.urlwidgetAction(widget,desc, *args)
* if acttype == 'registedfunction':
* return self.registedfunctionAction(widget,desc, *args) # <<<<<<<<<<<<<<
* if acttype == 'script':
* return self.scriptAction(widget, desc, *args)
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_registedfunctionAction); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 364, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 364, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_desc);
__pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 364, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 364, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":363
* if acttype=='urlwidget':
* return self.urlwidgetAction(widget,desc, *args)
* if acttype == 'registedfunction': # <<<<<<<<<<<<<<
* return self.registedfunctionAction(widget,desc, *args)
* if acttype == 'script':
*/
}
/* "kivyblocks/blocks.pyx":365
* if acttype == 'registedfunction':
* return self.registedfunctionAction(widget,desc, *args)
* if acttype == 'script': # <<<<<<<<<<<<<<
* return self.scriptAction(widget, desc, *args)
* if acttype == 'method':
*/
__pyx_t_4 = (__Pyx_PyString_Equals(__pyx_v_acttype, __pyx_n_s_script_2, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 365, __pyx_L1_error)
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":366
* return self.registedfunctionAction(widget,desc, *args)
* if acttype == 'script':
* return self.scriptAction(widget, desc, *args) # <<<<<<<<<<<<<<
* if acttype == 'method':
* return self.methodAction(widget, desc, *args)
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_scriptAction); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 366, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 366, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_desc);
__pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_v_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 366, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 366, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":365
* if acttype == 'registedfunction':
* return self.registedfunctionAction(widget,desc, *args)
* if acttype == 'script': # <<<<<<<<<<<<<<
* return self.scriptAction(widget, desc, *args)
* if acttype == 'method':
*/
}
/* "kivyblocks/blocks.pyx":367
* if acttype == 'script':
* return self.scriptAction(widget, desc, *args)
* if acttype == 'method': # <<<<<<<<<<<<<<
* return self.methodAction(widget, desc, *args)
* if acttype == 'event':
*/
__pyx_t_4 = (__Pyx_PyString_Equals(__pyx_v_acttype, __pyx_n_s_method, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 367, __pyx_L1_error)
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":368
* return self.scriptAction(widget, desc, *args)
* if acttype == 'method':
* return self.methodAction(widget, desc, *args) # <<<<<<<<<<<<<<
* if acttype == 'event':
* return self.eventAction(widget, desc, *args)
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_methodAction); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 368, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 368, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_desc);
__pyx_t_1 = PyNumber_Add(__pyx_t_3, __pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 368, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 368, __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;
/* "kivyblocks/blocks.pyx":367
* if acttype == 'script':
* return self.scriptAction(widget, desc, *args)
* if acttype == 'method': # <<<<<<<<<<<<<<
* return self.methodAction(widget, desc, *args)
* if acttype == 'event':
*/
}
/* "kivyblocks/blocks.pyx":369
* if acttype == 'method':
* return self.methodAction(widget, desc, *args)
* if acttype == 'event': # <<<<<<<<<<<<<<
* return self.eventAction(widget, desc, *args)
* if acttype == 'multiple':
*/
__pyx_t_4 = (__Pyx_PyString_Equals(__pyx_v_acttype, __pyx_n_s_event, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 369, __pyx_L1_error)
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":370
* return self.methodAction(widget, desc, *args)
* if acttype == 'event':
* return self.eventAction(widget, desc, *args) # <<<<<<<<<<<<<<
* if acttype == 'multiple':
* return self.multipleAction(widget, desc, *args)
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_eventAction); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 370, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 370, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_desc);
__pyx_t_2 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 370, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 370, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_r = __pyx_t_1;
__pyx_t_1 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":369
* if acttype == 'method':
* return self.methodAction(widget, desc, *args)
* if acttype == 'event': # <<<<<<<<<<<<<<
* return self.eventAction(widget, desc, *args)
* if acttype == 'multiple':
*/
}
/* "kivyblocks/blocks.pyx":371
* if acttype == 'event':
* return self.eventAction(widget, desc, *args)
* if acttype == 'multiple': # <<<<<<<<<<<<<<
* return self.multipleAction(widget, desc, *args)
*
*/
__pyx_t_4 = (__Pyx_PyString_Equals(__pyx_v_acttype, __pyx_n_s_multiple, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 371, __pyx_L1_error)
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":372
* return self.eventAction(widget, desc, *args)
* if acttype == 'multiple':
* return self.multipleAction(widget, desc, *args) # <<<<<<<<<<<<<<
*
* alert("actiontype(%s) invalid" % acttype,title='error')
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_multipleAction); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 372, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 372, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_v_desc);
__pyx_t_3 = PyNumber_Add(__pyx_t_2, __pyx_v_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 372, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 372, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_2;
__pyx_t_2 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":371
* if acttype == 'event':
* return self.eventAction(widget, desc, *args)
* if acttype == 'multiple': # <<<<<<<<<<<<<<
* return self.multipleAction(widget, desc, *args)
*
*/
}
/* "kivyblocks/blocks.pyx":374
* return self.multipleAction(widget, desc, *args)
*
* alert("actiontype(%s) invalid" % acttype,title='error') # <<<<<<<<<<<<<<
*
* def eventAction(self, widget:Widget, desc, *args):
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_alert); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 374, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyString_FormatSafe(__pyx_kp_s_actiontype_s_invalid, __pyx_v_acttype); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 374, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 374, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_3);
__pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 374, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_title, __pyx_n_s_error) < 0) __PYX_ERR(0, 374, __pyx_L1_error)
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, __pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 374, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":357
* w.open()
*
* def uniaction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* acttype = desc.get('actiontype')
* if acttype=='blocks':
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.uniaction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_acttype);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":376
* alert("actiontype(%s) invalid" % acttype,title='error')
*
* def eventAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* event = desc.get('dispatch_event')
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_35eventAction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_35eventAction = {"eventAction", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_35eventAction, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_35eventAction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_widget = 0;
PyObject *__pyx_v_desc = 0;
PyObject *__pyx_v_args = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("eventAction (wrapper)", 0);
if (PyTuple_GET_SIZE(__pyx_args) > 3) {
__pyx_v_args = PyTuple_GetSlice(__pyx_args, 3, PyTuple_GET_SIZE(__pyx_args));
if (unlikely(!__pyx_v_args)) {
__Pyx_RefNannyFinishContext();
return NULL;
}
__Pyx_GOTREF(__pyx_v_args);
} else {
__pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
}
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_widget,&__pyx_n_s_desc,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
default:
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("eventAction", 0, 3, 3, 1); __PYX_ERR(0, 376, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("eventAction", 0, 3, 3, 2); __PYX_ERR(0, 376, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 3) ? pos_args : 3;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "eventAction") < 0)) __PYX_ERR(0, 376, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) < 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_widget = values[1];
__pyx_v_desc = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("eventAction", 0, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 376, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.eventAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_34eventAction(__pyx_self, __pyx_v_self, __pyx_v_widget, __pyx_v_desc, __pyx_v_args);
/* function exit code */
__Pyx_XDECREF(__pyx_v_args);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_34eventAction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args) {
PyObject *__pyx_v_target = NULL;
PyObject *__pyx_v_event = NULL;
PyObject *__pyx_v_params = NULL;
PyObject *__pyx_v_d = NULL;
CYTHON_UNUSED PyObject *__pyx_v_e = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
int __pyx_t_4;
PyObject *__pyx_t_5 = NULL;
int __pyx_t_6;
int __pyx_t_7;
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;
Py_ssize_t __pyx_t_13;
Py_UCS4 __pyx_t_14;
PyObject *__pyx_t_15 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("eventAction", 0);
/* "kivyblocks/blocks.pyx":377
*
* def eventAction(self, widget:Widget, desc, *args):
* target = self.get_target(widget, desc) # <<<<<<<<<<<<<<
* event = desc.get('dispatch_event')
* if not event:
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_get_target); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 377, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_widget, __pyx_v_desc};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 377, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_widget, __pyx_v_desc};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 377, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
__pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 377, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_desc);
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 377, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_target = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":378
* def eventAction(self, widget:Widget, desc, *args):
* target = self.get_target(widget, desc)
* event = desc.get('dispatch_event') # <<<<<<<<<<<<<<
* if not event:
* Logger.info('Block: eventAction():desc(%s) miss dispatch_event',
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 378, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_n_s_dispatch_event) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_dispatch_event);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 378, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_event = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":379
* target = self.get_target(widget, desc)
* event = desc.get('dispatch_event')
* if not event: # <<<<<<<<<<<<<<
* Logger.info('Block: eventAction():desc(%s) miss dispatch_event',
* str(desc))
*/
__pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_event); if (unlikely(__pyx_t_6 < 0)) __PYX_ERR(0, 379, __pyx_L1_error)
__pyx_t_7 = ((!__pyx_t_6) != 0);
if (__pyx_t_7) {
/* "kivyblocks/blocks.pyx":380
* event = desc.get('dispatch_event')
* if not event:
* Logger.info('Block: eventAction():desc(%s) miss dispatch_event', # <<<<<<<<<<<<<<
* str(desc))
* return
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 380, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 380, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":381
* if not event:
* Logger.info('Block: eventAction():desc(%s) miss dispatch_event',
* str(desc)) # <<<<<<<<<<<<<<
* return
* params = desc.get('params',{})
*/
__pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_desc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 381, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_s_Block_eventAction_desc_s_miss_di, __pyx_t_2};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 380, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_s_Block_eventAction_desc_s_miss_di, __pyx_t_2};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 380, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
{
__pyx_t_8 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 380, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_kp_s_Block_eventAction_desc_s_miss_di);
__Pyx_GIVEREF(__pyx_kp_s_Block_eventAction_desc_s_miss_di);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_4, __pyx_kp_s_Block_eventAction_desc_s_miss_di);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_4, __pyx_t_2);
__pyx_t_2 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 380, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":382
* Logger.info('Block: eventAction():desc(%s) miss dispatch_event',
* str(desc))
* return # <<<<<<<<<<<<<<
* params = desc.get('params',{})
* d = self.getActionData(widget,desc, *args)
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":379
* target = self.get_target(widget, desc)
* event = desc.get('dispatch_event')
* if not event: # <<<<<<<<<<<<<<
* Logger.info('Block: eventAction():desc(%s) miss dispatch_event',
* str(desc))
*/
}
/* "kivyblocks/blocks.pyx":383
* str(desc))
* return
* params = desc.get('params',{}) # <<<<<<<<<<<<<<
* d = self.getActionData(widget,desc, *args)
* if d:
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 383, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_8 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 383, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_2 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_n_s_params, __pyx_t_8};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 383, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_n_s_params, __pyx_t_8};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 383, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
} else
#endif
{
__pyx_t_3 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 383, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (__pyx_t_2) {
__Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = NULL;
}
__Pyx_INCREF(__pyx_n_s_params);
__Pyx_GIVEREF(__pyx_n_s_params);
PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_4, __pyx_n_s_params);
__Pyx_GIVEREF(__pyx_t_8);
PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_4, __pyx_t_8);
__pyx_t_8 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 383, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_params = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":384
* return
* params = desc.get('params',{})
* d = self.getActionData(widget,desc, *args) # <<<<<<<<<<<<<<
* if d:
* params.update(d)
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getActionData); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 384, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 384, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_desc);
__pyx_t_3 = PyNumber_Add(__pyx_t_5, __pyx_v_args); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 384, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 384, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_d = __pyx_t_5;
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":385
* params = desc.get('params',{})
* d = self.getActionData(widget,desc, *args)
* if d: # <<<<<<<<<<<<<<
* params.update(d)
* try:
*/
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_d); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 385, __pyx_L1_error)
if (__pyx_t_7) {
/* "kivyblocks/blocks.pyx":386
* d = self.getActionData(widget,desc, *args)
* if d:
* params.update(d) # <<<<<<<<<<<<<<
* try:
* target.dispatch(event, params)
*/
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_params, __pyx_n_s_update); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 386, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_1, __pyx_v_d) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_d);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 386, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":385
* params = desc.get('params',{})
* d = self.getActionData(widget,desc, *args)
* if d: # <<<<<<<<<<<<<<
* params.update(d)
* try:
*/
}
/* "kivyblocks/blocks.pyx":387
* if d:
* params.update(d)
* try: # <<<<<<<<<<<<<<
* target.dispatch(event, params)
* except Exception as e:
*/
{
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
__Pyx_XGOTREF(__pyx_t_9);
__Pyx_XGOTREF(__pyx_t_10);
__Pyx_XGOTREF(__pyx_t_11);
/*try:*/ {
/* "kivyblocks/blocks.pyx":388
* params.update(d)
* try:
* target.dispatch(event, params) # <<<<<<<<<<<<<<
* except Exception as e:
* Logger.info(f'Block: eventAction():dispatch {event} error')
*/
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_target, __pyx_n_s_dispatch); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 388, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_event, __pyx_v_params};
__pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 388, __pyx_L5_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_event, __pyx_v_params};
__pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 388, __pyx_L5_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GOTREF(__pyx_t_5);
} else
#endif
{
__pyx_t_8 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 388, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_1) {
__Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_1); __pyx_t_1 = NULL;
}
__Pyx_INCREF(__pyx_v_event);
__Pyx_GIVEREF(__pyx_v_event);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_4, __pyx_v_event);
__Pyx_INCREF(__pyx_v_params);
__Pyx_GIVEREF(__pyx_v_params);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_4, __pyx_v_params);
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 388, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":387
* if d:
* params.update(d)
* try: # <<<<<<<<<<<<<<
* target.dispatch(event, params)
* except Exception as e:
*/
}
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
goto __pyx_L10_try_end;
__pyx_L5_error:;
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":389
* try:
* target.dispatch(event, params)
* except Exception as e: # <<<<<<<<<<<<<<
* Logger.info(f'Block: eventAction():dispatch {event} error')
* print_exc()
*/
__pyx_t_4 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_4) {
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.eventAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
if (__Pyx_GetException(&__pyx_t_5, &__pyx_t_3, &__pyx_t_8) < 0) __PYX_ERR(0, 389, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GOTREF(__pyx_t_8);
__Pyx_INCREF(__pyx_t_3);
__pyx_v_e = __pyx_t_3;
/* "kivyblocks/blocks.pyx":390
* target.dispatch(event, params)
* except Exception as e:
* Logger.info(f'Block: eventAction():dispatch {event} error') # <<<<<<<<<<<<<<
* print_exc()
* return
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 390, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_12 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 390, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_12);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = PyTuple_New(3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 390, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_13 = 0;
__pyx_t_14 = 127;
__Pyx_INCREF(__pyx_kp_u_Block_eventAction_dispatch);
__pyx_t_13 += 30;
__Pyx_GIVEREF(__pyx_kp_u_Block_eventAction_dispatch);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_kp_u_Block_eventAction_dispatch);
__pyx_t_15 = __Pyx_PyObject_FormatSimple(__pyx_v_event, __pyx_empty_unicode); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 390, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_15);
__pyx_t_14 = (__Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_15) > __pyx_t_14) ? __Pyx_PyUnicode_MAX_CHAR_VALUE(__pyx_t_15) : __pyx_t_14;
__pyx_t_13 += __Pyx_PyUnicode_GET_LENGTH(__pyx_t_15);
__Pyx_GIVEREF(__pyx_t_15);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_t_15);
__pyx_t_15 = 0;
__Pyx_INCREF(__pyx_kp_u_error_2);
__pyx_t_13 += 6;
__Pyx_GIVEREF(__pyx_kp_u_error_2);
PyTuple_SET_ITEM(__pyx_t_2, 2, __pyx_kp_u_error_2);
__pyx_t_15 = __Pyx_PyUnicode_Join(__pyx_t_2, 3, __pyx_t_13, __pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 390, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_15);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_12);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_12, function);
}
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_12, __pyx_t_2, __pyx_t_15) : __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_15);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 390, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":391
* except Exception as e:
* Logger.info(f'Block: eventAction():dispatch {event} error')
* print_exc() # <<<<<<<<<<<<<<
* return
*
*/
__Pyx_GetModuleGlobalName(__pyx_t_12, __pyx_n_s_print_exc); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 391, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_12);
__pyx_t_15 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_12))) {
__pyx_t_15 = PyMethod_GET_SELF(__pyx_t_12);
if (likely(__pyx_t_15)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_12);
__Pyx_INCREF(__pyx_t_15);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_12, function);
}
}
__pyx_t_1 = (__pyx_t_15) ? __Pyx_PyObject_CallOneArg(__pyx_t_12, __pyx_t_15) : __Pyx_PyObject_CallNoArg(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 391, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":392
* Logger.info(f'Block: eventAction():dispatch {event} error')
* print_exc()
* return # <<<<<<<<<<<<<<
*
* def get_target(self, widget:Widget, desc):
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
goto __pyx_L8_except_return;
}
goto __pyx_L7_except_error;
__pyx_L7_except_error:;
/* "kivyblocks/blocks.pyx":387
* if d:
* params.update(d)
* try: # <<<<<<<<<<<<<<
* target.dispatch(event, params)
* except Exception as e:
*/
__Pyx_XGIVEREF(__pyx_t_9);
__Pyx_XGIVEREF(__pyx_t_10);
__Pyx_XGIVEREF(__pyx_t_11);
__Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
goto __pyx_L1_error;
__pyx_L8_except_return:;
__Pyx_XGIVEREF(__pyx_t_9);
__Pyx_XGIVEREF(__pyx_t_10);
__Pyx_XGIVEREF(__pyx_t_11);
__Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
goto __pyx_L0;
__pyx_L10_try_end:;
}
/* "kivyblocks/blocks.pyx":376
* alert("actiontype(%s) invalid" % acttype,title='error')
*
* def eventAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* event = desc.get('dispatch_event')
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_15);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.eventAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_target);
__Pyx_XDECREF(__pyx_v_event);
__Pyx_XDECREF(__pyx_v_params);
__Pyx_XDECREF(__pyx_v_d);
__Pyx_XDECREF(__pyx_v_e);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":394
* return
*
* def get_target(self, widget:Widget, desc): # <<<<<<<<<<<<<<
* if not desc.get('target'):
* return None
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_37get_target(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_37get_target = {"get_target", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_37get_target, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_37get_target(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
CYTHON_UNUSED PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_widget = 0;
PyObject *__pyx_v_desc = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get_target (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_widget,&__pyx_n_s_desc,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("get_target", 1, 3, 3, 1); __PYX_ERR(0, 394, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("get_target", 1, 3, 3, 2); __PYX_ERR(0, 394, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_target") < 0)) __PYX_ERR(0, 394, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_widget = values[1];
__pyx_v_desc = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("get_target", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 394, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.get_target", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_36get_target(__pyx_self, __pyx_v_self, __pyx_v_widget, __pyx_v_desc);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_36get_target(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
int __pyx_t_4;
int __pyx_t_5;
PyObject *__pyx_t_6 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("get_target", 0);
/* "kivyblocks/blocks.pyx":395
*
* def get_target(self, widget:Widget, desc):
* if not desc.get('target'): # <<<<<<<<<<<<<<
* return None
* return Blocks.getWidgetById(desc.get('target'),from_widget=widget)
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 395, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_s_target) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_target);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 395, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 395, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_5 = ((!__pyx_t_4) != 0);
if (__pyx_t_5) {
/* "kivyblocks/blocks.pyx":396
* def get_target(self, widget:Widget, desc):
* if not desc.get('target'):
* return None # <<<<<<<<<<<<<<
* return Blocks.getWidgetById(desc.get('target'),from_widget=widget)
*
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":395
*
* def get_target(self, widget:Widget, desc):
* if not desc.get('target'): # <<<<<<<<<<<<<<
* return None
* return Blocks.getWidgetById(desc.get('target'),from_widget=widget)
*/
}
/* "kivyblocks/blocks.pyx":397
* if not desc.get('target'):
* return None
* return Blocks.getWidgetById(desc.get('target'),from_widget=widget) # <<<<<<<<<<<<<<
*
* def blocksAction(self, widget:Widget, desc, *args):
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Blocks); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_getWidgetById); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_n_s_target) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_n_s_target);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = PyTuple_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_1);
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_from_widget, __pyx_v_widget) < 0) __PYX_ERR(0, 397, __pyx_L1_error)
__pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 397, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_r = __pyx_t_6;
__pyx_t_6 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":394
* return
*
* def get_target(self, widget:Widget, desc): # <<<<<<<<<<<<<<
* if not desc.get('target'):
* return None
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.get_target", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":399
* return Blocks.getWidgetById(desc.get('target'),from_widget=widget)
*
* def blocksAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace')
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_39blocksAction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_39blocksAction = {"blocksAction", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_39blocksAction, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_39blocksAction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_widget = 0;
PyObject *__pyx_v_desc = 0;
PyObject *__pyx_v_args = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("blocksAction (wrapper)", 0);
if (PyTuple_GET_SIZE(__pyx_args) > 3) {
__pyx_v_args = PyTuple_GetSlice(__pyx_args, 3, PyTuple_GET_SIZE(__pyx_args));
if (unlikely(!__pyx_v_args)) {
__Pyx_RefNannyFinishContext();
return NULL;
}
__Pyx_GOTREF(__pyx_v_args);
} else {
__pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
}
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_widget,&__pyx_n_s_desc,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
default:
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("blocksAction", 0, 3, 3, 1); __PYX_ERR(0, 399, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("blocksAction", 0, 3, 3, 2); __PYX_ERR(0, 399, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 3) ? pos_args : 3;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "blocksAction") < 0)) __PYX_ERR(0, 399, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) < 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_widget = values[1];
__pyx_v_desc = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("blocksAction", 0, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 399, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.blocksAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_38blocksAction(__pyx_self, __pyx_v_self, __pyx_v_widget, __pyx_v_desc, __pyx_v_args);
/* function exit code */
__Pyx_XDECREF(__pyx_v_args);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":408
* p.update(d)
* opts['options'] = p
* def doit(target:Widget, add_mode:str, o, w:Widget): # <<<<<<<<<<<<<<
* if isinstance(w, ModalView):
* return
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_12blocksAction_1doit(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_12blocksAction_1doit = {"doit", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_12blocksAction_1doit, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_12blocksAction_1doit(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_target = 0;
PyObject *__pyx_v_add_mode = 0;
CYTHON_UNUSED PyObject *__pyx_v_o = 0;
PyObject *__pyx_v_w = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("doit (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_target,&__pyx_n_s_add_mode,&__pyx_n_s_o,&__pyx_n_s_w,0};
PyObject* values[4] = {0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_add_mode)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("doit", 1, 4, 4, 1); __PYX_ERR(0, 408, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_o)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("doit", 1, 4, 4, 2); __PYX_ERR(0, 408, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("doit", 1, 4, 4, 3); __PYX_ERR(0, 408, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "doit") < 0)) __PYX_ERR(0, 408, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
}
__pyx_v_target = values[0];
__pyx_v_add_mode = ((PyObject*)values[1]);
__pyx_v_o = values[2];
__pyx_v_w = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("doit", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 408, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.blocksAction.doit", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_add_mode), (&PyString_Type), 1, "add_mode", 1))) __PYX_ERR(0, 408, __pyx_L1_error)
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_12blocksAction_doit(__pyx_self, __pyx_v_target, __pyx_v_add_mode, __pyx_v_o, __pyx_v_w);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_12blocksAction_doit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_target, PyObject *__pyx_v_add_mode, CYTHON_UNUSED PyObject *__pyx_v_o, PyObject *__pyx_v_w) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_t_2;
int __pyx_t_3;
int __pyx_t_4;
PyObject *__pyx_t_5 = NULL;
PyObject *__pyx_t_6 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("doit", 0);
/* "kivyblocks/blocks.pyx":409
* opts['options'] = p
* def doit(target:Widget, add_mode:str, o, w:Widget):
* if isinstance(w, ModalView): # <<<<<<<<<<<<<<
* return
*
*/
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ModalView); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 409, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyObject_IsInstance(__pyx_v_w, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 409, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":410
* def doit(target:Widget, add_mode:str, o, w:Widget):
* if isinstance(w, ModalView):
* return # <<<<<<<<<<<<<<
*
* if target and not w.parent:
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":409
* opts['options'] = p
* def doit(target:Widget, add_mode:str, o, w:Widget):
* if isinstance(w, ModalView): # <<<<<<<<<<<<<<
* return
*
*/
}
/* "kivyblocks/blocks.pyx":412
* return
*
* if target and not w.parent: # <<<<<<<<<<<<<<
* if add_mode == 'replace':
* target.clear_widgets()
*/
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_target); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 412, __pyx_L1_error)
if (__pyx_t_2) {
} else {
__pyx_t_3 = __pyx_t_2;
goto __pyx_L5_bool_binop_done;
}
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 412, __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, 412, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_4 = ((!__pyx_t_2) != 0);
__pyx_t_3 = __pyx_t_4;
__pyx_L5_bool_binop_done:;
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":413
*
* if target and not w.parent:
* if add_mode == 'replace': # <<<<<<<<<<<<<<
* target.clear_widgets()
* target.add_widget(w)
*/
__pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_add_mode, __pyx_n_s_replace, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 413, __pyx_L1_error)
__pyx_t_4 = (__pyx_t_3 != 0);
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":414
* if target and not w.parent:
* if add_mode == 'replace':
* target.clear_widgets() # <<<<<<<<<<<<<<
* target.add_widget(w)
*
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_target, __pyx_n_s_clear_widgets); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 414, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
}
}
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 414, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":413
*
* if target and not w.parent:
* if add_mode == 'replace': # <<<<<<<<<<<<<<
* target.clear_widgets()
* target.add_widget(w)
*/
}
/* "kivyblocks/blocks.pyx":415
* if add_mode == 'replace':
* target.clear_widgets()
* target.add_widget(w) # <<<<<<<<<<<<<<
*
* def doerr(o,e):
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_target, __pyx_n_s_add_widget); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 415, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
}
}
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_w) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_w);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 415, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":412
* return
*
* if target and not w.parent: # <<<<<<<<<<<<<<
* if add_mode == 'replace':
* target.clear_widgets()
*/
}
/* "kivyblocks/blocks.pyx":408
* p.update(d)
* opts['options'] = p
* def doit(target:Widget, add_mode:str, o, w:Widget): # <<<<<<<<<<<<<<
* if isinstance(w, ModalView):
* return
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.blocksAction.doit", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":417
* target.add_widget(w)
*
* def doerr(o,e): # <<<<<<<<<<<<<<
* Logger.info('Block: blocksAction(): desc=%s widgetBuild error'
* ,str(desc))
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_12blocksAction_3doerr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_12blocksAction_3doerr = {"doerr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_12blocksAction_3doerr, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_12blocksAction_3doerr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
CYTHON_UNUSED PyObject *__pyx_v_o = 0;
PyObject *__pyx_v_e = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("doerr (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_e,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_o)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_e)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("doerr", 1, 2, 2, 1); __PYX_ERR(0, 417, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "doerr") < 0)) __PYX_ERR(0, 417, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_o = values[0];
__pyx_v_e = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("doerr", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 417, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.blocksAction.doerr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_12blocksAction_2doerr(__pyx_self, __pyx_v_o, __pyx_v_e);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_12blocksAction_2doerr(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_o, PyObject *__pyx_v_e) {
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction *__pyx_cur_scope;
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction *__pyx_outer_scope;
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;
int __pyx_t_5;
PyObject *__pyx_t_6 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("doerr", 0);
__pyx_outer_scope = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
/* "kivyblocks/blocks.pyx":418
*
* def doerr(o,e):
* Logger.info('Block: blocksAction(): desc=%s widgetBuild error' # <<<<<<<<<<<<<<
* ,str(desc))
* raise e
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 418, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 418, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":419
* def doerr(o,e):
* Logger.info('Block: blocksAction(): desc=%s widgetBuild error'
* ,str(desc)) # <<<<<<<<<<<<<<
* raise e
*
*/
if (unlikely(!__pyx_cur_scope->__pyx_v_desc)) { __Pyx_RaiseClosureNameError("desc"); __PYX_ERR(0, 419, __pyx_L1_error) }
__pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_cur_scope->__pyx_v_desc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 419, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_5 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_s_Block_blocksAction_desc_s_widget, __pyx_t_2};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 418, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_s_Block_blocksAction_desc_s_widget, __pyx_t_2};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 418, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
{
__pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 418, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
}
__Pyx_INCREF(__pyx_kp_s_Block_blocksAction_desc_s_widget);
__Pyx_GIVEREF(__pyx_kp_s_Block_blocksAction_desc_s_widget);
PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_kp_s_Block_blocksAction_desc_s_widget);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_2);
__pyx_t_2 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 418, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":420
* Logger.info('Block: blocksAction(): desc=%s widgetBuild error'
* ,str(desc))
* raise e # <<<<<<<<<<<<<<
*
* b = Blocks()
*/
__Pyx_Raise(__pyx_v_e, 0, 0, 0);
__PYX_ERR(0, 420, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":417
* target.add_widget(w)
*
* def doerr(o,e): # <<<<<<<<<<<<<<
* Logger.info('Block: blocksAction(): desc=%s widgetBuild error'
* ,str(desc))
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.blocksAction.doerr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":399
* return Blocks.getWidgetById(desc.get('target'),from_widget=widget)
*
* def blocksAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace')
*/
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_38blocksAction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args) {
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction *__pyx_cur_scope;
PyObject *__pyx_v_target = NULL;
PyObject *__pyx_v_add_mode = NULL;
PyObject *__pyx_v_opts = NULL;
PyObject *__pyx_v_d = NULL;
PyObject *__pyx_v_p = NULL;
PyObject *__pyx_v_doit = 0;
PyObject *__pyx_v_doerr = 0;
PyObject *__pyx_v_b = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
int __pyx_t_4;
PyObject *__pyx_t_5 = NULL;
PyObject *__pyx_t_6 = NULL;
PyObject *__pyx_t_7 = NULL;
int __pyx_t_8;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("blocksAction", 0);
__pyx_cur_scope = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction *)__pyx_tp_new_10kivyblocks_6blocks___pyx_scope_struct__blocksAction(__pyx_ptype_10kivyblocks_6blocks___pyx_scope_struct__blocksAction, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction *)Py_None);
__Pyx_INCREF(Py_None);
__PYX_ERR(0, 399, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
__pyx_cur_scope->__pyx_v_desc = __pyx_v_desc;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_desc);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_desc);
/* "kivyblocks/blocks.pyx":400
*
* def blocksAction(self, widget:Widget, desc, *args):
* target = self.get_target(widget, desc) # <<<<<<<<<<<<<<
* add_mode = desc.get('mode','replace')
* opts = desc.get('options').copy()
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_get_target); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 400, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_widget, __pyx_cur_scope->__pyx_v_desc};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 400, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_widget, __pyx_cur_scope->__pyx_v_desc};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 400, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
__pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 400, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_widget);
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_desc);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_cur_scope->__pyx_v_desc);
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 400, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_target = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":401
* def blocksAction(self, widget:Widget, desc, *args):
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace') # <<<<<<<<<<<<<<
* opts = desc.get('options').copy()
* d = self.getActionData(widget,desc, *args)
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 401, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 401, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_add_mode = __pyx_t_2;
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":402
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace')
* opts = desc.get('options').copy() # <<<<<<<<<<<<<<
* d = self.getActionData(widget,desc, *args)
* p = opts.get('options',{}).copy()
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_n_s_options) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_n_s_options);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_copy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
}
}
__pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 402, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_opts = __pyx_t_2;
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":403
* add_mode = desc.get('mode','replace')
* opts = desc.get('options').copy()
* d = self.getActionData(widget,desc, *args) # <<<<<<<<<<<<<<
* p = opts.get('options',{}).copy()
* if d:
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getActionData); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 403, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = PyTuple_New(2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 403, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_widget);
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_desc);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_cur_scope->__pyx_v_desc);
__pyx_t_1 = PyNumber_Add(__pyx_t_5, __pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 403, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_1, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 403, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_d = __pyx_t_5;
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":404
* opts = desc.get('options').copy()
* d = self.getActionData(widget,desc, *args)
* p = opts.get('options',{}).copy() # <<<<<<<<<<<<<<
* if d:
* p.update(d)
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_opts, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 404, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 404, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_n_s_options, __pyx_t_3};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 404, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_n_s_options, __pyx_t_3};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 404, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
{
__pyx_t_7 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 404, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
}
__Pyx_INCREF(__pyx_n_s_options);
__Pyx_GIVEREF(__pyx_n_s_options);
PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_4, __pyx_n_s_options);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_4, __pyx_t_3);
__pyx_t_3 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 404, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_copy); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 404, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 404, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_p = __pyx_t_5;
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":405
* d = self.getActionData(widget,desc, *args)
* p = opts.get('options',{}).copy()
* if d: # <<<<<<<<<<<<<<
* p.update(d)
* opts['options'] = p
*/
__pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_d); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 405, __pyx_L1_error)
if (__pyx_t_8) {
/* "kivyblocks/blocks.pyx":406
* p = opts.get('options',{}).copy()
* if d:
* p.update(d) # <<<<<<<<<<<<<<
* opts['options'] = p
* def doit(target:Widget, add_mode:str, o, w:Widget):
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_p, __pyx_n_s_update); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 406, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_1, __pyx_v_d) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_d);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 406, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":405
* d = self.getActionData(widget,desc, *args)
* p = opts.get('options',{}).copy()
* if d: # <<<<<<<<<<<<<<
* p.update(d)
* opts['options'] = p
*/
}
/* "kivyblocks/blocks.pyx":407
* if d:
* p.update(d)
* opts['options'] = p # <<<<<<<<<<<<<<
* def doit(target:Widget, add_mode:str, o, w:Widget):
* if isinstance(w, ModalView):
*/
if (unlikely(PyObject_SetItem(__pyx_v_opts, __pyx_n_s_options, __pyx_v_p) < 0)) __PYX_ERR(0, 407, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":408
* p.update(d)
* opts['options'] = p
* def doit(target:Widget, add_mode:str, o, w:Widget): # <<<<<<<<<<<<<<
* if isinstance(w, ModalView):
* return
*/
__pyx_t_5 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 408, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Widget); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 408, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_target, __pyx_t_2) < 0) __PYX_ERR(0, 408, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_add_mode, __pyx_n_u_str_2) < 0) __PYX_ERR(0, 408, __pyx_L1_error)
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Widget); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 408, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_w, __pyx_t_2) < 0) __PYX_ERR(0, 408, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_12blocksAction_1doit, 0, __pyx_n_s_Blocks_blocksAction_locals_doit, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__12)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 408, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_2, __pyx_t_5);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_doit = __pyx_t_2;
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":417
* target.add_widget(w)
*
* def doerr(o,e): # <<<<<<<<<<<<<<
* Logger.info('Block: blocksAction(): desc=%s widgetBuild error'
* ,str(desc))
*/
__pyx_t_2 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_12blocksAction_3doerr, 0, __pyx_n_s_Blocks_blocksAction_locals_doerr, ((PyObject*)__pyx_cur_scope), __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 417, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_v_doerr = __pyx_t_2;
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":422
* raise e
*
* b = Blocks() # <<<<<<<<<<<<<<
* b.bind(on_built=partial(doit,target,add_mode))
* b.bind(on_failed=doerr)
*/
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Blocks); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 422, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
}
}
__pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 422, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_b = __pyx_t_2;
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":423
*
* b = Blocks()
* b.bind(on_built=partial(doit,target,add_mode)) # <<<<<<<<<<<<<<
* b.bind(on_failed=doerr)
* b.widgetBuild(opts)
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_b, __pyx_n_s_bind); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 423, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 423, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_partial); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 423, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_7, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_doit, __pyx_v_target, __pyx_v_add_mode};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 423, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_doit, __pyx_v_target, __pyx_v_add_mode};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 423, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
__pyx_t_6 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 423, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_v_doit);
__Pyx_GIVEREF(__pyx_v_doit);
PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_4, __pyx_v_doit);
__Pyx_INCREF(__pyx_v_target);
__Pyx_GIVEREF(__pyx_v_target);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_4, __pyx_v_target);
__Pyx_INCREF(__pyx_v_add_mode);
__Pyx_GIVEREF(__pyx_v_add_mode);
PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_4, __pyx_v_add_mode);
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 423, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_on_built, __pyx_t_1) < 0) __PYX_ERR(0, 423, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 423, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":424
* b = Blocks()
* b.bind(on_built=partial(doit,target,add_mode))
* b.bind(on_failed=doerr) # <<<<<<<<<<<<<<
* b.widgetBuild(opts)
*
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_b, __pyx_n_s_bind); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 424, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 424, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_on_failed, __pyx_v_doerr) < 0) __PYX_ERR(0, 424, __pyx_L1_error)
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_empty_tuple, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 424, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":425
* b.bind(on_built=partial(doit,target,add_mode))
* b.bind(on_failed=doerr)
* b.widgetBuild(opts) # <<<<<<<<<<<<<<
*
* def urlwidgetAction(self, widget:Widget, desc, *args):
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_b, __pyx_n_s_widgetBuild); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 425, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
}
}
__pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_1, __pyx_v_opts) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_opts);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 425, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":399
* return Blocks.getWidgetById(desc.get('target'),from_widget=widget)
*
* def blocksAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace')
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.blocksAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_target);
__Pyx_XDECREF(__pyx_v_add_mode);
__Pyx_XDECREF(__pyx_v_opts);
__Pyx_XDECREF(__pyx_v_d);
__Pyx_XDECREF(__pyx_v_p);
__Pyx_XDECREF(__pyx_v_doit);
__Pyx_XDECREF(__pyx_v_doerr);
__Pyx_XDECREF(__pyx_v_b);
__Pyx_DECREF(((PyObject *)__pyx_cur_scope));
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":427
* b.widgetBuild(opts)
*
* def urlwidgetAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace')
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_41urlwidgetAction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_41urlwidgetAction = {"urlwidgetAction", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_41urlwidgetAction, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_41urlwidgetAction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_widget = 0;
PyObject *__pyx_v_desc = 0;
PyObject *__pyx_v_args = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("urlwidgetAction (wrapper)", 0);
if (PyTuple_GET_SIZE(__pyx_args) > 3) {
__pyx_v_args = PyTuple_GetSlice(__pyx_args, 3, PyTuple_GET_SIZE(__pyx_args));
if (unlikely(!__pyx_v_args)) {
__Pyx_RefNannyFinishContext();
return NULL;
}
__Pyx_GOTREF(__pyx_v_args);
} else {
__pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
}
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_widget,&__pyx_n_s_desc,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
default:
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("urlwidgetAction", 0, 3, 3, 1); __PYX_ERR(0, 427, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("urlwidgetAction", 0, 3, 3, 2); __PYX_ERR(0, 427, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 3) ? pos_args : 3;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "urlwidgetAction") < 0)) __PYX_ERR(0, 427, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) < 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_widget = values[1];
__pyx_v_desc = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("urlwidgetAction", 0, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 427, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.urlwidgetAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_40urlwidgetAction(__pyx_self, __pyx_v_self, __pyx_v_widget, __pyx_v_desc, __pyx_v_args);
/* function exit code */
__Pyx_XDECREF(__pyx_v_args);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":443
* }
*
* def doit(target:Widget, add_mode:str, o, w:Widget): # <<<<<<<<<<<<<<
* if isinstance(w, ModalView):
* return
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_15urlwidgetAction_1doit(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_15urlwidgetAction_1doit = {"doit", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_15urlwidgetAction_1doit, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_15urlwidgetAction_1doit(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_target = 0;
PyObject *__pyx_v_add_mode = 0;
CYTHON_UNUSED PyObject *__pyx_v_o = 0;
PyObject *__pyx_v_w = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("doit (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_target,&__pyx_n_s_add_mode,&__pyx_n_s_o,&__pyx_n_s_w,0};
PyObject* values[4] = {0,0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
CYTHON_FALLTHROUGH;
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_target)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_add_mode)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("doit", 1, 4, 4, 1); __PYX_ERR(0, 443, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_o)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("doit", 1, 4, 4, 2); __PYX_ERR(0, 443, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 3:
if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_w)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("doit", 1, 4, 4, 3); __PYX_ERR(0, 443, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "doit") < 0)) __PYX_ERR(0, 443, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 4) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
values[3] = PyTuple_GET_ITEM(__pyx_args, 3);
}
__pyx_v_target = values[0];
__pyx_v_add_mode = ((PyObject*)values[1]);
__pyx_v_o = values[2];
__pyx_v_w = values[3];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("doit", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 443, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.urlwidgetAction.doit", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_add_mode), (&PyString_Type), 1, "add_mode", 1))) __PYX_ERR(0, 443, __pyx_L1_error)
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_15urlwidgetAction_doit(__pyx_self, __pyx_v_target, __pyx_v_add_mode, __pyx_v_o, __pyx_v_w);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_15urlwidgetAction_doit(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_target, PyObject *__pyx_v_add_mode, CYTHON_UNUSED PyObject *__pyx_v_o, PyObject *__pyx_v_w) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
int __pyx_t_2;
int __pyx_t_3;
int __pyx_t_4;
PyObject *__pyx_t_5 = NULL;
PyObject *__pyx_t_6 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("doit", 0);
/* "kivyblocks/blocks.pyx":444
*
* def doit(target:Widget, add_mode:str, o, w:Widget):
* if isinstance(w, ModalView): # <<<<<<<<<<<<<<
* return
*
*/
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_ModalView); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 444, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyObject_IsInstance(__pyx_v_w, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 444, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":445
* def doit(target:Widget, add_mode:str, o, w:Widget):
* if isinstance(w, ModalView):
* return # <<<<<<<<<<<<<<
*
* if target and not w.parent:
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":444
*
* def doit(target:Widget, add_mode:str, o, w:Widget):
* if isinstance(w, ModalView): # <<<<<<<<<<<<<<
* return
*
*/
}
/* "kivyblocks/blocks.pyx":447
* return
*
* if target and not w.parent: # <<<<<<<<<<<<<<
* if add_mode == 'replace':
* target.clear_widgets()
*/
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_target); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 447, __pyx_L1_error)
if (__pyx_t_2) {
} else {
__pyx_t_3 = __pyx_t_2;
goto __pyx_L5_bool_binop_done;
}
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_w, __pyx_n_s_parent); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 447, __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, 447, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_4 = ((!__pyx_t_2) != 0);
__pyx_t_3 = __pyx_t_4;
__pyx_L5_bool_binop_done:;
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":448
*
* if target and not w.parent:
* if add_mode == 'replace': # <<<<<<<<<<<<<<
* target.clear_widgets()
* target.add_widget(w)
*/
__pyx_t_3 = (__Pyx_PyString_Equals(__pyx_v_add_mode, __pyx_n_s_replace, Py_EQ)); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 448, __pyx_L1_error)
__pyx_t_4 = (__pyx_t_3 != 0);
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":449
* if target and not w.parent:
* if add_mode == 'replace':
* target.clear_widgets() # <<<<<<<<<<<<<<
* target.add_widget(w)
*
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_target, __pyx_n_s_clear_widgets); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 449, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
}
}
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 449, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":448
*
* if target and not w.parent:
* if add_mode == 'replace': # <<<<<<<<<<<<<<
* target.clear_widgets()
* target.add_widget(w)
*/
}
/* "kivyblocks/blocks.pyx":450
* if add_mode == 'replace':
* target.clear_widgets()
* target.add_widget(w) # <<<<<<<<<<<<<<
*
* def doerr(o,e):
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_target, __pyx_n_s_add_widget); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 450, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
}
}
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_6, __pyx_v_w) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_w);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 450, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":447
* return
*
* if target and not w.parent: # <<<<<<<<<<<<<<
* if add_mode == 'replace':
* target.clear_widgets()
*/
}
/* "kivyblocks/blocks.pyx":443
* }
*
* def doit(target:Widget, add_mode:str, o, w:Widget): # <<<<<<<<<<<<<<
* if isinstance(w, ModalView):
* return
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.urlwidgetAction.doit", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":452
* target.add_widget(w)
*
* def doerr(o,e): # <<<<<<<<<<<<<<
* Logger.info('Block: urlwidgetAction(): desc=%s widgetBuild error'
* ,str(desc))
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_15urlwidgetAction_3doerr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_15urlwidgetAction_3doerr = {"doerr", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_15urlwidgetAction_3doerr, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_15urlwidgetAction_3doerr(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
CYTHON_UNUSED PyObject *__pyx_v_o = 0;
CYTHON_UNUSED PyObject *__pyx_v_e = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("doerr (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_e,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_o)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_e)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("doerr", 1, 2, 2, 1); __PYX_ERR(0, 452, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "doerr") < 0)) __PYX_ERR(0, 452, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_o = values[0];
__pyx_v_e = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("doerr", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 452, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.urlwidgetAction.doerr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_15urlwidgetAction_2doerr(__pyx_self, __pyx_v_o, __pyx_v_e);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_15urlwidgetAction_2doerr(PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_o, CYTHON_UNUSED PyObject *__pyx_v_e) {
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction *__pyx_cur_scope;
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction *__pyx_outer_scope;
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;
int __pyx_t_5;
PyObject *__pyx_t_6 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("doerr", 0);
__pyx_outer_scope = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
/* "kivyblocks/blocks.pyx":453
*
* def doerr(o,e):
* Logger.info('Block: urlwidgetAction(): desc=%s widgetBuild error' # <<<<<<<<<<<<<<
* ,str(desc))
*
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 453, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 453, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":454
* def doerr(o,e):
* Logger.info('Block: urlwidgetAction(): desc=%s widgetBuild error'
* ,str(desc)) # <<<<<<<<<<<<<<
*
* b = Blocks()
*/
if (unlikely(!__pyx_cur_scope->__pyx_v_desc)) { __Pyx_RaiseClosureNameError("desc"); __PYX_ERR(0, 454, __pyx_L1_error) }
__pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_cur_scope->__pyx_v_desc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 454, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_5 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_s_Block_urlwidgetAction_desc_s_wid, __pyx_t_2};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 453, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_kp_s_Block_urlwidgetAction_desc_s_wid, __pyx_t_2};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 453, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
{
__pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 453, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
}
__Pyx_INCREF(__pyx_kp_s_Block_urlwidgetAction_desc_s_wid);
__Pyx_GIVEREF(__pyx_kp_s_Block_urlwidgetAction_desc_s_wid);
PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_kp_s_Block_urlwidgetAction_desc_s_wid);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_2);
__pyx_t_2 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 453, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":452
* target.add_widget(w)
*
* def doerr(o,e): # <<<<<<<<<<<<<<
* Logger.info('Block: urlwidgetAction(): desc=%s widgetBuild error'
* ,str(desc))
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.urlwidgetAction.doerr", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":427
* b.widgetBuild(opts)
*
* def urlwidgetAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace')
*/
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_40urlwidgetAction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args) {
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction *__pyx_cur_scope;
PyObject *__pyx_v_target = NULL;
PyObject *__pyx_v_add_mode = NULL;
PyObject *__pyx_v_opts = NULL;
PyObject *__pyx_v_p = NULL;
PyObject *__pyx_v_d = NULL;
PyObject *__pyx_v_doit = 0;
PyObject *__pyx_v_doerr = 0;
PyObject *__pyx_v_b = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
int __pyx_t_4;
PyObject *__pyx_t_5 = NULL;
PyObject *__pyx_t_6 = NULL;
PyObject *__pyx_t_7 = NULL;
int __pyx_t_8;
Py_ssize_t __pyx_t_9;
int __pyx_t_10;
int __pyx_t_11;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("urlwidgetAction", 0);
__pyx_cur_scope = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction *)__pyx_tp_new_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction(__pyx_ptype_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction *)Py_None);
__Pyx_INCREF(Py_None);
__PYX_ERR(0, 427, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
__pyx_cur_scope->__pyx_v_desc = __pyx_v_desc;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_desc);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_desc);
/* "kivyblocks/blocks.pyx":428
*
* def urlwidgetAction(self, widget:Widget, desc, *args):
* target = self.get_target(widget, desc) # <<<<<<<<<<<<<<
* add_mode = desc.get('mode','replace')
* opts = desc.get('options').copy()
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_get_target); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 428, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_widget, __pyx_cur_scope->__pyx_v_desc};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 428, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_widget, __pyx_cur_scope->__pyx_v_desc};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 428, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
__pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 428, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_widget);
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_desc);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_cur_scope->__pyx_v_desc);
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 428, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_target = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":429
* def urlwidgetAction(self, widget:Widget, desc, *args):
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace') # <<<<<<<<<<<<<<
* opts = desc.get('options').copy()
* p = opts.get('params',{}).copy()
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 429, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 429, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_add_mode = __pyx_t_2;
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":430
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace')
* opts = desc.get('options').copy() # <<<<<<<<<<<<<<
* p = opts.get('params',{}).copy()
* if len(args) >= 1 and isinstance(args[0],dict):
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 430, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_3, __pyx_n_s_options) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_n_s_options);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 430, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_copy); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 430, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
}
}
__pyx_t_2 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 430, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_opts = __pyx_t_2;
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":431
* add_mode = desc.get('mode','replace')
* opts = desc.get('options').copy()
* p = opts.get('params',{}).copy() # <<<<<<<<<<<<<<
* if len(args) >= 1 and isinstance(args[0],dict):
* p.update(args[0])
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_opts, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 431, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 431, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_n_s_params, __pyx_t_3};
__pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 431, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_n_s_params, __pyx_t_3};
__pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 431, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
{
__pyx_t_7 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 431, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_6); __pyx_t_6 = NULL;
}
__Pyx_INCREF(__pyx_n_s_params);
__Pyx_GIVEREF(__pyx_n_s_params);
PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_4, __pyx_n_s_params);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_4, __pyx_t_3);
__pyx_t_3 = 0;
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_7, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 431, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_copy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 431, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
}
}
__pyx_t_2 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 431, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_p = __pyx_t_2;
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":432
* opts = desc.get('options').copy()
* p = opts.get('params',{}).copy()
* if len(args) >= 1 and isinstance(args[0],dict): # <<<<<<<<<<<<<<
* p.update(args[0])
* d = self.getActionData(widget, desc, *args)
*/
__pyx_t_9 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 432, __pyx_L1_error)
__pyx_t_10 = ((__pyx_t_9 >= 1) != 0);
if (__pyx_t_10) {
} else {
__pyx_t_8 = __pyx_t_10;
goto __pyx_L4_bool_binop_done;
}
__pyx_t_2 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 432, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_10 = PyDict_Check(__pyx_t_2);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_11 = (__pyx_t_10 != 0);
__pyx_t_8 = __pyx_t_11;
__pyx_L4_bool_binop_done:;
if (__pyx_t_8) {
/* "kivyblocks/blocks.pyx":433
* p = opts.get('params',{}).copy()
* if len(args) >= 1 and isinstance(args[0],dict):
* p.update(args[0]) # <<<<<<<<<<<<<<
* d = self.getActionData(widget, desc, *args)
* if d:
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_p, __pyx_n_s_update); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 433, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 433, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_7);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
}
}
__pyx_t_2 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_7, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 433, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":432
* opts = desc.get('options').copy()
* p = opts.get('params',{}).copy()
* if len(args) >= 1 and isinstance(args[0],dict): # <<<<<<<<<<<<<<
* p.update(args[0])
* d = self.getActionData(widget, desc, *args)
*/
}
/* "kivyblocks/blocks.pyx":434
* if len(args) >= 1 and isinstance(args[0],dict):
* p.update(args[0])
* d = self.getActionData(widget, desc, *args) # <<<<<<<<<<<<<<
* if d:
* p.update(d)
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getActionData); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 434, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 434, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_widget);
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_desc);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_cur_scope->__pyx_v_desc);
__pyx_t_5 = PyNumber_Add(__pyx_t_1, __pyx_v_args); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 434, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 434, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_d = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":435
* p.update(args[0])
* d = self.getActionData(widget, desc, *args)
* if d: # <<<<<<<<<<<<<<
* p.update(d)
* opts['params'] = p
*/
__pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_d); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 435, __pyx_L1_error)
if (__pyx_t_8) {
/* "kivyblocks/blocks.pyx":436
* d = self.getActionData(widget, desc, *args)
* if d:
* p.update(d) # <<<<<<<<<<<<<<
* opts['params'] = p
* d = {
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_p, __pyx_n_s_update); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 436, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
}
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_v_d) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_d);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 436, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":435
* p.update(args[0])
* d = self.getActionData(widget, desc, *args)
* if d: # <<<<<<<<<<<<<<
* p.update(d)
* opts['params'] = p
*/
}
/* "kivyblocks/blocks.pyx":437
* if d:
* p.update(d)
* opts['params'] = p # <<<<<<<<<<<<<<
* d = {
* 'widgettype' : 'urlwidget',
*/
if (unlikely(PyObject_SetItem(__pyx_v_opts, __pyx_n_s_params, __pyx_v_p) < 0)) __PYX_ERR(0, 437, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":439
* opts['params'] = p
* d = {
* 'widgettype' : 'urlwidget', # <<<<<<<<<<<<<<
* 'options': opts
* }
*/
__pyx_t_1 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 439, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_widgettype, __pyx_n_s_urlwidget) < 0) __PYX_ERR(0, 439, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":440
* d = {
* 'widgettype' : 'urlwidget',
* 'options': opts # <<<<<<<<<<<<<<
* }
*
*/
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_options, __pyx_v_opts) < 0) __PYX_ERR(0, 439, __pyx_L1_error)
__Pyx_DECREF_SET(__pyx_v_d, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":443
* }
*
* def doit(target:Widget, add_mode:str, o, w:Widget): # <<<<<<<<<<<<<<
* if isinstance(w, ModalView):
* return
*/
__pyx_t_1 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Widget); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_target, __pyx_t_5) < 0) __PYX_ERR(0, 443, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_add_mode, __pyx_n_u_str_2) < 0) __PYX_ERR(0, 443, __pyx_L1_error)
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Widget); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_w, __pyx_t_5) < 0) __PYX_ERR(0, 443, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_15urlwidgetAction_1doit, 0, __pyx_n_s_Blocks_urlwidgetAction_locals_do, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__16)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_5, __pyx_t_1);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_doit = __pyx_t_5;
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":452
* target.add_widget(w)
*
* def doerr(o,e): # <<<<<<<<<<<<<<
* Logger.info('Block: urlwidgetAction(): desc=%s widgetBuild error'
* ,str(desc))
*/
__pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_15urlwidgetAction_3doerr, 0, __pyx_n_s_Blocks_urlwidgetAction_locals_do_2, ((PyObject*)__pyx_cur_scope), __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__18)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_v_doerr = __pyx_t_5;
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":456
* ,str(desc))
*
* b = Blocks() # <<<<<<<<<<<<<<
* b.bind(on_built=partial(doit,target,add_mode))
* b.bind(on_failed=doerr)
*/
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Blocks); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
}
}
__pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 456, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_b = __pyx_t_5;
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":457
*
* b = Blocks()
* b.bind(on_built=partial(doit,target,add_mode)) # <<<<<<<<<<<<<<
* b.bind(on_failed=doerr)
* b.widgetBuild(d)
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_b, __pyx_n_s_bind); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 457, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 457, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_partial); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 457, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_7, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_doit, __pyx_v_target, __pyx_v_add_mode};
__pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 457, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) {
PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_v_doit, __pyx_v_target, __pyx_v_add_mode};
__pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 457, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_2);
} else
#endif
{
__pyx_t_6 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 457, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_v_doit);
__Pyx_GIVEREF(__pyx_v_doit);
PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_4, __pyx_v_doit);
__Pyx_INCREF(__pyx_v_target);
__Pyx_GIVEREF(__pyx_v_target);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_4, __pyx_v_target);
__Pyx_INCREF(__pyx_v_add_mode);
__Pyx_GIVEREF(__pyx_v_add_mode);
PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_4, __pyx_v_add_mode);
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 457, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_on_built, __pyx_t_2) < 0) __PYX_ERR(0, 457, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 457, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":458
* b = Blocks()
* b.bind(on_built=partial(doit,target,add_mode))
* b.bind(on_failed=doerr) # <<<<<<<<<<<<<<
* b.widgetBuild(d)
*
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_b, __pyx_n_s_bind); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_t_1, __pyx_n_s_on_failed, __pyx_v_doerr) < 0) __PYX_ERR(0, 458, __pyx_L1_error)
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_empty_tuple, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 458, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":459
* b.bind(on_built=partial(doit,target,add_mode))
* b.bind(on_failed=doerr)
* b.widgetBuild(d) # <<<<<<<<<<<<<<
*
* def getActionData(self, widget:Widget, desc, *args):
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_b, __pyx_n_s_widgetBuild); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
}
}
__pyx_t_5 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_2, __pyx_v_d) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_d);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 459, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":427
* b.widgetBuild(opts)
*
* def urlwidgetAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace')
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_7);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.urlwidgetAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_target);
__Pyx_XDECREF(__pyx_v_add_mode);
__Pyx_XDECREF(__pyx_v_opts);
__Pyx_XDECREF(__pyx_v_p);
__Pyx_XDECREF(__pyx_v_d);
__Pyx_XDECREF(__pyx_v_doit);
__Pyx_XDECREF(__pyx_v_doerr);
__Pyx_XDECREF(__pyx_v_b);
__Pyx_DECREF(((PyObject *)__pyx_cur_scope));
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":461
* b.widgetBuild(d)
*
* def getActionData(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* Logger.info('Block: getActionData(): desc=%s args=%s'
* ,str(desc), args)
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_43getActionData(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_43getActionData = {"getActionData", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_43getActionData, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_43getActionData(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_widget = 0;
PyObject *__pyx_v_desc = 0;
PyObject *__pyx_v_args = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("getActionData (wrapper)", 0);
if (PyTuple_GET_SIZE(__pyx_args) > 3) {
__pyx_v_args = PyTuple_GetSlice(__pyx_args, 3, PyTuple_GET_SIZE(__pyx_args));
if (unlikely(!__pyx_v_args)) {
__Pyx_RefNannyFinishContext();
return NULL;
}
__Pyx_GOTREF(__pyx_v_args);
} else {
__pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
}
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_widget,&__pyx_n_s_desc,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
default:
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("getActionData", 0, 3, 3, 1); __PYX_ERR(0, 461, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("getActionData", 0, 3, 3, 2); __PYX_ERR(0, 461, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 3) ? pos_args : 3;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "getActionData") < 0)) __PYX_ERR(0, 461, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) < 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_widget = values[1];
__pyx_v_desc = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("getActionData", 0, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 461, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.getActionData", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_42getActionData(__pyx_self, __pyx_v_self, __pyx_v_widget, __pyx_v_desc, __pyx_v_args);
/* function exit code */
__Pyx_XDECREF(__pyx_v_args);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_42getActionData(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args) {
PyObject *__pyx_v_data = NULL;
PyObject *__pyx_v_rtdesc = NULL;
PyObject *__pyx_v_rt = NULL;
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;
int __pyx_t_5;
PyObject *__pyx_t_6 = NULL;
int __pyx_t_7;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("getActionData", 0);
/* "kivyblocks/blocks.pyx":462
*
* def getActionData(self, widget:Widget, desc, *args):
* Logger.info('Block: getActionData(): desc=%s args=%s' # <<<<<<<<<<<<<<
* ,str(desc), args)
*
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 462, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 462, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":463
* def getActionData(self, widget:Widget, desc, *args):
* Logger.info('Block: getActionData(): desc=%s args=%s'
* ,str(desc), args) # <<<<<<<<<<<<<<
*
* data = {}
*/
__pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_desc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 463, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_5 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_kp_s_Block_getActionData_desc_s_args, __pyx_t_2, __pyx_v_args};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 462, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_kp_s_Block_getActionData_desc_s_args, __pyx_t_2, __pyx_v_args};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 462, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
{
__pyx_t_6 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 462, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL;
}
__Pyx_INCREF(__pyx_kp_s_Block_getActionData_desc_s_args);
__Pyx_GIVEREF(__pyx_kp_s_Block_getActionData_desc_s_args);
PyTuple_SET_ITEM(__pyx_t_6, 0+__pyx_t_5, __pyx_kp_s_Block_getActionData_desc_s_args);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_t_2);
__Pyx_INCREF(__pyx_v_args);
__Pyx_GIVEREF(__pyx_v_args);
PyTuple_SET_ITEM(__pyx_t_6, 2+__pyx_t_5, __pyx_v_args);
__pyx_t_2 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 462, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":465
* ,str(desc), args)
*
* data = {} # <<<<<<<<<<<<<<
* rtdesc = self.build_rtdesc(desc)
* if rtdesc:
*/
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 465, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_data = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":466
*
* data = {}
* rtdesc = self.build_rtdesc(desc) # <<<<<<<<<<<<<<
* if rtdesc:
* rt = self.get_rtdata(widget, rtdesc, *args)
*/
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_build_rtdesc); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 466, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_v_desc) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_desc);
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 466, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_rtdesc = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":467
* data = {}
* rtdesc = self.build_rtdesc(desc)
* if rtdesc: # <<<<<<<<<<<<<<
* rt = self.get_rtdata(widget, rtdesc, *args)
* if rt:
*/
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_rtdesc); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 467, __pyx_L1_error)
if (__pyx_t_7) {
/* "kivyblocks/blocks.pyx":468
* rtdesc = self.build_rtdesc(desc)
* if rtdesc:
* rt = self.get_rtdata(widget, rtdesc, *args) # <<<<<<<<<<<<<<
* if rt:
* data.update(rt)
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_get_rtdata); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 468, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_rtdesc);
__Pyx_GIVEREF(__pyx_v_rtdesc);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_rtdesc);
__pyx_t_6 = PyNumber_Add(__pyx_t_3, __pyx_v_args); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 468, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_6, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 468, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_v_rt = __pyx_t_3;
__pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":469
* if rtdesc:
* rt = self.get_rtdata(widget, rtdesc, *args)
* if rt: # <<<<<<<<<<<<<<
* data.update(rt)
* if desc.get('keymapping'):
*/
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_rt); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 469, __pyx_L1_error)
if (__pyx_t_7) {
/* "kivyblocks/blocks.pyx":470
* rt = self.get_rtdata(widget, rtdesc, *args)
* if rt:
* data.update(rt) # <<<<<<<<<<<<<<
* if desc.get('keymapping'):
* data = keyMapping(data, desc.get('keymapping'))
*/
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_data, __pyx_n_s_update); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 470, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_6, function);
}
}
__pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_1, __pyx_v_rt) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_v_rt);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 470, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":469
* if rtdesc:
* rt = self.get_rtdata(widget, rtdesc, *args)
* if rt: # <<<<<<<<<<<<<<
* data.update(rt)
* if desc.get('keymapping'):
*/
}
/* "kivyblocks/blocks.pyx":471
* if rt:
* data.update(rt)
* if desc.get('keymapping'): # <<<<<<<<<<<<<<
* data = keyMapping(data, desc.get('keymapping'))
* return data
*/
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 471, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_6))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_6);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_6, function);
}
}
__pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_1, __pyx_n_s_keymapping) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_n_s_keymapping);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 471, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 471, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
if (__pyx_t_7) {
/* "kivyblocks/blocks.pyx":472
* data.update(rt)
* if desc.get('keymapping'):
* data = keyMapping(data, desc.get('keymapping')) # <<<<<<<<<<<<<<
* return data
*
*/
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_keyMapping); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 472, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 472, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_4, __pyx_n_s_keymapping) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_keymapping);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 472, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
__pyx_t_5 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_6, function);
__pyx_t_5 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_data, __pyx_t_1};
__pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 472, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) {
PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_v_data, __pyx_t_1};
__pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 472, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
} else
#endif
{
__pyx_t_4 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 472, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__pyx_t_2) {
__Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_2); __pyx_t_2 = NULL;
}
__Pyx_INCREF(__pyx_v_data);
__Pyx_GIVEREF(__pyx_v_data);
PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_5, __pyx_v_data);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_5, __pyx_t_1);
__pyx_t_1 = 0;
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_4, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 472, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF_SET(__pyx_v_data, __pyx_t_3);
__pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":471
* if rt:
* data.update(rt)
* if desc.get('keymapping'): # <<<<<<<<<<<<<<
* data = keyMapping(data, desc.get('keymapping'))
* return data
*/
}
/* "kivyblocks/blocks.pyx":467
* data = {}
* rtdesc = self.build_rtdesc(desc)
* if rtdesc: # <<<<<<<<<<<<<<
* rt = self.get_rtdata(widget, rtdesc, *args)
* if rt:
*/
}
/* "kivyblocks/blocks.pyx":473
* if desc.get('keymapping'):
* data = keyMapping(data, desc.get('keymapping'))
* return data # <<<<<<<<<<<<<<
*
* def registedfunctionAction(self, widget:Widget, desc, *args):
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_data);
__pyx_r = __pyx_v_data;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":461
* b.widgetBuild(d)
*
* def getActionData(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* Logger.info('Block: getActionData(): desc=%s args=%s'
* ,str(desc), args)
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.getActionData", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_data);
__Pyx_XDECREF(__pyx_v_rtdesc);
__Pyx_XDECREF(__pyx_v_rt);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":475
* return data
*
* def registedfunctionAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* rf = RegisterFunction()
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_45registedfunctionAction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_45registedfunctionAction = {"registedfunctionAction", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_45registedfunctionAction, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_45registedfunctionAction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_widget = 0;
PyObject *__pyx_v_desc = 0;
PyObject *__pyx_v_args = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("registedfunctionAction (wrapper)", 0);
if (PyTuple_GET_SIZE(__pyx_args) > 3) {
__pyx_v_args = PyTuple_GetSlice(__pyx_args, 3, PyTuple_GET_SIZE(__pyx_args));
if (unlikely(!__pyx_v_args)) {
__Pyx_RefNannyFinishContext();
return NULL;
}
__Pyx_GOTREF(__pyx_v_args);
} else {
__pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
}
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_widget,&__pyx_n_s_desc,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
default:
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("registedfunctionAction", 0, 3, 3, 1); __PYX_ERR(0, 475, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("registedfunctionAction", 0, 3, 3, 2); __PYX_ERR(0, 475, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 3) ? pos_args : 3;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "registedfunctionAction") < 0)) __PYX_ERR(0, 475, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) < 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_widget = values[1];
__pyx_v_desc = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("registedfunctionAction", 0, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 475, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.registedfunctionAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_44registedfunctionAction(__pyx_self, __pyx_v_self, __pyx_v_widget, __pyx_v_desc, __pyx_v_args);
/* function exit code */
__Pyx_XDECREF(__pyx_v_args);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_44registedfunctionAction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args) {
PyObject *__pyx_v_target = NULL;
PyObject *__pyx_v_rf = NULL;
PyObject *__pyx_v_name = NULL;
PyObject *__pyx_v_func = NULL;
PyObject *__pyx_v_params = NULL;
PyObject *__pyx_v_d = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
int __pyx_t_4;
PyObject *__pyx_t_5 = NULL;
int __pyx_t_6;
int __pyx_t_7;
PyObject *__pyx_t_8 = NULL;
PyObject *__pyx_t_9 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("registedfunctionAction", 0);
/* "kivyblocks/blocks.pyx":476
*
* def registedfunctionAction(self, widget:Widget, desc, *args):
* target = self.get_target(widget, desc) # <<<<<<<<<<<<<<
* rf = RegisterFunction()
* name = desc.get('rfname')
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_get_target); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 476, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_widget, __pyx_v_desc};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 476, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_widget, __pyx_v_desc};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 476, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
__pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 476, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_desc);
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 476, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_target = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":477
* def registedfunctionAction(self, widget:Widget, desc, *args):
* target = self.get_target(widget, desc)
* rf = RegisterFunction() # <<<<<<<<<<<<<<
* name = desc.get('rfname')
* func = rf.get(name)
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_RegisterFunction); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 477, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 477, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_rf = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":478
* target = self.get_target(widget, desc)
* rf = RegisterFunction()
* name = desc.get('rfname') # <<<<<<<<<<<<<<
* func = rf.get(name)
* if func is None:
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 478, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_n_s_rfname) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_rfname);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 478, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_name = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":479
* rf = RegisterFunction()
* name = desc.get('rfname')
* func = rf.get(name) # <<<<<<<<<<<<<<
* if func is None:
* Logger.info('Block: desc=%s rfname(%s) not found',
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_rf, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 479, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_5, __pyx_v_name) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_name);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 479, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_func = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":480
* name = desc.get('rfname')
* func = rf.get(name)
* if func is None: # <<<<<<<<<<<<<<
* Logger.info('Block: desc=%s rfname(%s) not found',
* str(desc), name)
*/
__pyx_t_6 = (__pyx_v_func == Py_None);
__pyx_t_7 = (__pyx_t_6 != 0);
if (unlikely(__pyx_t_7)) {
/* "kivyblocks/blocks.pyx":481
* func = rf.get(name)
* if func is None:
* Logger.info('Block: desc=%s rfname(%s) not found', # <<<<<<<<<<<<<<
* str(desc), name)
* raise Exception('rfname(%s) not found' % name)
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 481, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 481, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":482
* if func is None:
* Logger.info('Block: desc=%s rfname(%s) not found',
* str(desc), name) # <<<<<<<<<<<<<<
* raise Exception('rfname(%s) not found' % name)
*
*/
__pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_desc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 482, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_kp_s_Block_desc_s_rfname_s_not_found, __pyx_t_2, __pyx_v_name};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 481, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[4] = {__pyx_t_3, __pyx_kp_s_Block_desc_s_rfname_s_not_found, __pyx_t_2, __pyx_v_name};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 481, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
{
__pyx_t_8 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 481, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_kp_s_Block_desc_s_rfname_s_not_found);
__Pyx_GIVEREF(__pyx_kp_s_Block_desc_s_rfname_s_not_found);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_4, __pyx_kp_s_Block_desc_s_rfname_s_not_found);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_4, __pyx_t_2);
__Pyx_INCREF(__pyx_v_name);
__Pyx_GIVEREF(__pyx_v_name);
PyTuple_SET_ITEM(__pyx_t_8, 2+__pyx_t_4, __pyx_v_name);
__pyx_t_2 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 481, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":483
* Logger.info('Block: desc=%s rfname(%s) not found',
* str(desc), name)
* raise Exception('rfname(%s) not found' % name) # <<<<<<<<<<<<<<
*
* params = desc.get('params',{}).copy()
*/
__pyx_t_1 = __Pyx_PyString_FormatSafe(__pyx_kp_s_rfname_s_not_found, __pyx_v_name); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 483, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 483, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_Raise(__pyx_t_5, 0, 0, 0);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__PYX_ERR(0, 483, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":480
* name = desc.get('rfname')
* func = rf.get(name)
* if func is None: # <<<<<<<<<<<<<<
* Logger.info('Block: desc=%s rfname(%s) not found',
* str(desc), name)
*/
}
/* "kivyblocks/blocks.pyx":485
* raise Exception('rfname(%s) not found' % name)
*
* params = desc.get('params',{}).copy() # <<<<<<<<<<<<<<
* d = self.getActionData(widget,desc, *args)
* if d:
*/
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 485, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 485, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_n_s_params, __pyx_t_2};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 485, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_n_s_params, __pyx_t_2};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 485, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
{
__pyx_t_9 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 485, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_n_s_params);
__Pyx_GIVEREF(__pyx_n_s_params);
PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_4, __pyx_n_s_params);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_4, __pyx_t_2);
__pyx_t_2 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 485, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_copy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 485, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
}
}
__pyx_t_5 = (__pyx_t_1) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_1) : __Pyx_PyObject_CallNoArg(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 485, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_v_params = __pyx_t_5;
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":486
*
* params = desc.get('params',{}).copy()
* d = self.getActionData(widget,desc, *args) # <<<<<<<<<<<<<<
* if d:
* params.update(d)
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getActionData); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 486, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 486, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_desc);
__pyx_t_1 = PyNumber_Add(__pyx_t_8, __pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 486, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_1, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 486, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_v_d = __pyx_t_8;
__pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":487
* params = desc.get('params',{}).copy()
* d = self.getActionData(widget,desc, *args)
* if d: # <<<<<<<<<<<<<<
* params.update(d)
* func(target, *args, **params)
*/
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_d); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 487, __pyx_L1_error)
if (__pyx_t_7) {
/* "kivyblocks/blocks.pyx":488
* d = self.getActionData(widget,desc, *args)
* if d:
* params.update(d) # <<<<<<<<<<<<<<
* func(target, *args, **params)
*
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_params, __pyx_n_s_update); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 488, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
}
}
__pyx_t_8 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_5, __pyx_v_d) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_d);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 488, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":487
* params = desc.get('params',{}).copy()
* d = self.getActionData(widget,desc, *args)
* if d: # <<<<<<<<<<<<<<
* params.update(d)
* func(target, *args, **params)
*/
}
/* "kivyblocks/blocks.pyx":489
* if d:
* params.update(d)
* func(target, *args, **params) # <<<<<<<<<<<<<<
*
* def scriptAction(self, widget:Widget, desc, *args):
*/
__pyx_t_8 = PyTuple_New(1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 489, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_INCREF(__pyx_v_target);
__Pyx_GIVEREF(__pyx_v_target);
PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_v_target);
__pyx_t_1 = PyNumber_Add(__pyx_t_8, __pyx_v_args); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 489, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(__pyx_v_params == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
__PYX_ERR(0, 489, __pyx_L1_error)
}
if (likely(PyDict_CheckExact(__pyx_v_params))) {
__pyx_t_8 = PyDict_Copy(__pyx_v_params); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 489, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
} else {
__pyx_t_8 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_params, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 489, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
}
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_v_func, __pyx_t_1, __pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 489, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":475
* return data
*
* def registedfunctionAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* rf = RegisterFunction()
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.registedfunctionAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_target);
__Pyx_XDECREF(__pyx_v_rf);
__Pyx_XDECREF(__pyx_v_name);
__Pyx_XDECREF(__pyx_v_func);
__Pyx_XDECREF(__pyx_v_params);
__Pyx_XDECREF(__pyx_v_d);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":491
* func(target, *args, **params)
*
* def scriptAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* script = desc.get('script')
* if not script:
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_47scriptAction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_47scriptAction = {"scriptAction", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_47scriptAction, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_47scriptAction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_widget = 0;
PyObject *__pyx_v_desc = 0;
PyObject *__pyx_v_args = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("scriptAction (wrapper)", 0);
if (PyTuple_GET_SIZE(__pyx_args) > 3) {
__pyx_v_args = PyTuple_GetSlice(__pyx_args, 3, PyTuple_GET_SIZE(__pyx_args));
if (unlikely(!__pyx_v_args)) {
__Pyx_RefNannyFinishContext();
return NULL;
}
__Pyx_GOTREF(__pyx_v_args);
} else {
__pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
}
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_widget,&__pyx_n_s_desc,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
default:
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("scriptAction", 0, 3, 3, 1); __PYX_ERR(0, 491, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("scriptAction", 0, 3, 3, 2); __PYX_ERR(0, 491, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 3) ? pos_args : 3;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "scriptAction") < 0)) __PYX_ERR(0, 491, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) < 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_widget = values[1];
__pyx_v_desc = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("scriptAction", 0, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 491, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.scriptAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_46scriptAction(__pyx_self, __pyx_v_self, __pyx_v_widget, __pyx_v_desc, __pyx_v_args);
/* function exit code */
__Pyx_XDECREF(__pyx_v_args);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_46scriptAction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args) {
PyObject *__pyx_v_script = NULL;
PyObject *__pyx_v_target = NULL;
PyObject *__pyx_v_d = NULL;
PyObject *__pyx_v_ns = NULL;
PyObject *__pyx_v_e = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
int __pyx_t_4;
int __pyx_t_5;
PyObject *__pyx_t_6 = NULL;
int __pyx_t_7;
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;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("scriptAction", 0);
/* "kivyblocks/blocks.pyx":492
*
* def scriptAction(self, widget:Widget, desc, *args):
* script = desc.get('script') # <<<<<<<<<<<<<<
* if not script:
* Logger.info('Block: scriptAction():desc(%s) target not found',
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 492, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_s_script_2) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_script_2);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 492, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_script = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":493
* def scriptAction(self, widget:Widget, desc, *args):
* script = desc.get('script')
* if not script: # <<<<<<<<<<<<<<
* Logger.info('Block: scriptAction():desc(%s) target not found',
* str(desc))
*/
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_script); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 493, __pyx_L1_error)
__pyx_t_5 = ((!__pyx_t_4) != 0);
if (__pyx_t_5) {
/* "kivyblocks/blocks.pyx":494
* script = desc.get('script')
* if not script:
* Logger.info('Block: scriptAction():desc(%s) target not found', # <<<<<<<<<<<<<<
* str(desc))
* return
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 494, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 494, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":495
* if not script:
* Logger.info('Block: scriptAction():desc(%s) target not found',
* str(desc)) # <<<<<<<<<<<<<<
* return
* target = self.get_target(widget, desc)
*/
__pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_desc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 495, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_kp_s_Block_scriptAction_desc_s_target, __pyx_t_2};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_kp_s_Block_scriptAction_desc_s_target, __pyx_t_2};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
{
__pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 494, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
}
__Pyx_INCREF(__pyx_kp_s_Block_scriptAction_desc_s_target);
__Pyx_GIVEREF(__pyx_kp_s_Block_scriptAction_desc_s_target);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_kp_s_Block_scriptAction_desc_s_target);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_2);
__pyx_t_2 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 494, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":496
* Logger.info('Block: scriptAction():desc(%s) target not found',
* str(desc))
* return # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* d = self.getActionData(widget,desc, *args)
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":493
* def scriptAction(self, widget:Widget, desc, *args):
* script = desc.get('script')
* if not script: # <<<<<<<<<<<<<<
* Logger.info('Block: scriptAction():desc(%s) target not found',
* str(desc))
*/
}
/* "kivyblocks/blocks.pyx":497
* str(desc))
* return
* target = self.get_target(widget, desc) # <<<<<<<<<<<<<<
* d = self.getActionData(widget,desc, *args)
* ns = {
*/
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_get_target); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 497, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_8 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_widget, __pyx_v_desc};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_8, __pyx_v_widget, __pyx_v_desc};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
__pyx_t_2 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 497, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (__pyx_t_8) {
__Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_8); __pyx_t_8 = NULL;
}
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_2, 0+__pyx_t_7, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_2, 1+__pyx_t_7, __pyx_v_desc);
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_target = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":498
* return
* target = self.get_target(widget, desc)
* d = self.getActionData(widget,desc, *args) # <<<<<<<<<<<<<<
* ns = {
* "self":target,
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getActionData); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_desc);
__pyx_t_2 = PyNumber_Add(__pyx_t_3, __pyx_v_args); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_2, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 498, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_d = __pyx_t_3;
__pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":500
* d = self.getActionData(widget,desc, *args)
* ns = {
* "self":target, # <<<<<<<<<<<<<<
* "args":args,
* "kwargs":d
*/
__pyx_t_3 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 500, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_self, __pyx_v_target) < 0) __PYX_ERR(0, 500, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":501
* ns = {
* "self":target,
* "args":args, # <<<<<<<<<<<<<<
* "kwargs":d
* }
*/
if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_args, __pyx_v_args) < 0) __PYX_ERR(0, 500, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":502
* "self":target,
* "args":args,
* "kwargs":d # <<<<<<<<<<<<<<
* }
* if d:
*/
if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_kwargs, __pyx_v_d) < 0) __PYX_ERR(0, 500, __pyx_L1_error)
__pyx_v_ns = ((PyObject*)__pyx_t_3);
__pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":504
* "kwargs":d
* }
* if d: # <<<<<<<<<<<<<<
* ns.update(d)
* try:
*/
__pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_v_d); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 504, __pyx_L1_error)
if (__pyx_t_5) {
/* "kivyblocks/blocks.pyx":505
* }
* if d:
* ns.update(d) # <<<<<<<<<<<<<<
* try:
* self.eval(script, ns)
*/
__pyx_t_3 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyDict_Type_update, __pyx_v_ns, __pyx_v_d); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 505, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":504
* "kwargs":d
* }
* if d: # <<<<<<<<<<<<<<
* ns.update(d)
* try:
*/
}
/* "kivyblocks/blocks.pyx":506
* if d:
* ns.update(d)
* try: # <<<<<<<<<<<<<<
* self.eval(script, ns)
* except Exception as e:
*/
{
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ExceptionSave(&__pyx_t_9, &__pyx_t_10, &__pyx_t_11);
__Pyx_XGOTREF(__pyx_t_9);
__Pyx_XGOTREF(__pyx_t_10);
__Pyx_XGOTREF(__pyx_t_11);
/*try:*/ {
/* "kivyblocks/blocks.pyx":507
* ns.update(d)
* try:
* self.eval(script, ns) # <<<<<<<<<<<<<<
* except Exception as e:
* print_exc()
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_eval); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 507, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_script, __pyx_v_ns};
__pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 507, __pyx_L5_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_v_script, __pyx_v_ns};
__pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 507, __pyx_L5_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GOTREF(__pyx_t_3);
} else
#endif
{
__pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 507, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_1) {
__Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_1); __pyx_t_1 = NULL;
}
__Pyx_INCREF(__pyx_v_script);
__Pyx_GIVEREF(__pyx_v_script);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_v_script);
__Pyx_INCREF(__pyx_v_ns);
__Pyx_GIVEREF(__pyx_v_ns);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_ns);
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 507, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":506
* if d:
* ns.update(d)
* try: # <<<<<<<<<<<<<<
* self.eval(script, ns)
* except Exception as e:
*/
}
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0;
__Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0;
goto __pyx_L10_try_end;
__pyx_L5_error:;
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":508
* try:
* self.eval(script, ns)
* except Exception as e: # <<<<<<<<<<<<<<
* print_exc()
* print(e)
*/
__pyx_t_7 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_7) {
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.scriptAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
if (__Pyx_GetException(&__pyx_t_3, &__pyx_t_2, &__pyx_t_8) < 0) __PYX_ERR(0, 508, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GOTREF(__pyx_t_8);
__Pyx_INCREF(__pyx_t_2);
__pyx_v_e = __pyx_t_2;
/* "kivyblocks/blocks.pyx":509
* self.eval(script, ns)
* except Exception as e:
* print_exc() # <<<<<<<<<<<<<<
* print(e)
*
*/
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_print_exc); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 509, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_12 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) {
__pyx_t_12 = PyMethod_GET_SELF(__pyx_t_6);
if (likely(__pyx_t_12)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6);
__Pyx_INCREF(__pyx_t_12);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_6, function);
}
}
__pyx_t_1 = (__pyx_t_12) ? __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_12) : __Pyx_PyObject_CallNoArg(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 509, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":510
* except Exception as e:
* print_exc()
* print(e) # <<<<<<<<<<<<<<
*
* def build_rtdesc(self, desc):
*/
if (__Pyx_PrintOne(0, __pyx_v_e) < 0) __PYX_ERR(0, 510, __pyx_L7_except_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
goto __pyx_L6_exception_handled;
}
goto __pyx_L7_except_error;
__pyx_L7_except_error:;
/* "kivyblocks/blocks.pyx":506
* if d:
* ns.update(d)
* try: # <<<<<<<<<<<<<<
* self.eval(script, ns)
* except Exception as e:
*/
__Pyx_XGIVEREF(__pyx_t_9);
__Pyx_XGIVEREF(__pyx_t_10);
__Pyx_XGIVEREF(__pyx_t_11);
__Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
goto __pyx_L1_error;
__pyx_L6_exception_handled:;
__Pyx_XGIVEREF(__pyx_t_9);
__Pyx_XGIVEREF(__pyx_t_10);
__Pyx_XGIVEREF(__pyx_t_11);
__Pyx_ExceptionReset(__pyx_t_9, __pyx_t_10, __pyx_t_11);
__pyx_L10_try_end:;
}
/* "kivyblocks/blocks.pyx":491
* func(target, *args, **params)
*
* def scriptAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* script = desc.get('script')
* if not script:
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.scriptAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_script);
__Pyx_XDECREF(__pyx_v_target);
__Pyx_XDECREF(__pyx_v_d);
__Pyx_XDECREF(__pyx_v_ns);
__Pyx_XDECREF(__pyx_v_e);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":512
* print(e)
*
* def build_rtdesc(self, desc): # <<<<<<<<<<<<<<
* rtdesc = desc.get('rtdata')
* if not rtdesc:
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_49build_rtdesc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_49build_rtdesc = {"build_rtdesc", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_49build_rtdesc, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_49build_rtdesc(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
CYTHON_UNUSED PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_desc = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("build_rtdesc (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_desc,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("build_rtdesc", 1, 2, 2, 1); __PYX_ERR(0, 512, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "build_rtdesc") < 0)) __PYX_ERR(0, 512, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_self = values[0];
__pyx_v_desc = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("build_rtdesc", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 512, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.build_rtdesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_48build_rtdesc(__pyx_self, __pyx_v_self, __pyx_v_desc);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_48build_rtdesc(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_desc) {
PyObject *__pyx_v_rtdesc = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
int __pyx_t_4;
int __pyx_t_5;
PyObject *__pyx_t_6 = NULL;
int __pyx_t_7;
PyObject *__pyx_t_8 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("build_rtdesc", 0);
/* "kivyblocks/blocks.pyx":513
*
* def build_rtdesc(self, desc):
* rtdesc = desc.get('rtdata') # <<<<<<<<<<<<<<
* if not rtdesc:
* if desc.get('datawidget'):
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 513, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_s_rtdata) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_rtdata);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 513, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_rtdesc = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":514
* def build_rtdesc(self, desc):
* rtdesc = desc.get('rtdata')
* if not rtdesc: # <<<<<<<<<<<<<<
* if desc.get('datawidget'):
* rtdesc = {}
*/
__pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_v_rtdesc); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 514, __pyx_L1_error)
__pyx_t_5 = ((!__pyx_t_4) != 0);
if (__pyx_t_5) {
/* "kivyblocks/blocks.pyx":515
* rtdesc = desc.get('rtdata')
* if not rtdesc:
* if desc.get('datawidget'): # <<<<<<<<<<<<<<
* rtdesc = {}
* rtdesc['target'] = desc['datawidget']
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 515, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_s_datawidget) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_datawidget);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 515, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 515, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_5) {
/* "kivyblocks/blocks.pyx":516
* if not rtdesc:
* if desc.get('datawidget'):
* rtdesc = {} # <<<<<<<<<<<<<<
* rtdesc['target'] = desc['datawidget']
* if desc.get('datascript'):
*/
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 516, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_rtdesc, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":517
* if desc.get('datawidget'):
* rtdesc = {}
* rtdesc['target'] = desc['datawidget'] # <<<<<<<<<<<<<<
* if desc.get('datascript'):
* rtdesc['script'] = desc.get('datacript')
*/
__pyx_t_1 = __Pyx_PyObject_Dict_GetItem(__pyx_v_desc, __pyx_n_s_datawidget); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 517, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (unlikely(PyObject_SetItem(__pyx_v_rtdesc, __pyx_n_s_target, __pyx_t_1) < 0)) __PYX_ERR(0, 517, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":518
* rtdesc = {}
* rtdesc['target'] = desc['datawidget']
* if desc.get('datascript'): # <<<<<<<<<<<<<<
* rtdesc['script'] = desc.get('datacript')
* else:
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 518, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_s_datascript) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_datascript);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 518, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_5 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 518, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_5) {
/* "kivyblocks/blocks.pyx":519
* rtdesc['target'] = desc['datawidget']
* if desc.get('datascript'):
* rtdesc['script'] = desc.get('datacript') # <<<<<<<<<<<<<<
* else:
* rtdesc['method'] = desc.get('datamethod', 'getValue')
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 519, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_s_datacript) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_datacript);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 519, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(PyObject_SetItem(__pyx_v_rtdesc, __pyx_n_s_script_2, __pyx_t_1) < 0)) __PYX_ERR(0, 519, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":518
* rtdesc = {}
* rtdesc['target'] = desc['datawidget']
* if desc.get('datascript'): # <<<<<<<<<<<<<<
* rtdesc['script'] = desc.get('datacript')
* else:
*/
goto __pyx_L5;
}
/* "kivyblocks/blocks.pyx":521
* rtdesc['script'] = desc.get('datacript')
* else:
* rtdesc['method'] = desc.get('datamethod', 'getValue') # <<<<<<<<<<<<<<
* rtdesc['kwargs'] = desc.get('datakwargs', {})
* return rtdesc
*/
/*else*/ {
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_tuple__19, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(PyObject_SetItem(__pyx_v_rtdesc, __pyx_n_s_method, __pyx_t_2) < 0)) __PYX_ERR(0, 521, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
}
__pyx_L5:;
/* "kivyblocks/blocks.pyx":522
* else:
* rtdesc['method'] = desc.get('datamethod', 'getValue')
* rtdesc['kwargs'] = desc.get('datakwargs', {}) # <<<<<<<<<<<<<<
* return rtdesc
*
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 522, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 522, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_1);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_1);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_1, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_n_s_datakwargs, __pyx_t_3};
__pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 522, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_n_s_datakwargs, __pyx_t_3};
__pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 522, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
} else
#endif
{
__pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 522, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
}
__Pyx_INCREF(__pyx_n_s_datakwargs);
__Pyx_GIVEREF(__pyx_n_s_datakwargs);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_n_s_datakwargs);
__Pyx_GIVEREF(__pyx_t_3);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_3);
__pyx_t_3 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 522, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(PyObject_SetItem(__pyx_v_rtdesc, __pyx_n_s_kwargs, __pyx_t_2) < 0)) __PYX_ERR(0, 522, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":515
* rtdesc = desc.get('rtdata')
* if not rtdesc:
* if desc.get('datawidget'): # <<<<<<<<<<<<<<
* rtdesc = {}
* rtdesc['target'] = desc['datawidget']
*/
}
/* "kivyblocks/blocks.pyx":514
* def build_rtdesc(self, desc):
* rtdesc = desc.get('rtdata')
* if not rtdesc: # <<<<<<<<<<<<<<
* if desc.get('datawidget'):
* rtdesc = {}
*/
}
/* "kivyblocks/blocks.pyx":523
* rtdesc['method'] = desc.get('datamethod', 'getValue')
* rtdesc['kwargs'] = desc.get('datakwargs', {})
* return rtdesc # <<<<<<<<<<<<<<
*
* def get_rtdata(self, widget:Widget, desc, *args):
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_rtdesc);
__pyx_r = __pyx_v_rtdesc;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":512
* print(e)
*
* def build_rtdesc(self, desc): # <<<<<<<<<<<<<<
* rtdesc = desc.get('rtdata')
* if not rtdesc:
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_6);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.build_rtdesc", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_rtdesc);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":525
* return rtdesc
*
* def get_rtdata(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* """
* desc descript follow attributes
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_51get_rtdata(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_10kivyblocks_6blocks_6Blocks_50get_rtdata[] = "\n\t\tdesc descript follow attributes\n\t\t{\n\t\t\t\"target\", a target name from widget\n\t\t\t\"method\", a method name, default is 'getValue',\n\t\t\t\"script\", script to handle the data\n\t\t\t\"kwargs\":\" a dict arguments, default is {}\n\t\t}\n\t\t";
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_51get_rtdata = {"get_rtdata", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_51get_rtdata, METH_VARARGS|METH_KEYWORDS, __pyx_doc_10kivyblocks_6blocks_6Blocks_50get_rtdata};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_51get_rtdata(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_widget = 0;
PyObject *__pyx_v_desc = 0;
PyObject *__pyx_v_args = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("get_rtdata (wrapper)", 0);
if (PyTuple_GET_SIZE(__pyx_args) > 3) {
__pyx_v_args = PyTuple_GetSlice(__pyx_args, 3, PyTuple_GET_SIZE(__pyx_args));
if (unlikely(!__pyx_v_args)) {
__Pyx_RefNannyFinishContext();
return NULL;
}
__Pyx_GOTREF(__pyx_v_args);
} else {
__pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
}
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_widget,&__pyx_n_s_desc,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
default:
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("get_rtdata", 0, 3, 3, 1); __PYX_ERR(0, 525, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("get_rtdata", 0, 3, 3, 2); __PYX_ERR(0, 525, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 3) ? pos_args : 3;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "get_rtdata") < 0)) __PYX_ERR(0, 525, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) < 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_widget = values[1];
__pyx_v_desc = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("get_rtdata", 0, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 525, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.get_rtdata", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_50get_rtdata(__pyx_self, __pyx_v_self, __pyx_v_widget, __pyx_v_desc, __pyx_v_args);
/* function exit code */
__Pyx_XDECREF(__pyx_v_args);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_50get_rtdata(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args) {
PyObject *__pyx_v_kwargs = NULL;
PyObject *__pyx_v_w = NULL;
PyObject *__pyx_v_target = NULL;
PyObject *__pyx_v_script = NULL;
PyObject *__pyx_v_ns = NULL;
PyObject *__pyx_v_d = NULL;
PyObject *__pyx_v_method = NULL;
PyObject *__pyx_v_f = NULL;
PyObject *__pyx_v_r = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
int __pyx_t_2;
int __pyx_t_3;
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;
Py_ssize_t __pyx_t_10;
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("get_rtdata", 0);
/* "kivyblocks/blocks.pyx":536
* """
*
* if desc is None or desc == {}: # <<<<<<<<<<<<<<
* print('get_rtdata():desc is None')
* return {}
*/
__pyx_t_2 = (__pyx_v_desc == Py_None);
__pyx_t_3 = (__pyx_t_2 != 0);
if (!__pyx_t_3) {
} else {
__pyx_t_1 = __pyx_t_3;
goto __pyx_L4_bool_binop_done;
}
__pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 536, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = PyObject_RichCompare(__pyx_v_desc, __pyx_t_4, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 536, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 536, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_1 = __pyx_t_3;
__pyx_L4_bool_binop_done:;
if (__pyx_t_1) {
/* "kivyblocks/blocks.pyx":537
*
* if desc is None or desc == {}:
* print('get_rtdata():desc is None') # <<<<<<<<<<<<<<
* return {}
* kwargs = desc.get('kwargs', {})
*/
if (__Pyx_PrintOne(0, __pyx_kp_s_get_rtdata_desc_is_None) < 0) __PYX_ERR(0, 537, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":538
* if desc is None or desc == {}:
* print('get_rtdata():desc is None')
* return {} # <<<<<<<<<<<<<<
* kwargs = desc.get('kwargs', {})
* if not isinstance(kwargs, dict):
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 538, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_r = __pyx_t_5;
__pyx_t_5 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":536
* """
*
* if desc is None or desc == {}: # <<<<<<<<<<<<<<
* print('get_rtdata():desc is None')
* return {}
*/
}
/* "kivyblocks/blocks.pyx":539
* print('get_rtdata():desc is None')
* return {}
* kwargs = desc.get('kwargs', {}) # <<<<<<<<<<<<<<
* if not isinstance(kwargs, dict):
* kwargs = {}
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 539, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 539, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_7 = NULL;
__pyx_t_8 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_7);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
__pyx_t_8 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_n_s_kwargs, __pyx_t_6};
__pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 539, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_n_s_kwargs, __pyx_t_6};
__pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 539, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
} else
#endif
{
__pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 539, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_7) {
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL;
}
__Pyx_INCREF(__pyx_n_s_kwargs);
__Pyx_GIVEREF(__pyx_n_s_kwargs);
PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_8, __pyx_n_s_kwargs);
__Pyx_GIVEREF(__pyx_t_6);
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_t_6);
__pyx_t_6 = 0;
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 539, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_kwargs = __pyx_t_5;
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":540
* return {}
* kwargs = desc.get('kwargs', {})
* if not isinstance(kwargs, dict): # <<<<<<<<<<<<<<
* kwargs = {}
* w = None
*/
__pyx_t_1 = PyDict_Check(__pyx_v_kwargs);
__pyx_t_3 = ((!(__pyx_t_1 != 0)) != 0);
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":541
* kwargs = desc.get('kwargs', {})
* if not isinstance(kwargs, dict):
* kwargs = {} # <<<<<<<<<<<<<<
* w = None
* if len(args) > 0:
*/
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 541, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF_SET(__pyx_v_kwargs, __pyx_t_5);
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":540
* return {}
* kwargs = desc.get('kwargs', {})
* if not isinstance(kwargs, dict): # <<<<<<<<<<<<<<
* kwargs = {}
* w = None
*/
}
/* "kivyblocks/blocks.pyx":542
* if not isinstance(kwargs, dict):
* kwargs = {}
* w = None # <<<<<<<<<<<<<<
* if len(args) > 0:
* w = args[0]
*/
__Pyx_INCREF(Py_None);
__pyx_v_w = Py_None;
/* "kivyblocks/blocks.pyx":543
* kwargs = {}
* w = None
* if len(args) > 0: # <<<<<<<<<<<<<<
* w = args[0]
* target = desc.get('target')
*/
__pyx_t_10 = PyTuple_GET_SIZE(__pyx_v_args); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 543, __pyx_L1_error)
__pyx_t_3 = ((__pyx_t_10 > 0) != 0);
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":544
* w = None
* if len(args) > 0:
* w = args[0] # <<<<<<<<<<<<<<
* target = desc.get('target')
* if target:
*/
__pyx_t_5 = __Pyx_GetItemInt_Tuple(__pyx_v_args, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 544, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF_SET(__pyx_v_w, __pyx_t_5);
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":543
* kwargs = {}
* w = None
* if len(args) > 0: # <<<<<<<<<<<<<<
* w = args[0]
* target = desc.get('target')
*/
}
/* "kivyblocks/blocks.pyx":545
* if len(args) > 0:
* w = args[0]
* target = desc.get('target') # <<<<<<<<<<<<<<
* if target:
* w = self.getWidgetById(target, from_widget=widget)
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 545, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_9 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_9)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_9);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
}
}
__pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_n_s_target) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_n_s_target);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 545, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_target = __pyx_t_5;
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":546
* w = args[0]
* target = desc.get('target')
* if target: # <<<<<<<<<<<<<<
* w = self.getWidgetById(target, from_widget=widget)
* if w is None:
*/
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_target); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 546, __pyx_L1_error)
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":547
* target = desc.get('target')
* if target:
* w = self.getWidgetById(target, from_widget=widget) # <<<<<<<<<<<<<<
* if w is None:
* print('get_rtdata():w is None', desc)
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getWidgetById); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 547, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 547, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_v_target);
__Pyx_GIVEREF(__pyx_v_target);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_target);
__pyx_t_9 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 547, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (PyDict_SetItem(__pyx_t_9, __pyx_n_s_from_widget, __pyx_v_widget) < 0) __PYX_ERR(0, 547, __pyx_L1_error)
__pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 547, __pyx_L1_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_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF_SET(__pyx_v_w, __pyx_t_6);
__pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":546
* w = args[0]
* target = desc.get('target')
* if target: # <<<<<<<<<<<<<<
* w = self.getWidgetById(target, from_widget=widget)
* if w is None:
*/
}
/* "kivyblocks/blocks.pyx":548
* if target:
* w = self.getWidgetById(target, from_widget=widget)
* if w is None: # <<<<<<<<<<<<<<
* print('get_rtdata():w is None', desc)
* return {}
*/
__pyx_t_3 = (__pyx_v_w == Py_None);
__pyx_t_1 = (__pyx_t_3 != 0);
if (__pyx_t_1) {
/* "kivyblocks/blocks.pyx":549
* w = self.getWidgetById(target, from_widget=widget)
* if w is None:
* print('get_rtdata():w is None', desc) # <<<<<<<<<<<<<<
* return {}
* script = desc.get('script')
*/
__pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 549, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_kp_s_get_rtdata_w_is_None);
__Pyx_GIVEREF(__pyx_kp_s_get_rtdata_w_is_None);
PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_s_get_rtdata_w_is_None);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_desc);
if (__Pyx_PrintOne(0, __pyx_t_6) < 0) __PYX_ERR(0, 549, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":550
* if w is None:
* print('get_rtdata():w is None', desc)
* return {} # <<<<<<<<<<<<<<
* script = desc.get('script')
* if script:
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 550, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_r = __pyx_t_6;
__pyx_t_6 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":548
* if target:
* w = self.getWidgetById(target, from_widget=widget)
* if w is None: # <<<<<<<<<<<<<<
* print('get_rtdata():w is None', desc)
* return {}
*/
}
/* "kivyblocks/blocks.pyx":551
* print('get_rtdata():w is None', desc)
* return {}
* script = desc.get('script') # <<<<<<<<<<<<<<
* if script:
* ns = {
*/
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 551, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_4 = NULL;
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 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_4, __pyx_n_s_script_2) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_n_s_script_2);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 551, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_v_script = __pyx_t_6;
__pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":552
* return {}
* script = desc.get('script')
* if script: # <<<<<<<<<<<<<<
* ns = {
* "self":w,
*/
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_script); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 552, __pyx_L1_error)
if (__pyx_t_1) {
/* "kivyblocks/blocks.pyx":554
* if script:
* ns = {
* "self":w, # <<<<<<<<<<<<<<
* "args":args,
* "kwargs":kwargs
*/
__pyx_t_6 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 554, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_self, __pyx_v_w) < 0) __PYX_ERR(0, 554, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":555
* ns = {
* "self":w,
* "args":args, # <<<<<<<<<<<<<<
* "kwargs":kwargs
* }
*/
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_args, __pyx_v_args) < 0) __PYX_ERR(0, 554, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":556
* "self":w,
* "args":args,
* "kwargs":kwargs # <<<<<<<<<<<<<<
* }
* d = self.eval(script, ns)
*/
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_kwargs, __pyx_v_kwargs) < 0) __PYX_ERR(0, 554, __pyx_L1_error)
__pyx_v_ns = ((PyObject*)__pyx_t_6);
__pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":558
* "kwargs":kwargs
* }
* d = self.eval(script, ns) # <<<<<<<<<<<<<<
* return d
*
*/
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_eval); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 558, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_4 = NULL;
__pyx_t_8 = 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_8 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_9)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_script, __pyx_v_ns};
__pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 558, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_6);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_script, __pyx_v_ns};
__pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 558, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_6);
} else
#endif
{
__pyx_t_5 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 558, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_4); __pyx_t_4 = NULL;
}
__Pyx_INCREF(__pyx_v_script);
__Pyx_GIVEREF(__pyx_v_script);
PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_8, __pyx_v_script);
__Pyx_INCREF(__pyx_v_ns);
__Pyx_GIVEREF(__pyx_v_ns);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_8, __pyx_v_ns);
__pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_5, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 558, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_v_d = __pyx_t_6;
__pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":559
* }
* d = self.eval(script, ns)
* return d # <<<<<<<<<<<<<<
*
* method = desc.get('method', 'getValue')
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_d);
__pyx_r = __pyx_v_d;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":552
* return {}
* script = desc.get('script')
* if script: # <<<<<<<<<<<<<<
* ns = {
* "self":w,
*/
}
/* "kivyblocks/blocks.pyx":561
* return d
*
* method = desc.get('method', 'getValue') # <<<<<<<<<<<<<<
* if not hasattr(w, method):
* print('get_rtdata():method is None', desc, type(w))
*/
__pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 561, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_9 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_tuple__20, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 561, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_v_method = __pyx_t_9;
__pyx_t_9 = 0;
/* "kivyblocks/blocks.pyx":562
*
* method = desc.get('method', 'getValue')
* if not hasattr(w, method): # <<<<<<<<<<<<<<
* print('get_rtdata():method is None', desc, type(w))
* return {}
*/
__pyx_t_1 = __Pyx_HasAttr(__pyx_v_w, __pyx_v_method); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 562, __pyx_L1_error)
__pyx_t_3 = ((!(__pyx_t_1 != 0)) != 0);
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":563
* method = desc.get('method', 'getValue')
* if not hasattr(w, method):
* print('get_rtdata():method is None', desc, type(w)) # <<<<<<<<<<<<<<
* return {}
* f = getattr(w, method)
*/
__pyx_t_9 = PyTuple_New(3); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 563, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__Pyx_INCREF(__pyx_kp_s_get_rtdata_method_is_None);
__Pyx_GIVEREF(__pyx_kp_s_get_rtdata_method_is_None);
PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_kp_s_get_rtdata_method_is_None);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_v_desc);
__Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_w)));
__Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_v_w)));
PyTuple_SET_ITEM(__pyx_t_9, 2, ((PyObject *)Py_TYPE(__pyx_v_w)));
if (__Pyx_PrintOne(0, __pyx_t_9) < 0) __PYX_ERR(0, 563, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
/* "kivyblocks/blocks.pyx":564
* if not hasattr(w, method):
* print('get_rtdata():method is None', desc, type(w))
* return {} # <<<<<<<<<<<<<<
* f = getattr(w, method)
* try:
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_9 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 564, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_r = __pyx_t_9;
__pyx_t_9 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":562
*
* method = desc.get('method', 'getValue')
* if not hasattr(w, method): # <<<<<<<<<<<<<<
* print('get_rtdata():method is None', desc, type(w))
* return {}
*/
}
/* "kivyblocks/blocks.pyx":565
* print('get_rtdata():method is None', desc, type(w))
* return {}
* f = getattr(w, method) # <<<<<<<<<<<<<<
* try:
* r = f(**kwargs)
*/
__pyx_t_9 = __Pyx_GetAttr(__pyx_v_w, __pyx_v_method); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 565, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_v_f = __pyx_t_9;
__pyx_t_9 = 0;
/* "kivyblocks/blocks.pyx":566
* return {}
* f = getattr(w, method)
* try: # <<<<<<<<<<<<<<
* r = f(**kwargs)
* if isinstance(r, dict):
*/
{
__Pyx_PyThreadState_declare
__Pyx_PyThreadState_assign
__Pyx_ExceptionSave(&__pyx_t_11, &__pyx_t_12, &__pyx_t_13);
__Pyx_XGOTREF(__pyx_t_11);
__Pyx_XGOTREF(__pyx_t_12);
__Pyx_XGOTREF(__pyx_t_13);
/*try:*/ {
/* "kivyblocks/blocks.pyx":567
* f = getattr(w, method)
* try:
* r = f(**kwargs) # <<<<<<<<<<<<<<
* if isinstance(r, dict):
* return r
*/
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
__PYX_ERR(0, 567, __pyx_L12_error)
}
if (likely(PyDict_CheckExact(__pyx_v_kwargs))) {
__pyx_t_9 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 567, __pyx_L12_error)
__Pyx_GOTREF(__pyx_t_9);
} else {
__pyx_t_9 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_kwargs, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 567, __pyx_L12_error)
__Pyx_GOTREF(__pyx_t_9);
}
__pyx_t_6 = __Pyx_PyObject_Call(__pyx_v_f, __pyx_empty_tuple, __pyx_t_9); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 567, __pyx_L12_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_v_r = __pyx_t_6;
__pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":568
* try:
* r = f(**kwargs)
* if isinstance(r, dict): # <<<<<<<<<<<<<<
* return r
* if isinstance(r, DictObject):
*/
__pyx_t_3 = PyDict_Check(__pyx_v_r);
__pyx_t_1 = (__pyx_t_3 != 0);
if (__pyx_t_1) {
/* "kivyblocks/blocks.pyx":569
* r = f(**kwargs)
* if isinstance(r, dict):
* return r # <<<<<<<<<<<<<<
* if isinstance(r, DictObject):
* return r.to_dict()
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_r);
__pyx_r = __pyx_v_r;
goto __pyx_L16_try_return;
/* "kivyblocks/blocks.pyx":568
* try:
* r = f(**kwargs)
* if isinstance(r, dict): # <<<<<<<<<<<<<<
* return r
* if isinstance(r, DictObject):
*/
}
/* "kivyblocks/blocks.pyx":570
* if isinstance(r, dict):
* return r
* if isinstance(r, DictObject): # <<<<<<<<<<<<<<
* return r.to_dict()
* print('get_rtdata():method return is not dict', desc, 'ret=', r, type(r))
*/
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_DictObject); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 570, __pyx_L12_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_t_1 = PyObject_IsInstance(__pyx_v_r, __pyx_t_6); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 570, __pyx_L12_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_3 = (__pyx_t_1 != 0);
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":571
* return r
* if isinstance(r, DictObject):
* return r.to_dict() # <<<<<<<<<<<<<<
* print('get_rtdata():method return is not dict', desc, 'ret=', r, type(r))
* return {}
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_r, __pyx_n_s_to_dict); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 571, __pyx_L12_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_5 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_9))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_9, function);
}
}
__pyx_t_6 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_9);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 571, __pyx_L12_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__pyx_r = __pyx_t_6;
__pyx_t_6 = 0;
goto __pyx_L16_try_return;
/* "kivyblocks/blocks.pyx":570
* if isinstance(r, dict):
* return r
* if isinstance(r, DictObject): # <<<<<<<<<<<<<<
* return r.to_dict()
* print('get_rtdata():method return is not dict', desc, 'ret=', r, type(r))
*/
}
/* "kivyblocks/blocks.pyx":572
* if isinstance(r, DictObject):
* return r.to_dict()
* print('get_rtdata():method return is not dict', desc, 'ret=', r, type(r)) # <<<<<<<<<<<<<<
* return {}
* except:
*/
__pyx_t_6 = PyTuple_New(5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 572, __pyx_L12_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_kp_s_get_rtdata_method_return_is_not);
__Pyx_GIVEREF(__pyx_kp_s_get_rtdata_method_return_is_not);
PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_kp_s_get_rtdata_method_return_is_not);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_desc);
__Pyx_INCREF(__pyx_kp_s_ret);
__Pyx_GIVEREF(__pyx_kp_s_ret);
PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_kp_s_ret);
__Pyx_INCREF(__pyx_v_r);
__Pyx_GIVEREF(__pyx_v_r);
PyTuple_SET_ITEM(__pyx_t_6, 3, __pyx_v_r);
__Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_r)));
__Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_v_r)));
PyTuple_SET_ITEM(__pyx_t_6, 4, ((PyObject *)Py_TYPE(__pyx_v_r)));
if (__Pyx_PrintOne(0, __pyx_t_6) < 0) __PYX_ERR(0, 572, __pyx_L12_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":573
* return r.to_dict()
* print('get_rtdata():method return is not dict', desc, 'ret=', r, type(r))
* return {} # <<<<<<<<<<<<<<
* except:
* print_exc()
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_6 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 573, __pyx_L12_error)
__Pyx_GOTREF(__pyx_t_6);
__pyx_r = __pyx_t_6;
__pyx_t_6 = 0;
goto __pyx_L16_try_return;
/* "kivyblocks/blocks.pyx":566
* return {}
* f = getattr(w, method)
* try: # <<<<<<<<<<<<<<
* r = f(**kwargs)
* if isinstance(r, dict):
*/
}
__pyx_L12_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;
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
/* "kivyblocks/blocks.pyx":574
* print('get_rtdata():method return is not dict', desc, 'ret=', r, type(r))
* return {}
* except: # <<<<<<<<<<<<<<
* print_exc()
* return {}
*/
/*except:*/ {
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.get_rtdata", __pyx_clineno, __pyx_lineno, __pyx_filename);
if (__Pyx_GetException(&__pyx_t_6, &__pyx_t_9, &__pyx_t_5) < 0) __PYX_ERR(0, 574, __pyx_L14_except_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GOTREF(__pyx_t_9);
__Pyx_GOTREF(__pyx_t_5);
/* "kivyblocks/blocks.pyx":575
* return {}
* except:
* print_exc() # <<<<<<<<<<<<<<
* return {}
*
*/
__Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_print_exc); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 575, __pyx_L14_except_error)
__Pyx_GOTREF(__pyx_t_7);
__pyx_t_14 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_7))) {
__pyx_t_14 = PyMethod_GET_SELF(__pyx_t_7);
if (likely(__pyx_t_14)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_7);
__Pyx_INCREF(__pyx_t_14);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_7, function);
}
}
__pyx_t_4 = (__pyx_t_14) ? __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_t_14) : __Pyx_PyObject_CallNoArg(__pyx_t_7);
__Pyx_XDECREF(__pyx_t_14); __pyx_t_14 = 0;
if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 575, __pyx_L14_except_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":576
* except:
* print_exc()
* return {} # <<<<<<<<<<<<<<
*
* def methodAction(self, widget:Widget, desc, *args):
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_4 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 576, __pyx_L14_except_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_r = __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;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
goto __pyx_L15_except_return;
}
__pyx_L14_except_error:;
/* "kivyblocks/blocks.pyx":566
* return {}
* f = getattr(w, method)
* try: # <<<<<<<<<<<<<<
* r = f(**kwargs)
* if isinstance(r, dict):
*/
__Pyx_XGIVEREF(__pyx_t_11);
__Pyx_XGIVEREF(__pyx_t_12);
__Pyx_XGIVEREF(__pyx_t_13);
__Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
goto __pyx_L1_error;
__pyx_L16_try_return:;
__Pyx_XGIVEREF(__pyx_t_11);
__Pyx_XGIVEREF(__pyx_t_12);
__Pyx_XGIVEREF(__pyx_t_13);
__Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
goto __pyx_L0;
__pyx_L15_except_return:;
__Pyx_XGIVEREF(__pyx_t_11);
__Pyx_XGIVEREF(__pyx_t_12);
__Pyx_XGIVEREF(__pyx_t_13);
__Pyx_ExceptionReset(__pyx_t_11, __pyx_t_12, __pyx_t_13);
goto __pyx_L0;
}
/* "kivyblocks/blocks.pyx":525
* return rtdesc
*
* def get_rtdata(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* """
* desc descript follow attributes
*/
/* 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_14);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.get_rtdata", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_kwargs);
__Pyx_XDECREF(__pyx_v_w);
__Pyx_XDECREF(__pyx_v_target);
__Pyx_XDECREF(__pyx_v_script);
__Pyx_XDECREF(__pyx_v_ns);
__Pyx_XDECREF(__pyx_v_d);
__Pyx_XDECREF(__pyx_v_method);
__Pyx_XDECREF(__pyx_v_f);
__Pyx_XDECREF(__pyx_v_r);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":578
* return {}
*
* def methodAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* method = desc.get('method')
* target = self.get_target(widget, desc)
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_53methodAction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_53methodAction = {"methodAction", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_53methodAction, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_53methodAction(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_widget = 0;
PyObject *__pyx_v_desc = 0;
PyObject *__pyx_v_args = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("methodAction (wrapper)", 0);
if (PyTuple_GET_SIZE(__pyx_args) > 3) {
__pyx_v_args = PyTuple_GetSlice(__pyx_args, 3, PyTuple_GET_SIZE(__pyx_args));
if (unlikely(!__pyx_v_args)) {
__Pyx_RefNannyFinishContext();
return NULL;
}
__Pyx_GOTREF(__pyx_v_args);
} else {
__pyx_v_args = __pyx_empty_tuple; __Pyx_INCREF(__pyx_empty_tuple);
}
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_widget,&__pyx_n_s_desc,0};
PyObject* values[3] = {0,0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
default:
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("methodAction", 0, 3, 3, 1); __PYX_ERR(0, 578, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("methodAction", 0, 3, 3, 2); __PYX_ERR(0, 578, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
const Py_ssize_t used_pos_args = (pos_args < 3) ? pos_args : 3;
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, used_pos_args, "methodAction") < 0)) __PYX_ERR(0, 578, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) < 3) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
}
__pyx_v_self = values[0];
__pyx_v_widget = values[1];
__pyx_v_desc = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("methodAction", 0, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 578, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_DECREF(__pyx_v_args); __pyx_v_args = 0;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.methodAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_52methodAction(__pyx_self, __pyx_v_self, __pyx_v_widget, __pyx_v_desc, __pyx_v_args);
/* function exit code */
__Pyx_XDECREF(__pyx_v_args);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_52methodAction(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_widget, PyObject *__pyx_v_desc, PyObject *__pyx_v_args) {
PyObject *__pyx_v_method = NULL;
PyObject *__pyx_v_target = NULL;
PyObject *__pyx_v_f = NULL;
PyObject *__pyx_v_kwargs = NULL;
PyObject *__pyx_v_d = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
int __pyx_t_4;
PyObject *__pyx_t_5 = NULL;
int __pyx_t_6;
int __pyx_t_7;
PyObject *__pyx_t_8 = NULL;
PyObject *__pyx_t_9 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("methodAction", 0);
/* "kivyblocks/blocks.pyx":579
*
* def methodAction(self, widget:Widget, desc, *args):
* method = desc.get('method') # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* if target is None:
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 579, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
}
}
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_n_s_method) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_n_s_method);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 579, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_method = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":580
* def methodAction(self, widget:Widget, desc, *args):
* method = desc.get('method')
* target = self.get_target(widget, desc) # <<<<<<<<<<<<<<
* if target is None:
* Logger.info('Block: methodAction():desc(%s) target not found',
*/
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_get_target); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 580, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_2, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_widget, __pyx_v_desc};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 580, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_widget, __pyx_v_desc};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 580, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
__pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 580, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_4, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_desc);
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 580, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_v_target = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":581
* method = desc.get('method')
* target = self.get_target(widget, desc)
* if target is None: # <<<<<<<<<<<<<<
* Logger.info('Block: methodAction():desc(%s) target not found',
* str(desc))
*/
__pyx_t_6 = (__pyx_v_target == Py_None);
__pyx_t_7 = (__pyx_t_6 != 0);
if (__pyx_t_7) {
/* "kivyblocks/blocks.pyx":582
* target = self.get_target(widget, desc)
* if target is None:
* Logger.info('Block: methodAction():desc(%s) target not found', # <<<<<<<<<<<<<<
* str(desc))
* return
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Logger); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 582, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_info); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 582, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":583
* if target is None:
* Logger.info('Block: methodAction():desc(%s) target not found',
* str(desc)) # <<<<<<<<<<<<<<
* return
* if method is None:
*/
__pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_desc); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 583, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_s_Block_methodAction_desc_s_target, __pyx_t_2};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 582, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_kp_s_Block_methodAction_desc_s_target, __pyx_t_2};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 582, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
} else
#endif
{
__pyx_t_8 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 582, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_3) {
__Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_3); __pyx_t_3 = NULL;
}
__Pyx_INCREF(__pyx_kp_s_Block_methodAction_desc_s_target);
__Pyx_GIVEREF(__pyx_kp_s_Block_methodAction_desc_s_target);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_4, __pyx_kp_s_Block_methodAction_desc_s_target);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_4, __pyx_t_2);
__pyx_t_2 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 582, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":584
* Logger.info('Block: methodAction():desc(%s) target not found',
* str(desc))
* return # <<<<<<<<<<<<<<
* if method is None:
* Logger.info('Block: methodAction():desc(%s) method not found',
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":581
* method = desc.get('method')
* target = self.get_target(widget, desc)
* if target is None: # <<<<<<<<<<<<<<
* Logger.info('Block: methodAction():desc(%s) target not found',
* str(desc))
*/
}
/* "kivyblocks/blocks.pyx":585
* str(desc))
* return
* if method is None: # <<<<<<<<<<<<<<
* Logger.info('Block: methodAction():desc(%s) method not found',
* str(desc))
*/
__pyx_t_7 = (__pyx_v_method == Py_None);
__pyx_t_6 = (__pyx_t_7 != 0);
if (__pyx_t_6) {
/* "kivyblocks/blocks.pyx":586
* return
* if method is None:
* Logger.info('Block: methodAction():desc(%s) method not found', # <<<<<<<<<<<<<<
* str(desc))
* return
*/
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Logger); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 586, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_info); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 586, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":587
* if method is None:
* Logger.info('Block: methodAction():desc(%s) method not found',
* str(desc)) # <<<<<<<<<<<<<<
* return
* if hasattr(target,method):
*/
__pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyString_Type)), __pyx_v_desc); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 587, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_2 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_s_Block_methodAction_desc_s_method, __pyx_t_5};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 586, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_kp_s_Block_methodAction_desc_s_method, __pyx_t_5};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 586, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else
#endif
{
__pyx_t_3 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 586, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (__pyx_t_2) {
__Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); __pyx_t_2 = NULL;
}
__Pyx_INCREF(__pyx_kp_s_Block_methodAction_desc_s_method);
__Pyx_GIVEREF(__pyx_kp_s_Block_methodAction_desc_s_method);
PyTuple_SET_ITEM(__pyx_t_3, 0+__pyx_t_4, __pyx_kp_s_Block_methodAction_desc_s_method);
__Pyx_GIVEREF(__pyx_t_5);
PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_4, __pyx_t_5);
__pyx_t_5 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 586, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":588
* Logger.info('Block: methodAction():desc(%s) method not found',
* str(desc))
* return # <<<<<<<<<<<<<<
* if hasattr(target,method):
* f = getattr(target, method)
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":585
* str(desc))
* return
* if method is None: # <<<<<<<<<<<<<<
* Logger.info('Block: methodAction():desc(%s) method not found',
* str(desc))
*/
}
/* "kivyblocks/blocks.pyx":589
* str(desc))
* return
* if hasattr(target,method): # <<<<<<<<<<<<<<
* f = getattr(target, method)
* kwargs = desc.get('options',{}).copy()
*/
__pyx_t_6 = __Pyx_HasAttr(__pyx_v_target, __pyx_v_method); if (unlikely(__pyx_t_6 == ((int)-1))) __PYX_ERR(0, 589, __pyx_L1_error)
__pyx_t_7 = (__pyx_t_6 != 0);
if (__pyx_t_7) {
/* "kivyblocks/blocks.pyx":590
* return
* if hasattr(target,method):
* f = getattr(target, method) # <<<<<<<<<<<<<<
* kwargs = desc.get('options',{}).copy()
* d = self.getActionData(widget,desc, *args)
*/
__pyx_t_1 = __Pyx_GetAttr(__pyx_v_target, __pyx_v_method); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 590, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_f = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":591
* if hasattr(target,method):
* f = getattr(target, method)
* kwargs = desc.get('options',{}).copy() # <<<<<<<<<<<<<<
* d = self.getActionData(widget,desc, *args)
* if d:
*/
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 591, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 591, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_2 = NULL;
__pyx_t_4 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
__pyx_t_4 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_n_s_options, __pyx_t_5};
__pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 591, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) {
PyObject *__pyx_temp[3] = {__pyx_t_2, __pyx_n_s_options, __pyx_t_5};
__pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 591, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else
#endif
{
__pyx_t_9 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 591, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_2) {
__Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_2); __pyx_t_2 = NULL;
}
__Pyx_INCREF(__pyx_n_s_options);
__Pyx_GIVEREF(__pyx_n_s_options);
PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_4, __pyx_n_s_options);
__Pyx_GIVEREF(__pyx_t_5);
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_4, __pyx_t_5);
__pyx_t_5 = 0;
__pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_9, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 591, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_copy); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 591, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 591, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_kwargs = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":592
* f = getattr(target, method)
* kwargs = desc.get('options',{}).copy()
* d = self.getActionData(widget,desc, *args) # <<<<<<<<<<<<<<
* if d:
* kwargs.update(d)
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_self, __pyx_n_s_getActionData); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 592, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 592, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_v_widget);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_desc);
__pyx_t_8 = PyNumber_Add(__pyx_t_3, __pyx_v_args); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 592, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_8, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 592, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_v_d = __pyx_t_3;
__pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":593
* kwargs = desc.get('options',{}).copy()
* d = self.getActionData(widget,desc, *args)
* if d: # <<<<<<<<<<<<<<
* kwargs.update(d)
* f(*args, **kwargs)
*/
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_d); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 593, __pyx_L1_error)
if (__pyx_t_7) {
/* "kivyblocks/blocks.pyx":594
* d = self.getActionData(widget,desc, *args)
* if d:
* kwargs.update(d) # <<<<<<<<<<<<<<
* f(*args, **kwargs)
* else:
*/
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_kwargs, __pyx_n_s_update); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 594, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_1 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
__pyx_t_1 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_1)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_1);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
}
}
__pyx_t_3 = (__pyx_t_1) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_1, __pyx_v_d) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_v_d);
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 594, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":593
* kwargs = desc.get('options',{}).copy()
* d = self.getActionData(widget,desc, *args)
* if d: # <<<<<<<<<<<<<<
* kwargs.update(d)
* f(*args, **kwargs)
*/
}
/* "kivyblocks/blocks.pyx":595
* if d:
* kwargs.update(d)
* f(*args, **kwargs) # <<<<<<<<<<<<<<
* else:
* alert('%s method not found' % method)
*/
if (unlikely(__pyx_v_kwargs == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
__PYX_ERR(0, 595, __pyx_L1_error)
}
if (likely(PyDict_CheckExact(__pyx_v_kwargs))) {
__pyx_t_3 = PyDict_Copy(__pyx_v_kwargs); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 595, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
} else {
__pyx_t_3 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_kwargs, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 595, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
}
__pyx_t_8 = __Pyx_PyObject_Call(__pyx_v_f, __pyx_v_args, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 595, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":589
* str(desc))
* return
* if hasattr(target,method): # <<<<<<<<<<<<<<
* f = getattr(target, method)
* kwargs = desc.get('options',{}).copy()
*/
goto __pyx_L5;
}
/* "kivyblocks/blocks.pyx":597
* f(*args, **kwargs)
* else:
* alert('%s method not found' % method) # <<<<<<<<<<<<<<
*
* def widgetBuild(self, desc):
*/
/*else*/ {
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_alert); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 597, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_1 = __Pyx_PyString_FormatSafe(__pyx_kp_s_s_method_not_found, __pyx_v_method); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 597, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_9 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_9 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_9)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_9);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_8 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_9, __pyx_t_1) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 597, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__pyx_L5:;
/* "kivyblocks/blocks.pyx":578
* return {}
*
* def methodAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* method = desc.get('method')
* target = self.get_target(widget, desc)
*/
/* function exit code */
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.methodAction", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_method);
__Pyx_XDECREF(__pyx_v_target);
__Pyx_XDECREF(__pyx_v_f);
__Pyx_XDECREF(__pyx_v_kwargs);
__Pyx_XDECREF(__pyx_v_d);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":599
* alert('%s method not found' % method)
*
* def widgetBuild(self, desc): # <<<<<<<<<<<<<<
* """
* desc format:
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_55widgetBuild(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static char __pyx_doc_10kivyblocks_6blocks_6Blocks_54widgetBuild[] = "\n\t\tdesc format:\n\t\t{\n\t\t\twidgettype:<registered widget>,\n\t\t\tid:widget id,\n\t\t\toptions:{}\n\t\t\tsubwidgets:[\n\t\t\t]\n\t\t\tbinds:[\n\t\t\t]\n\t\t}\n\t\t";
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_55widgetBuild = {"widgetBuild", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_55widgetBuild, METH_VARARGS|METH_KEYWORDS, __pyx_doc_10kivyblocks_6blocks_6Blocks_54widgetBuild};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_55widgetBuild(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_desc = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("widgetBuild (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_desc,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_desc)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("widgetBuild", 1, 2, 2, 1); __PYX_ERR(0, 599, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "widgetBuild") < 0)) __PYX_ERR(0, 599, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_self = values[0];
__pyx_v_desc = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("widgetBuild", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 599, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.widgetBuild", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_54widgetBuild(__pyx_self, __pyx_v_self, __pyx_v_desc);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":612
* }
* """
* def doit(desc): # <<<<<<<<<<<<<<
* if isinstance(desc,DictObject):
* desc = desc.to_dict()
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_11widgetBuild_1doit(PyObject *__pyx_self, PyObject *__pyx_v_desc); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_11widgetBuild_1doit = {"doit", (PyCFunction)__pyx_pw_10kivyblocks_6blocks_6Blocks_11widgetBuild_1doit, METH_O, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_11widgetBuild_1doit(PyObject *__pyx_self, PyObject *__pyx_v_desc) {
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("doit (wrapper)", 0);
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_11widgetBuild_doit(__pyx_self, ((PyObject *)__pyx_v_desc));
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_11widgetBuild_doit(PyObject *__pyx_self, PyObject *__pyx_v_desc) {
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild *__pyx_cur_scope;
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild *__pyx_outer_scope;
PyObject *__pyx_v_widget = NULL;
PyObject *__pyx_v_e = NULL;
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;
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_RefNannySetupContext("doit", 0);
__pyx_outer_scope = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
__Pyx_INCREF(__pyx_v_desc);
/* "kivyblocks/blocks.pyx":613
* """
* def doit(desc):
* if isinstance(desc,DictObject): # <<<<<<<<<<<<<<
* desc = desc.to_dict()
* if not isinstance(desc,dict):
*/
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_DictObject); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 613, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyObject_IsInstance(__pyx_v_desc, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 613, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":614
* def doit(desc):
* if isinstance(desc,DictObject):
* desc = desc.to_dict() # <<<<<<<<<<<<<<
* if not isinstance(desc,dict):
* Logger.info('Block: desc(%s) must be a dict object(%s)',
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_to_dict); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 614, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
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_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 614, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF_SET(__pyx_v_desc, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":613
* """
* def doit(desc):
* if isinstance(desc,DictObject): # <<<<<<<<<<<<<<
* desc = desc.to_dict()
* if not isinstance(desc,dict):
*/
}
/* "kivyblocks/blocks.pyx":615
* if isinstance(desc,DictObject):
* desc = desc.to_dict()
* if not isinstance(desc,dict): # <<<<<<<<<<<<<<
* Logger.info('Block: desc(%s) must be a dict object(%s)',
* desc,type(desc))
*/
__pyx_t_3 = PyDict_Check(__pyx_v_desc);
__pyx_t_2 = ((!(__pyx_t_3 != 0)) != 0);
if (__pyx_t_2) {
/* "kivyblocks/blocks.pyx":616
* desc = desc.to_dict()
* if not isinstance(desc,dict):
* Logger.info('Block: desc(%s) must be a dict object(%s)', # <<<<<<<<<<<<<<
* desc,type(desc))
* return None
*/
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Logger); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 616, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_info); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 616, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":617
* if not isinstance(desc,dict):
* Logger.info('Block: desc(%s) must be a dict object(%s)',
* desc,type(desc)) # <<<<<<<<<<<<<<
* return None
*
*/
__pyx_t_4 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
__pyx_t_6 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_kp_s_Block_desc_s_must_be_a_dict_obje, __pyx_v_desc, ((PyObject *)Py_TYPE(__pyx_v_desc))};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 616, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_kp_s_Block_desc_s_must_be_a_dict_obje, __pyx_v_desc, ((PyObject *)Py_TYPE(__pyx_v_desc))};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 616, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
__pyx_t_7 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 616, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_7);
if (__pyx_t_4) {
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
}
__Pyx_INCREF(__pyx_kp_s_Block_desc_s_must_be_a_dict_obje);
__Pyx_GIVEREF(__pyx_kp_s_Block_desc_s_must_be_a_dict_obje);
PyTuple_SET_ITEM(__pyx_t_7, 0+__pyx_t_6, __pyx_kp_s_Block_desc_s_must_be_a_dict_obje);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_desc);
__Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_desc)));
__Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_v_desc)));
PyTuple_SET_ITEM(__pyx_t_7, 2+__pyx_t_6, ((PyObject *)Py_TYPE(__pyx_v_desc)));
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 616, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":618
* Logger.info('Block: desc(%s) must be a dict object(%s)',
* desc,type(desc))
* return None # <<<<<<<<<<<<<<
*
* # desc = self.valueExpr(desc)
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":615
* if isinstance(desc,DictObject):
* desc = desc.to_dict()
* if not isinstance(desc,dict): # <<<<<<<<<<<<<<
* Logger.info('Block: desc(%s) must be a dict object(%s)',
* desc,type(desc))
*/
}
/* "kivyblocks/blocks.pyx":621
*
* # desc = self.valueExpr(desc)
* try: # <<<<<<<<<<<<<<
* widget = self.w_build(desc)
* self.dispatch('on_built',widget)
*/
{
__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:*/ {
/* "kivyblocks/blocks.pyx":622
* # desc = self.valueExpr(desc)
* try:
* widget = self.w_build(desc) # <<<<<<<<<<<<<<
* self.dispatch('on_built',widget)
* if hasattr(widget,'ready'):
*/
if (unlikely(!__pyx_cur_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 622, __pyx_L5_error) }
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_self, __pyx_n_s_w_build); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 622, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_7 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_7);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
}
}
__pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_7, __pyx_v_desc) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_desc);
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 622, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_widget = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":623
* try:
* widget = self.w_build(desc)
* self.dispatch('on_built',widget) # <<<<<<<<<<<<<<
* if hasattr(widget,'ready'):
* widget.ready = True
*/
if (unlikely(!__pyx_cur_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 623, __pyx_L5_error) }
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_self, __pyx_n_s_dispatch); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 623, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_7 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_7 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_7)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_7);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
__pyx_t_6 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_n_s_on_built, __pyx_v_widget};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 623, __pyx_L5_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_n_s_on_built, __pyx_v_widget};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 623, __pyx_L5_error)
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
__pyx_t_4 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 623, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_4);
if (__pyx_t_7) {
__Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_7); __pyx_t_7 = NULL;
}
__Pyx_INCREF(__pyx_n_s_on_built);
__Pyx_GIVEREF(__pyx_n_s_on_built);
PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_6, __pyx_n_s_on_built);
__Pyx_INCREF(__pyx_v_widget);
__Pyx_GIVEREF(__pyx_v_widget);
PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_6, __pyx_v_widget);
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 623, __pyx_L5_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":624
* widget = self.w_build(desc)
* self.dispatch('on_built',widget)
* if hasattr(widget,'ready'): # <<<<<<<<<<<<<<
* widget.ready = True
* return widget
*/
__pyx_t_2 = __Pyx_HasAttr(__pyx_v_widget, __pyx_n_s_ready); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 624, __pyx_L5_error)
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":625
* self.dispatch('on_built',widget)
* if hasattr(widget,'ready'):
* widget.ready = True # <<<<<<<<<<<<<<
* return widget
* except Exception as e:
*/
if (__Pyx_PyObject_SetAttrStr(__pyx_v_widget, __pyx_n_s_ready, Py_True) < 0) __PYX_ERR(0, 625, __pyx_L5_error)
/* "kivyblocks/blocks.pyx":624
* widget = self.w_build(desc)
* self.dispatch('on_built',widget)
* if hasattr(widget,'ready'): # <<<<<<<<<<<<<<
* widget.ready = True
* return widget
*/
}
/* "kivyblocks/blocks.pyx":626
* if hasattr(widget,'ready'):
* widget.ready = True
* return widget # <<<<<<<<<<<<<<
* except Exception as e:
* print_exc()
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_widget);
__pyx_r = __pyx_v_widget;
goto __pyx_L9_try_return;
/* "kivyblocks/blocks.pyx":621
*
* # desc = self.valueExpr(desc)
* try: # <<<<<<<<<<<<<<
* widget = self.w_build(desc)
* self.dispatch('on_built',widget)
*/
}
__pyx_L5_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_7); __pyx_t_7 = 0;
/* "kivyblocks/blocks.pyx":627
* widget.ready = True
* return widget
* except Exception as e: # <<<<<<<<<<<<<<
* print_exc()
* self.dispatch('on_failed',e)
*/
__pyx_t_6 = __Pyx_PyErr_ExceptionMatches(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
if (__pyx_t_6) {
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.widgetBuild.doit", __pyx_clineno, __pyx_lineno, __pyx_filename);
if (__Pyx_GetException(&__pyx_t_1, &__pyx_t_5, &__pyx_t_4) < 0) __PYX_ERR(0, 627, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GOTREF(__pyx_t_5);
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_t_5);
__pyx_v_e = __pyx_t_5;
/* "kivyblocks/blocks.pyx":628
* return widget
* except Exception as e:
* print_exc() # <<<<<<<<<<<<<<
* self.dispatch('on_failed',e)
* return None
*/
__Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_print_exc); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 628, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_12 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_11))) {
__pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11);
if (likely(__pyx_t_12)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
__Pyx_INCREF(__pyx_t_12);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_11, function);
}
}
__pyx_t_7 = (__pyx_t_12) ? __Pyx_PyObject_CallOneArg(__pyx_t_11, __pyx_t_12) : __Pyx_PyObject_CallNoArg(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 628, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "kivyblocks/blocks.pyx":629
* except Exception as e:
* print_exc()
* self.dispatch('on_failed',e) # <<<<<<<<<<<<<<
* return None
*
*/
if (unlikely(!__pyx_cur_scope->__pyx_v_self)) { __Pyx_RaiseClosureNameError("self"); __PYX_ERR(0, 629, __pyx_L7_except_error) }
__pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_self, __pyx_n_s_dispatch); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 629, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_11);
__pyx_t_12 = NULL;
__pyx_t_6 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_11))) {
__pyx_t_12 = PyMethod_GET_SELF(__pyx_t_11);
if (likely(__pyx_t_12)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_11);
__Pyx_INCREF(__pyx_t_12);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_11, function);
__pyx_t_6 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_11)) {
PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_n_s_on_failed, __pyx_v_e};
__pyx_t_7 = __Pyx_PyFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 629, __pyx_L7_except_error)
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_GOTREF(__pyx_t_7);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_11)) {
PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_n_s_on_failed, __pyx_v_e};
__pyx_t_7 = __Pyx_PyCFunction_FastCall(__pyx_t_11, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 629, __pyx_L7_except_error)
__Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0;
__Pyx_GOTREF(__pyx_t_7);
} else
#endif
{
__pyx_t_13 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 629, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_13);
if (__pyx_t_12) {
__Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_12); __pyx_t_12 = NULL;
}
__Pyx_INCREF(__pyx_n_s_on_failed);
__Pyx_GIVEREF(__pyx_n_s_on_failed);
PyTuple_SET_ITEM(__pyx_t_13, 0+__pyx_t_6, __pyx_n_s_on_failed);
__Pyx_INCREF(__pyx_v_e);
__Pyx_GIVEREF(__pyx_v_e);
PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_6, __pyx_v_e);
__pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_11, __pyx_t_13, NULL); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 629, __pyx_L7_except_error)
__Pyx_GOTREF(__pyx_t_7);
__Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
}
__Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0;
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
/* "kivyblocks/blocks.pyx":630
* print_exc()
* self.dispatch('on_failed',e)
* return None # <<<<<<<<<<<<<<
*
* if isinstance(desc,DictObject):
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
goto __pyx_L8_except_return;
}
goto __pyx_L7_except_error;
__pyx_L7_except_error:;
/* "kivyblocks/blocks.pyx":621
*
* # desc = self.valueExpr(desc)
* try: # <<<<<<<<<<<<<<
* widget = self.w_build(desc)
* self.dispatch('on_built',widget)
*/
__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_L1_error;
__pyx_L9_try_return:;
__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_L0;
__pyx_L8_except_return:;
__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_L0;
}
/* "kivyblocks/blocks.pyx":612
* }
* """
* def doit(desc): # <<<<<<<<<<<<<<
* if isinstance(desc,DictObject):
* desc = desc.to_dict()
*/
/* 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_7);
__Pyx_XDECREF(__pyx_t_11);
__Pyx_XDECREF(__pyx_t_12);
__Pyx_XDECREF(__pyx_t_13);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.widgetBuild.doit", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_widget);
__Pyx_XDECREF(__pyx_v_e);
__Pyx_XDECREF(__pyx_v_desc);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":599
* alert('%s method not found' % method)
*
* def widgetBuild(self, desc): # <<<<<<<<<<<<<<
* """
* desc format:
*/
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_54widgetBuild(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_self, PyObject *__pyx_v_desc) {
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild *__pyx_cur_scope;
PyObject *__pyx_v_doit = 0;
PyObject *__pyx_v_widgettype = NULL;
PyObject *__pyx_v_opts = NULL;
CYTHON_UNUSED PyObject *__pyx_v_extend = NULL;
PyObject *__pyx_v_addon = NULL;
PyObject *__pyx_v_url = NULL;
PyObject *__pyx_v_rtdesc = NULL;
PyObject *__pyx_v_rtdata = NULL;
PyObject *__pyx_v_params = NULL;
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;
PyObject *__pyx_t_6 = NULL;
int __pyx_t_7;
PyObject *__pyx_t_8 = NULL;
PyObject *__pyx_t_9 = NULL;
int __pyx_t_10;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("widgetBuild", 0);
__pyx_cur_scope = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild *)__pyx_tp_new_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild(__pyx_ptype_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild *)Py_None);
__Pyx_INCREF(Py_None);
__PYX_ERR(0, 599, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
__pyx_cur_scope->__pyx_v_self = __pyx_v_self;
__Pyx_INCREF(__pyx_cur_scope->__pyx_v_self);
__Pyx_GIVEREF(__pyx_cur_scope->__pyx_v_self);
__Pyx_INCREF(__pyx_v_desc);
/* "kivyblocks/blocks.pyx":612
* }
* """
* def doit(desc): # <<<<<<<<<<<<<<
* if isinstance(desc,DictObject):
* desc = desc.to_dict()
*/
__pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_11widgetBuild_1doit, 0, __pyx_n_s_Blocks_widgetBuild_locals_doit, ((PyObject*)__pyx_cur_scope), __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__22)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 612, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_doit = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":632
* return None
*
* if isinstance(desc,DictObject): # <<<<<<<<<<<<<<
* desc = desc.to_dict()
* if not isinstance(desc, dict):
*/
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_DictObject); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 632, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyObject_IsInstance(__pyx_v_desc, __pyx_t_1); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 632, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":633
*
* if isinstance(desc,DictObject):
* desc = desc.to_dict() # <<<<<<<<<<<<<<
* if not isinstance(desc, dict):
* print('widgetBuild1: desc must be a dict object',
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_to_dict); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 633, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
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_1 = (__pyx_t_5) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 633, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF_SET(__pyx_v_desc, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":632
* return None
*
* if isinstance(desc,DictObject): # <<<<<<<<<<<<<<
* desc = desc.to_dict()
* if not isinstance(desc, dict):
*/
}
/* "kivyblocks/blocks.pyx":634
* if isinstance(desc,DictObject):
* desc = desc.to_dict()
* if not isinstance(desc, dict): # <<<<<<<<<<<<<<
* print('widgetBuild1: desc must be a dict object',
* desc,type(desc))
*/
__pyx_t_3 = PyDict_Check(__pyx_v_desc);
__pyx_t_2 = ((!(__pyx_t_3 != 0)) != 0);
if (__pyx_t_2) {
/* "kivyblocks/blocks.pyx":635
* desc = desc.to_dict()
* if not isinstance(desc, dict):
* print('widgetBuild1: desc must be a dict object', # <<<<<<<<<<<<<<
* desc,type(desc))
* self.dispatch('on_failed',Exception('miss url'))
*/
__pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 635, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_kp_s_widgetBuild1_desc_must_be_a_dict);
__Pyx_GIVEREF(__pyx_kp_s_widgetBuild1_desc_must_be_a_dict);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_kp_s_widgetBuild1_desc_must_be_a_dict);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_desc);
__Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_desc)));
__Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_v_desc)));
PyTuple_SET_ITEM(__pyx_t_1, 2, ((PyObject *)Py_TYPE(__pyx_v_desc)));
if (__Pyx_PrintOne(0, __pyx_t_1) < 0) __PYX_ERR(0, 635, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":637
* print('widgetBuild1: desc must be a dict object',
* desc,type(desc))
* self.dispatch('on_failed',Exception('miss url')) # <<<<<<<<<<<<<<
* return
*
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_self, __pyx_n_s_dispatch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 637, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 637, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_n_s_on_failed, __pyx_t_5};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 637, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_n_s_on_failed, __pyx_t_5};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 637, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else
#endif
{
__pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 637, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_6); __pyx_t_6 = NULL;
}
__Pyx_INCREF(__pyx_n_s_on_failed);
__Pyx_GIVEREF(__pyx_n_s_on_failed);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, __pyx_n_s_on_failed);
__Pyx_GIVEREF(__pyx_t_5);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_t_5);
__pyx_t_5 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 637, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":638
* desc,type(desc))
* self.dispatch('on_failed',Exception('miss url'))
* return # <<<<<<<<<<<<<<
*
* widgettype = desc.get('widgettype')
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":634
* if isinstance(desc,DictObject):
* desc = desc.to_dict()
* if not isinstance(desc, dict): # <<<<<<<<<<<<<<
* print('widgetBuild1: desc must be a dict object',
* desc,type(desc))
*/
}
/* "kivyblocks/blocks.pyx":640
* return
*
* widgettype = desc.get('widgettype') # <<<<<<<<<<<<<<
* while widgettype == "urlwidget":
* opts = desc.get('options',{}).copy()
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 640, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_8 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
}
}
__pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_8, __pyx_n_s_widgettype) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_n_s_widgettype);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 640, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_v_widgettype = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":641
*
* widgettype = desc.get('widgettype')
* while widgettype == "urlwidget": # <<<<<<<<<<<<<<
* opts = desc.get('options',{}).copy()
* extend = desc.get('extend')
*/
while (1) {
__pyx_t_2 = (__Pyx_PyString_Equals(__pyx_v_widgettype, __pyx_n_s_urlwidget, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 641, __pyx_L1_error)
if (!__pyx_t_2) break;
/* "kivyblocks/blocks.pyx":642
* widgettype = desc.get('widgettype')
* while widgettype == "urlwidget":
* opts = desc.get('options',{}).copy() # <<<<<<<<<<<<<<
* extend = desc.get('extend')
* addon = None
*/
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 642, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 642, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_6 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
__pyx_t_6 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_6)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_6);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_n_s_options, __pyx_t_5};
__pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 642, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) {
PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_n_s_options, __pyx_t_5};
__pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 642, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
} else
#endif
{
__pyx_t_9 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 642, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_6) {
__Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_6); __pyx_t_6 = NULL;
}
__Pyx_INCREF(__pyx_n_s_options);
__Pyx_GIVEREF(__pyx_n_s_options);
PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_7, __pyx_n_s_options);
__Pyx_GIVEREF(__pyx_t_5);
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_7, __pyx_t_5);
__pyx_t_5 = 0;
__pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_9, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 642, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_copy); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 642, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
}
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_4) : __Pyx_PyObject_CallNoArg(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 642, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_XDECREF_SET(__pyx_v_opts, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":643
* while widgettype == "urlwidget":
* opts = desc.get('options',{}).copy()
* extend = desc.get('extend') # <<<<<<<<<<<<<<
* addon = None
* if desc.get('extend'):
*/
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 643, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
}
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_4, __pyx_n_s_extend) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_n_s_extend);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 643, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_XDECREF_SET(__pyx_v_extend, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":644
* opts = desc.get('options',{}).copy()
* extend = desc.get('extend')
* addon = None # <<<<<<<<<<<<<<
* if desc.get('extend'):
* addon = desc.get('extend').copy()
*/
__Pyx_INCREF(Py_None);
__Pyx_XDECREF_SET(__pyx_v_addon, Py_None);
/* "kivyblocks/blocks.pyx":645
* extend = desc.get('extend')
* addon = None
* if desc.get('extend'): # <<<<<<<<<<<<<<
* addon = desc.get('extend').copy()
* url = opts.get('url')
*/
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 645, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_4 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) {
__pyx_t_4 = PyMethod_GET_SELF(__pyx_t_8);
if (likely(__pyx_t_4)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_8);
__Pyx_INCREF(__pyx_t_4);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_8, function);
}
}
__pyx_t_1 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_4, __pyx_n_s_extend) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_n_s_extend);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 645, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 645, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_2) {
/* "kivyblocks/blocks.pyx":646
* addon = None
* if desc.get('extend'):
* addon = desc.get('extend').copy() # <<<<<<<<<<<<<<
* url = opts.get('url')
* if url is None:
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 646, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_9 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_9)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_9);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
}
}
__pyx_t_8 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_n_s_extend) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_n_s_extend);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 646, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_copy); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 646, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
}
}
__pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_8) : __Pyx_PyObject_CallNoArg(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 646, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF_SET(__pyx_v_addon, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":645
* extend = desc.get('extend')
* addon = None
* if desc.get('extend'): # <<<<<<<<<<<<<<
* addon = desc.get('extend').copy()
* url = opts.get('url')
*/
}
/* "kivyblocks/blocks.pyx":647
* if desc.get('extend'):
* addon = desc.get('extend').copy()
* url = opts.get('url') # <<<<<<<<<<<<<<
* if url is None:
* self.dispatch('on_failed',Exception('miss url'))
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_opts, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 647, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_8 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_8 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_8)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_8);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
}
}
__pyx_t_1 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_8, __pyx_n_s_url) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_n_s_url);
__Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 647, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF_SET(__pyx_v_url, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":648
* addon = desc.get('extend').copy()
* url = opts.get('url')
* if url is None: # <<<<<<<<<<<<<<
* self.dispatch('on_failed',Exception('miss url'))
* return
*/
__pyx_t_2 = (__pyx_v_url == Py_None);
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":649
* url = opts.get('url')
* if url is None:
* self.dispatch('on_failed',Exception('miss url')) # <<<<<<<<<<<<<<
* return
*
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_self, __pyx_n_s_dispatch); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 649, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_8 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 649, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_9 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_9)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_9);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_n_s_on_failed, __pyx_t_8};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 649, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_n_s_on_failed, __pyx_t_8};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 649, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
} else
#endif
{
__pyx_t_5 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 649, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_9) {
__Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_9); __pyx_t_9 = NULL;
}
__Pyx_INCREF(__pyx_n_s_on_failed);
__Pyx_GIVEREF(__pyx_n_s_on_failed);
PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_7, __pyx_n_s_on_failed);
__Pyx_GIVEREF(__pyx_t_8);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_7, __pyx_t_8);
__pyx_t_8 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 649, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":650
* if url is None:
* self.dispatch('on_failed',Exception('miss url'))
* return # <<<<<<<<<<<<<<
*
* if opts.get('url'):
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":648
* addon = desc.get('extend').copy()
* url = opts.get('url')
* if url is None: # <<<<<<<<<<<<<<
* self.dispatch('on_failed',Exception('miss url'))
* return
*/
}
/* "kivyblocks/blocks.pyx":652
* return
*
* if opts.get('url'): # <<<<<<<<<<<<<<
* del opts['url']
* rtdesc = self.build_rtdesc(opts)
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_opts, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 652, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
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_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_n_s_url) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_n_s_url);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 652, __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, 652, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":653
*
* if opts.get('url'):
* del opts['url'] # <<<<<<<<<<<<<<
* rtdesc = self.build_rtdesc(opts)
* if rtdesc:
*/
if (unlikely(PyObject_DelItem(__pyx_v_opts, __pyx_n_s_url) < 0)) __PYX_ERR(0, 653, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":652
* return
*
* if opts.get('url'): # <<<<<<<<<<<<<<
* del opts['url']
* rtdesc = self.build_rtdesc(opts)
*/
}
/* "kivyblocks/blocks.pyx":654
* if opts.get('url'):
* del opts['url']
* rtdesc = self.build_rtdesc(opts) # <<<<<<<<<<<<<<
* if rtdesc:
* rtdata = self.get_rtdata(None, rtdesc)
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_self, __pyx_n_s_build_rtdesc); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 654, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
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_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_v_opts) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_opts);
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 654, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF_SET(__pyx_v_rtdesc, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":655
* del opts['url']
* rtdesc = self.build_rtdesc(opts)
* if rtdesc: # <<<<<<<<<<<<<<
* rtdata = self.get_rtdata(None, rtdesc)
* params = opts.get('params', {})
*/
__pyx_t_3 = __Pyx_PyObject_IsTrue(__pyx_v_rtdesc); if (unlikely(__pyx_t_3 < 0)) __PYX_ERR(0, 655, __pyx_L1_error)
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":656
* rtdesc = self.build_rtdesc(opts)
* if rtdesc:
* rtdata = self.get_rtdata(None, rtdesc) # <<<<<<<<<<<<<<
* params = opts.get('params', {})
* params.update(rtdata)
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_self, __pyx_n_s_get_rtdata); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 656, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_5 = NULL;
__pyx_t_7 = 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_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, Py_None, __pyx_v_rtdesc};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 656, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, Py_None, __pyx_v_rtdesc};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 656, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
} else
#endif
{
__pyx_t_8 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 656, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
if (__pyx_t_5) {
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_5); __pyx_t_5 = NULL;
}
__Pyx_INCREF(Py_None);
__Pyx_GIVEREF(Py_None);
PyTuple_SET_ITEM(__pyx_t_8, 0+__pyx_t_7, Py_None);
__Pyx_INCREF(__pyx_v_rtdesc);
__Pyx_GIVEREF(__pyx_v_rtdesc);
PyTuple_SET_ITEM(__pyx_t_8, 1+__pyx_t_7, __pyx_v_rtdesc);
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_8, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 656, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF_SET(__pyx_v_rtdata, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":657
* if rtdesc:
* rtdata = self.get_rtdata(None, rtdesc)
* params = opts.get('params', {}) # <<<<<<<<<<<<<<
* params.update(rtdata)
* opts['params'] = params
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_opts, __pyx_n_s_get); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 657, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_8 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 657, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_5 = NULL;
__pyx_t_7 = 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_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_n_s_params, __pyx_t_8};
__pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 657, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_n_s_params, __pyx_t_8};
__pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 657, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
} else
#endif
{
__pyx_t_9 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 657, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
if (__pyx_t_5) {
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_5); __pyx_t_5 = NULL;
}
__Pyx_INCREF(__pyx_n_s_params);
__Pyx_GIVEREF(__pyx_n_s_params);
PyTuple_SET_ITEM(__pyx_t_9, 0+__pyx_t_7, __pyx_n_s_params);
__Pyx_GIVEREF(__pyx_t_8);
PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_7, __pyx_t_8);
__pyx_t_8 = 0;
__pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 657, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_XDECREF_SET(__pyx_v_params, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":658
* rtdata = self.get_rtdata(None, rtdesc)
* params = opts.get('params', {})
* params.update(rtdata) # <<<<<<<<<<<<<<
* opts['params'] = params
*
*/
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_params, __pyx_n_s_update); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 658, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_9 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) {
__pyx_t_9 = PyMethod_GET_SELF(__pyx_t_4);
if (likely(__pyx_t_9)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
__Pyx_INCREF(__pyx_t_9);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_4, function);
}
}
__pyx_t_1 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_9, __pyx_v_rtdata) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_rtdata);
__Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 658, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":659
* params = opts.get('params', {})
* params.update(rtdata)
* opts['params'] = params # <<<<<<<<<<<<<<
*
* desc = self.getUrlData(url,**opts)
*/
if (unlikely(PyObject_SetItem(__pyx_v_opts, __pyx_n_s_params, __pyx_v_params) < 0)) __PYX_ERR(0, 659, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":655
* del opts['url']
* rtdesc = self.build_rtdesc(opts)
* if rtdesc: # <<<<<<<<<<<<<<
* rtdata = self.get_rtdata(None, rtdesc)
* params = opts.get('params', {})
*/
}
/* "kivyblocks/blocks.pyx":661
* opts['params'] = params
*
* desc = self.getUrlData(url,**opts) # <<<<<<<<<<<<<<
* if not (isinstance(desc, DictObject) or \
* isinstance(desc, dict)):
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_self, __pyx_n_s_getUrlData); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 661, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_4 = PyTuple_New(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 661, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_v_url);
__Pyx_GIVEREF(__pyx_v_url);
PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_v_url);
if (unlikely(__pyx_v_opts == Py_None)) {
PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType");
__PYX_ERR(0, 661, __pyx_L1_error)
}
if (likely(PyDict_CheckExact(__pyx_v_opts))) {
__pyx_t_9 = PyDict_Copy(__pyx_v_opts); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 661, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
} else {
__pyx_t_9 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_opts, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 661, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
}
__pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_4, __pyx_t_9); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 661, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF_SET(__pyx_v_desc, __pyx_t_8);
__pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":662
*
* desc = self.getUrlData(url,**opts)
* if not (isinstance(desc, DictObject) or \ # <<<<<<<<<<<<<<
* isinstance(desc, dict)):
* print('Block2: desc must be a dict object',
*/
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_DictObject); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 662, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_2 = PyObject_IsInstance(__pyx_v_desc, __pyx_t_8); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 662, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_10 = (__pyx_t_2 != 0);
if (!__pyx_t_10) {
} else {
__pyx_t_3 = __pyx_t_10;
goto __pyx_L12_bool_binop_done;
}
/* "kivyblocks/blocks.pyx":663
* desc = self.getUrlData(url,**opts)
* if not (isinstance(desc, DictObject) or \
* isinstance(desc, dict)): # <<<<<<<<<<<<<<
* print('Block2: desc must be a dict object',
* desc,type(desc))
*/
__pyx_t_10 = PyDict_Check(__pyx_v_desc);
__pyx_t_2 = (__pyx_t_10 != 0);
__pyx_t_3 = __pyx_t_2;
__pyx_L12_bool_binop_done:;
/* "kivyblocks/blocks.pyx":662
*
* desc = self.getUrlData(url,**opts)
* if not (isinstance(desc, DictObject) or \ # <<<<<<<<<<<<<<
* isinstance(desc, dict)):
* print('Block2: desc must be a dict object',
*/
__pyx_t_2 = ((!__pyx_t_3) != 0);
if (__pyx_t_2) {
/* "kivyblocks/blocks.pyx":664
* if not (isinstance(desc, DictObject) or \
* isinstance(desc, dict)):
* print('Block2: desc must be a dict object', # <<<<<<<<<<<<<<
* desc,type(desc))
* self.dispatch('on_failed',Exception('miss url'))
*/
__pyx_t_8 = PyTuple_New(3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 664, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_INCREF(__pyx_kp_s_Block2_desc_must_be_a_dict_objec);
__Pyx_GIVEREF(__pyx_kp_s_Block2_desc_must_be_a_dict_objec);
PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_kp_s_Block2_desc_must_be_a_dict_objec);
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_v_desc);
__Pyx_INCREF(((PyObject *)Py_TYPE(__pyx_v_desc)));
__Pyx_GIVEREF(((PyObject *)Py_TYPE(__pyx_v_desc)));
PyTuple_SET_ITEM(__pyx_t_8, 2, ((PyObject *)Py_TYPE(__pyx_v_desc)));
if (__Pyx_PrintOne(0, __pyx_t_8) < 0) __PYX_ERR(0, 664, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":666
* print('Block2: desc must be a dict object',
* desc,type(desc))
* self.dispatch('on_failed',Exception('miss url')) # <<<<<<<<<<<<<<
* return
*
*/
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_cur_scope->__pyx_v_self, __pyx_n_s_dispatch); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 666, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_4 = __Pyx_PyObject_Call(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])), __pyx_tuple__23, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 666, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_1 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && likely(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_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_9)) {
PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_n_s_on_failed, __pyx_t_4};
__pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 666, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
PyObject *__pyx_temp[3] = {__pyx_t_1, __pyx_n_s_on_failed, __pyx_t_4};
__pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 666, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
} else
#endif
{
__pyx_t_5 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 666, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__pyx_t_1) {
__Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = NULL;
}
__Pyx_INCREF(__pyx_n_s_on_failed);
__Pyx_GIVEREF(__pyx_n_s_on_failed);
PyTuple_SET_ITEM(__pyx_t_5, 0+__pyx_t_7, __pyx_n_s_on_failed);
__Pyx_GIVEREF(__pyx_t_4);
PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_7, __pyx_t_4);
__pyx_t_4 = 0;
__pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_5, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 666, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":667
* desc,type(desc))
* self.dispatch('on_failed',Exception('miss url'))
* return # <<<<<<<<<<<<<<
*
* if addon:
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":662
*
* desc = self.getUrlData(url,**opts)
* if not (isinstance(desc, DictObject) or \ # <<<<<<<<<<<<<<
* isinstance(desc, dict)):
* print('Block2: desc must be a dict object',
*/
}
/* "kivyblocks/blocks.pyx":669
* return
*
* if addon: # <<<<<<<<<<<<<<
* desc = dictExtend(desc,addon)
* widgettype = desc.get('widgettype')
*/
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_addon); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 669, __pyx_L1_error)
if (__pyx_t_2) {
/* "kivyblocks/blocks.pyx":670
*
* if addon:
* desc = dictExtend(desc,addon) # <<<<<<<<<<<<<<
* widgettype = desc.get('widgettype')
* if widgettype is None:
*/
__Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_dictExtend); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 670, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_5 = NULL;
__pyx_t_7 = 0;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_9))) {
__pyx_t_5 = PyMethod_GET_SELF(__pyx_t_9);
if (likely(__pyx_t_5)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_9);
__Pyx_INCREF(__pyx_t_5);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_9, function);
__pyx_t_7 = 1;
}
}
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(__pyx_t_9)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_desc, __pyx_v_addon};
__pyx_t_8 = __Pyx_PyFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 670, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_8);
} else
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(__pyx_t_9)) {
PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_desc, __pyx_v_addon};
__pyx_t_8 = __Pyx_PyCFunction_FastCall(__pyx_t_9, __pyx_temp+1-__pyx_t_7, 2+__pyx_t_7); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 670, __pyx_L1_error)
__Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_GOTREF(__pyx_t_8);
} else
#endif
{
__pyx_t_4 = PyTuple_New(2+__pyx_t_7); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 670, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__pyx_t_5) {
__Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_4, 0, __pyx_t_5); __pyx_t_5 = NULL;
}
__Pyx_INCREF(__pyx_v_desc);
__Pyx_GIVEREF(__pyx_v_desc);
PyTuple_SET_ITEM(__pyx_t_4, 0+__pyx_t_7, __pyx_v_desc);
__Pyx_INCREF(__pyx_v_addon);
__Pyx_GIVEREF(__pyx_v_addon);
PyTuple_SET_ITEM(__pyx_t_4, 1+__pyx_t_7, __pyx_v_addon);
__pyx_t_8 = __Pyx_PyObject_Call(__pyx_t_9, __pyx_t_4, NULL); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 670, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF_SET(__pyx_v_desc, __pyx_t_8);
__pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":669
* return
*
* if addon: # <<<<<<<<<<<<<<
* desc = dictExtend(desc,addon)
* widgettype = desc.get('widgettype')
*/
}
/* "kivyblocks/blocks.pyx":671
* if addon:
* desc = dictExtend(desc,addon)
* widgettype = desc.get('widgettype') # <<<<<<<<<<<<<<
* if widgettype is None:
* print('Block3: desc must be a dict object not None')
*/
__pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_v_desc, __pyx_n_s_get); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 671, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_9);
__pyx_t_4 = NULL;
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_8 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_9, __pyx_t_4, __pyx_n_s_widgettype) : __Pyx_PyObject_CallOneArg(__pyx_t_9, __pyx_n_s_widgettype);
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 671, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
__Pyx_DECREF_SET(__pyx_v_widgettype, __pyx_t_8);
__pyx_t_8 = 0;
}
/* "kivyblocks/blocks.pyx":672
* desc = dictExtend(desc,addon)
* widgettype = desc.get('widgettype')
* if widgettype is None: # <<<<<<<<<<<<<<
* print('Block3: desc must be a dict object not None')
* return None
*/
__pyx_t_2 = (__pyx_v_widgettype == Py_None);
__pyx_t_3 = (__pyx_t_2 != 0);
if (__pyx_t_3) {
/* "kivyblocks/blocks.pyx":673
* widgettype = desc.get('widgettype')
* if widgettype is None:
* print('Block3: desc must be a dict object not None') # <<<<<<<<<<<<<<
* return None
* return doit(desc)
*/
if (__Pyx_PrintOne(0, __pyx_kp_s_Block3_desc_must_be_a_dict_objec) < 0) __PYX_ERR(0, 673, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":674
* if widgettype is None:
* print('Block3: desc must be a dict object not None')
* return None # <<<<<<<<<<<<<<
* return doit(desc)
*
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":672
* desc = dictExtend(desc,addon)
* widgettype = desc.get('widgettype')
* if widgettype is None: # <<<<<<<<<<<<<<
* print('Block3: desc must be a dict object not None')
* return None
*/
}
/* "kivyblocks/blocks.pyx":675
* print('Block3: desc must be a dict object not None')
* return None
* return doit(desc) # <<<<<<<<<<<<<<
*
* @classmethod
*/
__Pyx_XDECREF(__pyx_r);
__pyx_t_8 = __pyx_pf_10kivyblocks_6blocks_6Blocks_11widgetBuild_doit(__pyx_v_doit, __pyx_v_desc); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 675, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_r = __pyx_t_8;
__pyx_t_8 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":599
* alert('%s method not found' % method)
*
* def widgetBuild(self, desc): # <<<<<<<<<<<<<<
* """
* desc format:
*/
/* 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_6);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_XDECREF(__pyx_t_9);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.widgetBuild", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_doit);
__Pyx_XDECREF(__pyx_v_widgettype);
__Pyx_XDECREF(__pyx_v_opts);
__Pyx_XDECREF(__pyx_v_extend);
__Pyx_XDECREF(__pyx_v_addon);
__Pyx_XDECREF(__pyx_v_url);
__Pyx_XDECREF(__pyx_v_rtdesc);
__Pyx_XDECREF(__pyx_v_rtdata);
__Pyx_XDECREF(__pyx_v_params);
__Pyx_XDECREF(__pyx_v_desc);
__Pyx_DECREF(((PyObject *)__pyx_cur_scope));
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":678
*
* @classmethod
* def getWidgetById(self, id:str, from_widget:Widget=None) -> Widget: # <<<<<<<<<<<<<<
* def find_widget_by_id(id, from_widget):
* if id=='self':
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_57getWidgetById(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_57getWidgetById = {"getWidgetById", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_57getWidgetById, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_57getWidgetById(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
CYTHON_UNUSED PyObject *__pyx_v_self = 0;
PyObject *__pyx_v_id = 0;
PyObject *__pyx_v_from_widget = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("getWidgetById (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_id,&__pyx_n_s_from_widget,0};
PyObject* values[3] = {0,0,0};
values[2] = ((PyObject *)((PyObject *)Py_None));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_id)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("getWidgetById", 0, 2, 3, 1); __PYX_ERR(0, 678, __pyx_L3_error)
}
CYTHON_FALLTHROUGH;
case 2:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_from_widget);
if (value) { values[2] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "getWidgetById") < 0)) __PYX_ERR(0, 678, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2);
CYTHON_FALLTHROUGH;
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_id = ((PyObject*)values[1]);
__pyx_v_from_widget = values[2];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("getWidgetById", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 678, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.getWidgetById", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_id), (&PyString_Type), 1, "id", 1))) __PYX_ERR(0, 678, __pyx_L1_error)
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_56getWidgetById(__pyx_self, __pyx_v_self, __pyx_v_id, __pyx_v_from_widget);
/* function exit code */
goto __pyx_L0;
__pyx_L1_error:;
__pyx_r = NULL;
__pyx_L0:;
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":679
* @classmethod
* def getWidgetById(self, id:str, from_widget:Widget=None) -> Widget:
* def find_widget_by_id(id, from_widget): # <<<<<<<<<<<<<<
* if id=='self':
* return from_widget
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_13getWidgetById_1find_widget_by_id(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_13getWidgetById_1find_widget_by_id = {"find_widget_by_id", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_13getWidgetById_1find_widget_by_id, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_13getWidgetById_1find_widget_by_id(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
PyObject *__pyx_v_id = 0;
PyObject *__pyx_v_from_widget = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("find_widget_by_id (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_id,&__pyx_n_s_from_widget,0};
PyObject* values[2] = {0,0};
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_id)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_from_widget)) != 0)) kw_args--;
else {
__Pyx_RaiseArgtupleInvalid("find_widget_by_id", 1, 2, 2, 1); __PYX_ERR(0, 679, __pyx_L3_error)
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "find_widget_by_id") < 0)) __PYX_ERR(0, 679, __pyx_L3_error)
}
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
goto __pyx_L5_argtuple_error;
} else {
values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
}
__pyx_v_id = values[0];
__pyx_v_from_widget = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("find_widget_by_id", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 679, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.getWidgetById.find_widget_by_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_13getWidgetById_find_widget_by_id(__pyx_self, __pyx_v_id, __pyx_v_from_widget);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_13getWidgetById_find_widget_by_id(PyObject *__pyx_self, PyObject *__pyx_v_id, PyObject *__pyx_v_from_widget) {
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById *__pyx_cur_scope;
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById *__pyx_outer_scope;
PyObject *__pyx_v_w = NULL;
PyObject *__pyx_v_children = NULL;
PyObject *__pyx_v_c = NULL;
PyObject *__pyx_v_ret = NULL;
PyObject *__pyx_v_i = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
int __pyx_t_1;
int __pyx_t_2;
PyObject *__pyx_t_3 = NULL;
PyObject *__pyx_t_4 = NULL;
PyObject *__pyx_t_5 = NULL;
Py_ssize_t __pyx_t_6;
PyObject *(*__pyx_t_7)(PyObject *);
PyObject *__pyx_t_8 = NULL;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("find_widget_by_id", 0);
__pyx_outer_scope = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById *) __Pyx_CyFunction_GetClosure(__pyx_self);
__pyx_cur_scope = __pyx_outer_scope;
/* "kivyblocks/blocks.pyx":680
* def getWidgetById(self, id:str, from_widget:Widget=None) -> Widget:
* def find_widget_by_id(id, from_widget):
* if id=='self': # <<<<<<<<<<<<<<
* return from_widget
* if hasattr(from_widget,'widget_id'):
*/
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_v_id, __pyx_n_s_self, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 680, __pyx_L1_error)
if (__pyx_t_1) {
/* "kivyblocks/blocks.pyx":681
* def find_widget_by_id(id, from_widget):
* if id=='self':
* return from_widget # <<<<<<<<<<<<<<
* if hasattr(from_widget,'widget_id'):
* if from_widget.widget_id == id:
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_from_widget);
__pyx_r = __pyx_v_from_widget;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":680
* def getWidgetById(self, id:str, from_widget:Widget=None) -> Widget:
* def find_widget_by_id(id, from_widget):
* if id=='self': # <<<<<<<<<<<<<<
* return from_widget
* if hasattr(from_widget,'widget_id'):
*/
}
/* "kivyblocks/blocks.pyx":682
* if id=='self':
* return from_widget
* if hasattr(from_widget,'widget_id'): # <<<<<<<<<<<<<<
* if from_widget.widget_id == id:
* return from_widget
*/
__pyx_t_1 = __Pyx_HasAttr(__pyx_v_from_widget, __pyx_n_s_widget_id); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 682, __pyx_L1_error)
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
/* "kivyblocks/blocks.pyx":683
* return from_widget
* if hasattr(from_widget,'widget_id'):
* if from_widget.widget_id == id: # <<<<<<<<<<<<<<
* return from_widget
* if id[0] == '-' and from_widget.widget_id == id[1:]:
*/
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_widget, __pyx_n_s_widget_id); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 683, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = PyObject_RichCompare(__pyx_t_3, __pyx_v_id, Py_EQ); __Pyx_XGOTREF(__pyx_t_4); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 683, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_4); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 683, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_2) {
/* "kivyblocks/blocks.pyx":684
* if hasattr(from_widget,'widget_id'):
* if from_widget.widget_id == id:
* return from_widget # <<<<<<<<<<<<<<
* if id[0] == '-' and from_widget.widget_id == id[1:]:
* return from_widget
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_from_widget);
__pyx_r = __pyx_v_from_widget;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":683
* return from_widget
* if hasattr(from_widget,'widget_id'):
* if from_widget.widget_id == id: # <<<<<<<<<<<<<<
* return from_widget
* if id[0] == '-' and from_widget.widget_id == id[1:]:
*/
}
/* "kivyblocks/blocks.pyx":685
* if from_widget.widget_id == id:
* return from_widget
* if id[0] == '-' and from_widget.widget_id == id[1:]: # <<<<<<<<<<<<<<
* return from_widget
* if hasattr(from_widget, id):
*/
__pyx_t_4 = __Pyx_GetItemInt(__pyx_v_id, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 685, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_4, __pyx_kp_s__24, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 685, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__pyx_t_1) {
} else {
__pyx_t_2 = __pyx_t_1;
goto __pyx_L7_bool_binop_done;
}
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_widget, __pyx_n_s_widget_id); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 685, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_id, 1, 0, NULL, NULL, &__pyx_slice__25, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 685, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = PyObject_RichCompare(__pyx_t_4, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_5); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 685, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 685, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_2 = __pyx_t_1;
__pyx_L7_bool_binop_done:;
if (__pyx_t_2) {
/* "kivyblocks/blocks.pyx":686
* return from_widget
* if id[0] == '-' and from_widget.widget_id == id[1:]:
* return from_widget # <<<<<<<<<<<<<<
* if hasattr(from_widget, id):
* w = getattr(from_widget,id)
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_from_widget);
__pyx_r = __pyx_v_from_widget;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":685
* if from_widget.widget_id == id:
* return from_widget
* if id[0] == '-' and from_widget.widget_id == id[1:]: # <<<<<<<<<<<<<<
* return from_widget
* if hasattr(from_widget, id):
*/
}
/* "kivyblocks/blocks.pyx":682
* if id=='self':
* return from_widget
* if hasattr(from_widget,'widget_id'): # <<<<<<<<<<<<<<
* if from_widget.widget_id == id:
* return from_widget
*/
}
/* "kivyblocks/blocks.pyx":687
* if id[0] == '-' and from_widget.widget_id == id[1:]:
* return from_widget
* if hasattr(from_widget, id): # <<<<<<<<<<<<<<
* w = getattr(from_widget,id)
* return w
*/
__pyx_t_2 = __Pyx_HasAttr(__pyx_v_from_widget, __pyx_v_id); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 687, __pyx_L1_error)
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
/* "kivyblocks/blocks.pyx":688
* return from_widget
* if hasattr(from_widget, id):
* w = getattr(from_widget,id) # <<<<<<<<<<<<<<
* return w
*
*/
__pyx_t_5 = __Pyx_GetAttr(__pyx_v_from_widget, __pyx_v_id); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 688, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_v_w = __pyx_t_5;
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":689
* if hasattr(from_widget, id):
* w = getattr(from_widget,id)
* return w # <<<<<<<<<<<<<<
*
* if id[0] == '-':
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_w);
__pyx_r = __pyx_v_w;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":687
* if id[0] == '-' and from_widget.widget_id == id[1:]:
* return from_widget
* if hasattr(from_widget, id): # <<<<<<<<<<<<<<
* w = getattr(from_widget,id)
* return w
*/
}
/* "kivyblocks/blocks.pyx":691
* return w
*
* if id[0] == '-': # <<<<<<<<<<<<<<
* print('find_widget_by_id(), id=', id,
* 'widget=', from_widget)
*/
__pyx_t_5 = __Pyx_GetItemInt(__pyx_v_id, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 691, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_1 = (__Pyx_PyString_Equals(__pyx_t_5, __pyx_kp_s__24, Py_EQ)); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 691, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_1) {
/* "kivyblocks/blocks.pyx":692
*
* if id[0] == '-':
* print('find_widget_by_id(), id=', id, # <<<<<<<<<<<<<<
* 'widget=', from_widget)
* if isinstance(from_widget, WindowBase):
*/
__pyx_t_5 = PyTuple_New(4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 692, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_kp_s_find_widget_by_id_id);
__Pyx_GIVEREF(__pyx_kp_s_find_widget_by_id_id);
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_kp_s_find_widget_by_id_id);
__Pyx_INCREF(__pyx_v_id);
__Pyx_GIVEREF(__pyx_v_id);
PyTuple_SET_ITEM(__pyx_t_5, 1, __pyx_v_id);
__Pyx_INCREF(__pyx_kp_s_widget_2);
__Pyx_GIVEREF(__pyx_kp_s_widget_2);
PyTuple_SET_ITEM(__pyx_t_5, 2, __pyx_kp_s_widget_2);
__Pyx_INCREF(__pyx_v_from_widget);
__Pyx_GIVEREF(__pyx_v_from_widget);
PyTuple_SET_ITEM(__pyx_t_5, 3, __pyx_v_from_widget);
if (__Pyx_PrintOne(0, __pyx_t_5) < 0) __PYX_ERR(0, 692, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":694
* print('find_widget_by_id(), id=', id,
* 'widget=', from_widget)
* if isinstance(from_widget, WindowBase): # <<<<<<<<<<<<<<
* return None
* if from_widget.parent:
*/
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_WindowBase); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 694, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_1 = PyObject_IsInstance(__pyx_v_from_widget, __pyx_t_5); if (unlikely(__pyx_t_1 == ((int)-1))) __PYX_ERR(0, 694, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_t_2 = (__pyx_t_1 != 0);
if (__pyx_t_2) {
/* "kivyblocks/blocks.pyx":695
* 'widget=', from_widget)
* if isinstance(from_widget, WindowBase):
* return None # <<<<<<<<<<<<<<
* if from_widget.parent:
* return find_widget_by_id(id,
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":694
* print('find_widget_by_id(), id=', id,
* 'widget=', from_widget)
* if isinstance(from_widget, WindowBase): # <<<<<<<<<<<<<<
* return None
* if from_widget.parent:
*/
}
/* "kivyblocks/blocks.pyx":696
* if isinstance(from_widget, WindowBase):
* return None
* if from_widget.parent: # <<<<<<<<<<<<<<
* return find_widget_by_id(id,
* from_widget=from_widget.parent)
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_widget, __pyx_n_s_parent); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 696, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_5); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 696, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__pyx_t_2) {
/* "kivyblocks/blocks.pyx":697
* return None
* if from_widget.parent:
* return find_widget_by_id(id, # <<<<<<<<<<<<<<
* from_widget=from_widget.parent)
* return None
*/
__Pyx_XDECREF(__pyx_r);
if (unlikely(!__pyx_cur_scope->__pyx_v_find_widget_by_id)) { __Pyx_RaiseClosureNameError("find_widget_by_id"); __PYX_ERR(0, 697, __pyx_L1_error) }
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 697, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_v_id);
__Pyx_GIVEREF(__pyx_v_id);
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_id);
/* "kivyblocks/blocks.pyx":698
* if from_widget.parent:
* return find_widget_by_id(id,
* from_widget=from_widget.parent) # <<<<<<<<<<<<<<
* return None
* else:
*/
__pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 698, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_widget, __pyx_n_s_parent); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 698, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_from_widget, __pyx_t_4) < 0) __PYX_ERR(0, 698, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":697
* return None
* if from_widget.parent:
* return find_widget_by_id(id, # <<<<<<<<<<<<<<
* from_widget=from_widget.parent)
* return None
*/
__pyx_t_4 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_find_widget_by_id, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 697, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_r = __pyx_t_4;
__pyx_t_4 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":696
* if isinstance(from_widget, WindowBase):
* return None
* if from_widget.parent: # <<<<<<<<<<<<<<
* return find_widget_by_id(id,
* from_widget=from_widget.parent)
*/
}
/* "kivyblocks/blocks.pyx":699
* return find_widget_by_id(id,
* from_widget=from_widget.parent)
* return None # <<<<<<<<<<<<<<
* else:
* children = [i for i in from_widget.children]
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":691
* return w
*
* if id[0] == '-': # <<<<<<<<<<<<<<
* print('find_widget_by_id(), id=', id,
* 'widget=', from_widget)
*/
}
/* "kivyblocks/blocks.pyx":701
* return None
* else:
* children = [i for i in from_widget.children] # <<<<<<<<<<<<<<
* if hasattr(from_widget, 'get_subwidgets'):
* children = from_widget.get_subwidgets()
*/
/*else*/ {
__pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 701, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_widget, __pyx_n_s_children); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 701, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) {
__pyx_t_5 = __pyx_t_3; __Pyx_INCREF(__pyx_t_5); __pyx_t_6 = 0;
__pyx_t_7 = NULL;
} else {
__pyx_t_6 = -1; __pyx_t_5 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 701, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_7 = Py_TYPE(__pyx_t_5)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 701, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
for (;;) {
if (likely(!__pyx_t_7)) {
if (likely(PyList_CheckExact(__pyx_t_5))) {
if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_3 = PyList_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 701, __pyx_L1_error)
#else
__pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 701, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
} else {
if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_5)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_5, __pyx_t_6); __Pyx_INCREF(__pyx_t_3); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 701, __pyx_L1_error)
#else
__pyx_t_3 = PySequence_ITEM(__pyx_t_5, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 701, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
#endif
}
} else {
__pyx_t_3 = __pyx_t_7(__pyx_t_5);
if (unlikely(!__pyx_t_3)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 701, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_3);
}
__Pyx_XDECREF_SET(__pyx_v_i, __pyx_t_3);
__pyx_t_3 = 0;
if (unlikely(__Pyx_ListComp_Append(__pyx_t_4, (PyObject*)__pyx_v_i))) __PYX_ERR(0, 701, __pyx_L1_error)
}
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__pyx_v_children = __pyx_t_4;
__pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":702
* else:
* children = [i for i in from_widget.children]
* if hasattr(from_widget, 'get_subwidgets'): # <<<<<<<<<<<<<<
* children = from_widget.get_subwidgets()
* for c in children:
*/
__pyx_t_2 = __Pyx_HasAttr(__pyx_v_from_widget, __pyx_n_s_get_subwidgets); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(0, 702, __pyx_L1_error)
__pyx_t_1 = (__pyx_t_2 != 0);
if (__pyx_t_1) {
/* "kivyblocks/blocks.pyx":703
* children = [i for i in from_widget.children]
* if hasattr(from_widget, 'get_subwidgets'):
* children = from_widget.get_subwidgets() # <<<<<<<<<<<<<<
* for c in children:
* ret = find_widget_by_id(id,from_widget=c)
*/
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_from_widget, __pyx_n_s_get_subwidgets); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__pyx_t_3 = NULL;
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
__pyx_t_3 = PyMethod_GET_SELF(__pyx_t_5);
if (likely(__pyx_t_3)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5);
__Pyx_INCREF(__pyx_t_3);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_5, function);
}
}
__pyx_t_4 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 703, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF_SET(__pyx_v_children, __pyx_t_4);
__pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":702
* else:
* children = [i for i in from_widget.children]
* if hasattr(from_widget, 'get_subwidgets'): # <<<<<<<<<<<<<<
* children = from_widget.get_subwidgets()
* for c in children:
*/
}
/* "kivyblocks/blocks.pyx":704
* if hasattr(from_widget, 'get_subwidgets'):
* children = from_widget.get_subwidgets()
* for c in children: # <<<<<<<<<<<<<<
* ret = find_widget_by_id(id,from_widget=c)
* if ret:
*/
if (likely(PyList_CheckExact(__pyx_v_children)) || PyTuple_CheckExact(__pyx_v_children)) {
__pyx_t_4 = __pyx_v_children; __Pyx_INCREF(__pyx_t_4); __pyx_t_6 = 0;
__pyx_t_7 = NULL;
} else {
__pyx_t_6 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_v_children); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 704, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__pyx_t_7 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 704, __pyx_L1_error)
}
for (;;) {
if (likely(!__pyx_t_7)) {
if (likely(PyList_CheckExact(__pyx_t_4))) {
if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_5 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 704, __pyx_L1_error)
#else
__pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 704, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
} else {
if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_4)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_6); __Pyx_INCREF(__pyx_t_5); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 704, __pyx_L1_error)
#else
__pyx_t_5 = PySequence_ITEM(__pyx_t_4, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 704, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
#endif
}
} else {
__pyx_t_5 = __pyx_t_7(__pyx_t_4);
if (unlikely(!__pyx_t_5)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 704, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_5);
}
__Pyx_XDECREF_SET(__pyx_v_c, __pyx_t_5);
__pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":705
* children = from_widget.get_subwidgets()
* for c in children:
* ret = find_widget_by_id(id,from_widget=c) # <<<<<<<<<<<<<<
* if ret:
* return ret
*/
if (unlikely(!__pyx_cur_scope->__pyx_v_find_widget_by_id)) { __Pyx_RaiseClosureNameError("find_widget_by_id"); __PYX_ERR(0, 705, __pyx_L1_error) }
__pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 705, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_v_id);
__Pyx_GIVEREF(__pyx_v_id);
PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_v_id);
__pyx_t_3 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 705, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
if (PyDict_SetItem(__pyx_t_3, __pyx_n_s_from_widget, __pyx_v_c) < 0) __PYX_ERR(0, 705, __pyx_L1_error)
__pyx_t_8 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_find_widget_by_id, __pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 705, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_XDECREF_SET(__pyx_v_ret, __pyx_t_8);
__pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":706
* for c in children:
* ret = find_widget_by_id(id,from_widget=c)
* if ret: # <<<<<<<<<<<<<<
* return ret
* return None
*/
__pyx_t_1 = __Pyx_PyObject_IsTrue(__pyx_v_ret); if (unlikely(__pyx_t_1 < 0)) __PYX_ERR(0, 706, __pyx_L1_error)
if (__pyx_t_1) {
/* "kivyblocks/blocks.pyx":707
* ret = find_widget_by_id(id,from_widget=c)
* if ret:
* return ret # <<<<<<<<<<<<<<
* return None
*
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_ret);
__pyx_r = __pyx_v_ret;
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":706
* for c in children:
* ret = find_widget_by_id(id,from_widget=c)
* if ret: # <<<<<<<<<<<<<<
* return ret
* return None
*/
}
/* "kivyblocks/blocks.pyx":704
* if hasattr(from_widget, 'get_subwidgets'):
* children = from_widget.get_subwidgets()
* for c in children: # <<<<<<<<<<<<<<
* ret = find_widget_by_id(id,from_widget=c)
* if ret:
*/
}
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
}
/* "kivyblocks/blocks.pyx":708
* if ret:
* return ret
* return None # <<<<<<<<<<<<<<
*
* ids = id.split('.')
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":679
* @classmethod
* def getWidgetById(self, id:str, from_widget:Widget=None) -> Widget:
* def find_widget_by_id(id, from_widget): # <<<<<<<<<<<<<<
* if id=='self':
* return from_widget
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.getWidgetById.find_widget_by_id", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_w);
__Pyx_XDECREF(__pyx_v_children);
__Pyx_XDECREF(__pyx_v_c);
__Pyx_XDECREF(__pyx_v_ret);
__Pyx_XDECREF(__pyx_v_i);
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":678
*
* @classmethod
* def getWidgetById(self, id:str, from_widget:Widget=None) -> Widget: # <<<<<<<<<<<<<<
* def find_widget_by_id(id, from_widget):
* if id=='self':
*/
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_56getWidgetById(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, PyObject *__pyx_v_id, PyObject *__pyx_v_from_widget) {
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById *__pyx_cur_scope;
PyObject *__pyx_v_ids = NULL;
PyObject *__pyx_v_app = NULL;
PyObject *__pyx_v_fid = NULL;
PyObject *__pyx_v_w = NULL;
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
PyObject *__pyx_t_1 = NULL;
PyObject *__pyx_t_2 = NULL;
PyObject *__pyx_t_3 = NULL;
int __pyx_t_4;
int __pyx_t_5;
Py_ssize_t __pyx_t_6;
PyObject *(*__pyx_t_7)(PyObject *);
PyObject *__pyx_t_8 = NULL;
int __pyx_t_9;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("getWidgetById", 0);
__pyx_cur_scope = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById *)__pyx_tp_new_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById(__pyx_ptype_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById, __pyx_empty_tuple, NULL);
if (unlikely(!__pyx_cur_scope)) {
__pyx_cur_scope = ((struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById *)Py_None);
__Pyx_INCREF(Py_None);
__PYX_ERR(0, 678, __pyx_L1_error)
} else {
__Pyx_GOTREF(__pyx_cur_scope);
}
__Pyx_INCREF(__pyx_v_id);
__Pyx_INCREF(__pyx_v_from_widget);
/* "kivyblocks/blocks.pyx":679
* @classmethod
* def getWidgetById(self, id:str, from_widget:Widget=None) -> Widget:
* def find_widget_by_id(id, from_widget): # <<<<<<<<<<<<<<
* if id=='self':
* return from_widget
*/
__pyx_t_1 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_13getWidgetById_1find_widget_by_id, 0, __pyx_n_s_Blocks_getWidgetById_locals_find, ((PyObject*)__pyx_cur_scope), __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__27)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 679, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_GIVEREF(__pyx_t_1);
__pyx_cur_scope->__pyx_v_find_widget_by_id = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":710
* return None
*
* ids = id.split('.') # <<<<<<<<<<<<<<
* app = App.get_running_app()
* fid = ids[0]
*/
__pyx_t_1 = __Pyx_CallUnboundCMethod1(&__pyx_umethod_PyString_Type_split, __pyx_v_id, __pyx_kp_s__8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 710, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_ids = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":711
*
* ids = id.split('.')
* app = App.get_running_app() # <<<<<<<<<<<<<<
* fid = ids[0]
* if fid == '/self' or fid == 'root':
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_App); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 711, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_get_running_app); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 711, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = NULL;
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) {
__pyx_t_2 = PyMethod_GET_SELF(__pyx_t_3);
if (likely(__pyx_t_2)) {
PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
__Pyx_INCREF(__pyx_t_2);
__Pyx_INCREF(function);
__Pyx_DECREF_SET(__pyx_t_3, function);
}
}
__pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0;
if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 711, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__pyx_v_app = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":712
* ids = id.split('.')
* app = App.get_running_app()
* fid = ids[0] # <<<<<<<<<<<<<<
* if fid == '/self' or fid == 'root':
* from_widget = app.root
*/
__pyx_t_1 = __Pyx_GetItemInt(__pyx_v_ids, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 712, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_v_fid = __pyx_t_1;
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":713
* app = App.get_running_app()
* fid = ids[0]
* if fid == '/self' or fid == 'root': # <<<<<<<<<<<<<<
* from_widget = app.root
* if len(ids) == 1:
*/
__pyx_t_5 = (__Pyx_PyString_Equals(__pyx_v_fid, __pyx_kp_s_self_2, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 713, __pyx_L1_error)
if (!__pyx_t_5) {
} else {
__pyx_t_4 = __pyx_t_5;
goto __pyx_L4_bool_binop_done;
}
__pyx_t_5 = (__Pyx_PyString_Equals(__pyx_v_fid, __pyx_n_s_root_2, Py_EQ)); if (unlikely(__pyx_t_5 < 0)) __PYX_ERR(0, 713, __pyx_L1_error)
__pyx_t_4 = __pyx_t_5;
__pyx_L4_bool_binop_done:;
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":714
* fid = ids[0]
* if fid == '/self' or fid == 'root':
* from_widget = app.root # <<<<<<<<<<<<<<
* if len(ids) == 1:
* return from_widget
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_app, __pyx_n_s_root_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 714, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_from_widget, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":715
* if fid == '/self' or fid == 'root':
* from_widget = app.root
* if len(ids) == 1: # <<<<<<<<<<<<<<
* return from_widget
* ids = ids[1:]
*/
__pyx_t_6 = PyObject_Length(__pyx_v_ids); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 715, __pyx_L1_error)
__pyx_t_4 = ((__pyx_t_6 == 1) != 0);
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":716
* from_widget = app.root
* if len(ids) == 1:
* return from_widget # <<<<<<<<<<<<<<
* ids = ids[1:]
* if fid == 'Window':
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_from_widget);
__pyx_r = __pyx_v_from_widget;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":715
* if fid == '/self' or fid == 'root':
* from_widget = app.root
* if len(ids) == 1: # <<<<<<<<<<<<<<
* return from_widget
* ids = ids[1:]
*/
}
/* "kivyblocks/blocks.pyx":717
* if len(ids) == 1:
* return from_widget
* ids = ids[1:] # <<<<<<<<<<<<<<
* if fid == 'Window':
* from_widget == Window
*/
__pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_ids, 1, 0, NULL, NULL, &__pyx_slice__25, 1, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 717, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF_SET(__pyx_v_ids, __pyx_t_1);
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":713
* app = App.get_running_app()
* fid = ids[0]
* if fid == '/self' or fid == 'root': # <<<<<<<<<<<<<<
* from_widget = app.root
* if len(ids) == 1:
*/
}
/* "kivyblocks/blocks.pyx":718
* return from_widget
* ids = ids[1:]
* if fid == 'Window': # <<<<<<<<<<<<<<
* from_widget == Window
* if len(ids) == 1:
*/
__pyx_t_4 = (__Pyx_PyString_Equals(__pyx_v_fid, __pyx_n_s_Window, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 718, __pyx_L1_error)
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":719
* ids = ids[1:]
* if fid == 'Window':
* from_widget == Window # <<<<<<<<<<<<<<
* if len(ids) == 1:
* return from_widget
*/
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Window); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 719, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = PyObject_RichCompare(__pyx_v_from_widget, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 719, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":720
* if fid == 'Window':
* from_widget == Window
* if len(ids) == 1: # <<<<<<<<<<<<<<
* return from_widget
* ids = ids[1:]
*/
__pyx_t_6 = PyObject_Length(__pyx_v_ids); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 720, __pyx_L1_error)
__pyx_t_4 = ((__pyx_t_6 == 1) != 0);
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":721
* from_widget == Window
* if len(ids) == 1:
* return from_widget # <<<<<<<<<<<<<<
* ids = ids[1:]
* if fid == 'app':
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_from_widget);
__pyx_r = __pyx_v_from_widget;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":720
* if fid == 'Window':
* from_widget == Window
* if len(ids) == 1: # <<<<<<<<<<<<<<
* return from_widget
* ids = ids[1:]
*/
}
/* "kivyblocks/blocks.pyx":722
* if len(ids) == 1:
* return from_widget
* ids = ids[1:] # <<<<<<<<<<<<<<
* if fid == 'app':
* return app
*/
__pyx_t_3 = __Pyx_PyObject_GetSlice(__pyx_v_ids, 1, 0, NULL, NULL, &__pyx_slice__25, 1, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 722, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF_SET(__pyx_v_ids, __pyx_t_3);
__pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":718
* return from_widget
* ids = ids[1:]
* if fid == 'Window': # <<<<<<<<<<<<<<
* from_widget == Window
* if len(ids) == 1:
*/
}
/* "kivyblocks/blocks.pyx":723
* return from_widget
* ids = ids[1:]
* if fid == 'app': # <<<<<<<<<<<<<<
* return app
*
*/
__pyx_t_4 = (__Pyx_PyString_Equals(__pyx_v_fid, __pyx_n_s_app_2, Py_EQ)); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 723, __pyx_L1_error)
if (__pyx_t_4) {
/* "kivyblocks/blocks.pyx":724
* ids = ids[1:]
* if fid == 'app':
* return app # <<<<<<<<<<<<<<
*
* if from_widget is None:
*/
__Pyx_XDECREF(__pyx_r);
__Pyx_INCREF(__pyx_v_app);
__pyx_r = __pyx_v_app;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":723
* return from_widget
* ids = ids[1:]
* if fid == 'app': # <<<<<<<<<<<<<<
* return app
*
*/
}
/* "kivyblocks/blocks.pyx":726
* return app
*
* if from_widget is None: # <<<<<<<<<<<<<<
* from_widget = app.root
* for id in ids:
*/
__pyx_t_4 = (__pyx_v_from_widget == Py_None);
__pyx_t_5 = (__pyx_t_4 != 0);
if (__pyx_t_5) {
/* "kivyblocks/blocks.pyx":727
*
* if from_widget is None:
* from_widget = app.root # <<<<<<<<<<<<<<
* for id in ids:
* w = find_widget_by_id(id,from_widget=from_widget)
*/
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_app, __pyx_n_s_root_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 727, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF_SET(__pyx_v_from_widget, __pyx_t_3);
__pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":726
* return app
*
* if from_widget is None: # <<<<<<<<<<<<<<
* from_widget = app.root
* for id in ids:
*/
}
/* "kivyblocks/blocks.pyx":728
* if from_widget is None:
* from_widget = app.root
* for id in ids: # <<<<<<<<<<<<<<
* w = find_widget_by_id(id,from_widget=from_widget)
* if w is None \
*/
if (likely(PyList_CheckExact(__pyx_v_ids)) || PyTuple_CheckExact(__pyx_v_ids)) {
__pyx_t_3 = __pyx_v_ids; __Pyx_INCREF(__pyx_t_3); __pyx_t_6 = 0;
__pyx_t_7 = NULL;
} else {
__pyx_t_6 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_v_ids); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 728, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_7 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 728, __pyx_L1_error)
}
for (;;) {
if (likely(!__pyx_t_7)) {
if (likely(PyList_CheckExact(__pyx_t_3))) {
if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 728, __pyx_L1_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 728, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
} else {
if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_3)) break;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
__pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_6); __Pyx_INCREF(__pyx_t_1); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 728, __pyx_L1_error)
#else
__pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 728, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
#endif
}
} else {
__pyx_t_1 = __pyx_t_7(__pyx_t_3);
if (unlikely(!__pyx_t_1)) {
PyObject* exc_type = PyErr_Occurred();
if (exc_type) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear();
else __PYX_ERR(0, 728, __pyx_L1_error)
}
break;
}
__Pyx_GOTREF(__pyx_t_1);
}
if (!(likely(PyString_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None)||(PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "str", Py_TYPE(__pyx_t_1)->tp_name), 0))) __PYX_ERR(0, 728, __pyx_L1_error)
__Pyx_DECREF_SET(__pyx_v_id, ((PyObject*)__pyx_t_1));
__pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":729
* from_widget = app.root
* for id in ids:
* w = find_widget_by_id(id,from_widget=from_widget) # <<<<<<<<<<<<<<
* if w is None \
* and id == ids[0] \
*/
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_v_id);
__Pyx_GIVEREF(__pyx_v_id);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_v_id);
__pyx_t_2 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_t_2, __pyx_n_s_from_widget, __pyx_v_from_widget) < 0) __PYX_ERR(0, 729, __pyx_L1_error)
__pyx_t_8 = __Pyx_PyObject_Call(__pyx_cur_scope->__pyx_v_find_widget_by_id, __pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 729, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_XDECREF_SET(__pyx_v_w, __pyx_t_8);
__pyx_t_8 = 0;
/* "kivyblocks/blocks.pyx":730
* for id in ids:
* w = find_widget_by_id(id,from_widget=from_widget)
* if w is None \ # <<<<<<<<<<<<<<
* and id == ids[0] \
* and Window.fullscreen == True \
*/
__pyx_t_4 = (__pyx_v_w == Py_None);
__pyx_t_9 = (__pyx_t_4 != 0);
if (__pyx_t_9) {
} else {
__pyx_t_5 = __pyx_t_9;
goto __pyx_L14_bool_binop_done;
}
/* "kivyblocks/blocks.pyx":731
* w = find_widget_by_id(id,from_widget=from_widget)
* if w is None \
* and id == ids[0] \ # <<<<<<<<<<<<<<
* and Window.fullscreen == True \
* and app.root != app.fs_widget:
*/
__pyx_t_8 = __Pyx_GetItemInt(__pyx_v_ids, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 731, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_9 = (__Pyx_PyString_Equals(__pyx_v_id, __pyx_t_8, Py_EQ)); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 731, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (__pyx_t_9) {
} else {
__pyx_t_5 = __pyx_t_9;
goto __pyx_L14_bool_binop_done;
}
/* "kivyblocks/blocks.pyx":732
* if w is None \
* and id == ids[0] \
* and Window.fullscreen == True \ # <<<<<<<<<<<<<<
* and app.root != app.fs_widget:
* w = find_widget_by_id(id, app.fs_widget)
*/
__Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_Window); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 732, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_8, __pyx_n_s_fullscreen); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 732, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__pyx_t_8 = PyObject_RichCompare(__pyx_t_2, Py_True, Py_EQ); __Pyx_XGOTREF(__pyx_t_8); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 732, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_8); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 732, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
if (__pyx_t_9) {
} else {
__pyx_t_5 = __pyx_t_9;
goto __pyx_L14_bool_binop_done;
}
/* "kivyblocks/blocks.pyx":733
* and id == ids[0] \
* and Window.fullscreen == True \
* and app.root != app.fs_widget: # <<<<<<<<<<<<<<
* w = find_widget_by_id(id, app.fs_widget)
*
*/
__pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_app, __pyx_n_s_root_2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 733, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_8);
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_app, __pyx_n_s_fs_widget); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 733, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = PyObject_RichCompare(__pyx_t_8, __pyx_t_2, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 733, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_9 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_9 < 0)) __PYX_ERR(0, 733, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_5 = __pyx_t_9;
__pyx_L14_bool_binop_done:;
/* "kivyblocks/blocks.pyx":730
* for id in ids:
* w = find_widget_by_id(id,from_widget=from_widget)
* if w is None \ # <<<<<<<<<<<<<<
* and id == ids[0] \
* and Window.fullscreen == True \
*/
if (__pyx_t_5) {
/* "kivyblocks/blocks.pyx":734
* and Window.fullscreen == True \
* and app.root != app.fs_widget:
* w = find_widget_by_id(id, app.fs_widget) # <<<<<<<<<<<<<<
*
* if w is None:
*/
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_app, __pyx_n_s_fs_widget); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 734, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = __pyx_pf_10kivyblocks_6blocks_6Blocks_13getWidgetById_find_widget_by_id(__pyx_cur_scope->__pyx_v_find_widget_by_id, __pyx_v_id, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 734, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF_SET(__pyx_v_w, __pyx_t_2);
__pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":730
* for id in ids:
* w = find_widget_by_id(id,from_widget=from_widget)
* if w is None \ # <<<<<<<<<<<<<<
* and id == ids[0] \
* and Window.fullscreen == True \
*/
}
/* "kivyblocks/blocks.pyx":736
* w = find_widget_by_id(id, app.fs_widget)
*
* if w is None: # <<<<<<<<<<<<<<
* print(id, 'not found ....')
* return None
*/
__pyx_t_5 = (__pyx_v_w == Py_None);
__pyx_t_9 = (__pyx_t_5 != 0);
if (__pyx_t_9) {
/* "kivyblocks/blocks.pyx":737
*
* if w is None:
* print(id, 'not found ....') # <<<<<<<<<<<<<<
* return None
* from_widget = w
*/
__pyx_t_2 = PyTuple_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 737, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_v_id);
__Pyx_GIVEREF(__pyx_v_id);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_id);
__Pyx_INCREF(__pyx_kp_s_not_found);
__Pyx_GIVEREF(__pyx_kp_s_not_found);
PyTuple_SET_ITEM(__pyx_t_2, 1, __pyx_kp_s_not_found);
if (__Pyx_PrintOne(0, __pyx_t_2) < 0) __PYX_ERR(0, 737, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":738
* if w is None:
* print(id, 'not found ....')
* return None # <<<<<<<<<<<<<<
* from_widget = w
* return w
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":736
* w = find_widget_by_id(id, app.fs_widget)
*
* if w is None: # <<<<<<<<<<<<<<
* print(id, 'not found ....')
* return None
*/
}
/* "kivyblocks/blocks.pyx":739
* print(id, 'not found ....')
* return None
* from_widget = w # <<<<<<<<<<<<<<
* return w
*
*/
__Pyx_INCREF(__pyx_v_w);
__Pyx_DECREF_SET(__pyx_v_from_widget, __pyx_v_w);
/* "kivyblocks/blocks.pyx":728
* if from_widget is None:
* from_widget = app.root
* for id in ids: # <<<<<<<<<<<<<<
* w = find_widget_by_id(id,from_widget=from_widget)
* if w is None \
*/
}
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
/* "kivyblocks/blocks.pyx":740
* return None
* from_widget = w
* return w # <<<<<<<<<<<<<<
*
* def on_built(self,v=None):
*/
__Pyx_XDECREF(__pyx_r);
if (unlikely(!__pyx_v_w)) { __Pyx_RaiseUnboundLocalError("w"); __PYX_ERR(0, 740, __pyx_L1_error) }
__Pyx_INCREF(__pyx_v_w);
__pyx_r = __pyx_v_w;
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":678
*
* @classmethod
* def getWidgetById(self, id:str, from_widget:Widget=None) -> Widget: # <<<<<<<<<<<<<<
* def find_widget_by_id(id, from_widget):
* if id=='self':
*/
/* function exit code */
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_8);
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.getWidgetById", __pyx_clineno, __pyx_lineno, __pyx_filename);
__pyx_r = NULL;
__pyx_L0:;
__Pyx_XDECREF(__pyx_v_ids);
__Pyx_XDECREF(__pyx_v_app);
__Pyx_XDECREF(__pyx_v_fid);
__Pyx_XDECREF(__pyx_v_w);
__Pyx_XDECREF(__pyx_v_id);
__Pyx_XDECREF(__pyx_v_from_widget);
__Pyx_DECREF(((PyObject *)__pyx_cur_scope));
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":742
* return w
*
* def on_built(self,v=None): # <<<<<<<<<<<<<<
* return
*
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_59on_built(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_59on_built = {"on_built", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_59on_built, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_59on_built(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
CYTHON_UNUSED PyObject *__pyx_v_self = 0;
CYTHON_UNUSED PyObject *__pyx_v_v = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("on_built (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_v,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)((PyObject *)Py_None));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_v);
if (value) { values[1] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "on_built") < 0)) __PYX_ERR(0, 742, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_v = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("on_built", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 742, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.on_built", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_58on_built(__pyx_self, __pyx_v_self, __pyx_v_v);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_58on_built(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_v) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("on_built", 0);
/* "kivyblocks/blocks.pyx":743
*
* def on_built(self,v=None):
* return # <<<<<<<<<<<<<<
*
* def on_failed(self,e=None):
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":742
* return w
*
* def on_built(self,v=None): # <<<<<<<<<<<<<<
* return
*
*/
/* function exit code */
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
/* "kivyblocks/blocks.pyx":745
* return
*
* def on_failed(self,e=None): # <<<<<<<<<<<<<<
* return
*
*/
/* Python wrapper */
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_61on_failed(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
static PyMethodDef __pyx_mdef_10kivyblocks_6blocks_6Blocks_61on_failed = {"on_failed", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_10kivyblocks_6blocks_6Blocks_61on_failed, METH_VARARGS|METH_KEYWORDS, 0};
static PyObject *__pyx_pw_10kivyblocks_6blocks_6Blocks_61on_failed(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
CYTHON_UNUSED PyObject *__pyx_v_self = 0;
CYTHON_UNUSED PyObject *__pyx_v_e = 0;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
PyObject *__pyx_r = 0;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("on_failed (wrapper)", 0);
{
static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_self,&__pyx_n_s_e,0};
PyObject* values[2] = {0,0};
values[1] = ((PyObject *)((PyObject *)Py_None));
if (unlikely(__pyx_kwds)) {
Py_ssize_t kw_args;
const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args);
switch (pos_args) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
CYTHON_FALLTHROUGH;
case 0: break;
default: goto __pyx_L5_argtuple_error;
}
kw_args = PyDict_Size(__pyx_kwds);
switch (pos_args) {
case 0:
if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_self)) != 0)) kw_args--;
else goto __pyx_L5_argtuple_error;
CYTHON_FALLTHROUGH;
case 1:
if (kw_args > 0) {
PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_e);
if (value) { values[1] = value; kw_args--; }
}
}
if (unlikely(kw_args > 0)) {
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "on_failed") < 0)) __PYX_ERR(0, 745, __pyx_L3_error)
}
} else {
switch (PyTuple_GET_SIZE(__pyx_args)) {
case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1);
CYTHON_FALLTHROUGH;
case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0);
break;
default: goto __pyx_L5_argtuple_error;
}
}
__pyx_v_self = values[0];
__pyx_v_e = values[1];
}
goto __pyx_L4_argument_unpacking_done;
__pyx_L5_argtuple_error:;
__Pyx_RaiseArgtupleInvalid("on_failed", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 745, __pyx_L3_error)
__pyx_L3_error:;
__Pyx_AddTraceback("kivyblocks.blocks.Blocks.on_failed", __pyx_clineno, __pyx_lineno, __pyx_filename);
__Pyx_RefNannyFinishContext();
return NULL;
__pyx_L4_argument_unpacking_done:;
__pyx_r = __pyx_pf_10kivyblocks_6blocks_6Blocks_60on_failed(__pyx_self, __pyx_v_self, __pyx_v_e);
/* function exit code */
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static PyObject *__pyx_pf_10kivyblocks_6blocks_6Blocks_60on_failed(CYTHON_UNUSED PyObject *__pyx_self, CYTHON_UNUSED PyObject *__pyx_v_self, CYTHON_UNUSED PyObject *__pyx_v_e) {
PyObject *__pyx_r = NULL;
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("on_failed", 0);
/* "kivyblocks/blocks.pyx":746
*
* def on_failed(self,e=None):
* return # <<<<<<<<<<<<<<
*
* Factory.register('Blocks',Blocks)
*/
__Pyx_XDECREF(__pyx_r);
__pyx_r = Py_None; __Pyx_INCREF(Py_None);
goto __pyx_L0;
/* "kivyblocks/blocks.pyx":745
* return
*
* def on_failed(self,e=None): # <<<<<<<<<<<<<<
* return
*
*/
/* function exit code */
__pyx_L0:;
__Pyx_XGIVEREF(__pyx_r);
__Pyx_RefNannyFinishContext();
return __pyx_r;
}
static struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction *__pyx_freelist_10kivyblocks_6blocks___pyx_scope_struct__blocksAction[8];
static int __pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct__blocksAction = 0;
static PyObject *__pyx_tp_new_10kivyblocks_6blocks___pyx_scope_struct__blocksAction(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
PyObject *o;
if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct__blocksAction > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction)))) {
o = (PyObject*)__pyx_freelist_10kivyblocks_6blocks___pyx_scope_struct__blocksAction[--__pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct__blocksAction];
memset(o, 0, sizeof(struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction));
(void) PyObject_INIT(o, t);
PyObject_GC_Track(o);
} else {
o = (*t->tp_alloc)(t, 0);
if (unlikely(!o)) return 0;
}
return o;
}
static void __pyx_tp_dealloc_10kivyblocks_6blocks___pyx_scope_struct__blocksAction(PyObject *o) {
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction *p = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction *)o;
PyObject_GC_UnTrack(o);
Py_CLEAR(p->__pyx_v_desc);
if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct__blocksAction < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction)))) {
__pyx_freelist_10kivyblocks_6blocks___pyx_scope_struct__blocksAction[__pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct__blocksAction++] = ((struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction *)o);
} else {
(*Py_TYPE(o)->tp_free)(o);
}
}
static int __pyx_tp_traverse_10kivyblocks_6blocks___pyx_scope_struct__blocksAction(PyObject *o, visitproc v, void *a) {
int e;
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction *p = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction *)o;
if (p->__pyx_v_desc) {
e = (*v)(p->__pyx_v_desc, a); if (e) return e;
}
return 0;
}
static int __pyx_tp_clear_10kivyblocks_6blocks___pyx_scope_struct__blocksAction(PyObject *o) {
PyObject* tmp;
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction *p = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction *)o;
tmp = ((PyObject*)p->__pyx_v_desc);
p->__pyx_v_desc = Py_None; Py_INCREF(Py_None);
Py_XDECREF(tmp);
return 0;
}
static PyTypeObject __pyx_type_10kivyblocks_6blocks___pyx_scope_struct__blocksAction = {
PyVarObject_HEAD_INIT(0, 0)
"kivyblocks.blocks.__pyx_scope_struct__blocksAction", /*tp_name*/
sizeof(struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct__blocksAction), /*tp_basicsize*/
0, /*tp_itemsize*/
__pyx_tp_dealloc_10kivyblocks_6blocks___pyx_scope_struct__blocksAction, /*tp_dealloc*/
#if PY_VERSION_HEX < 0x030800b4
0, /*tp_print*/
#endif
#if PY_VERSION_HEX >= 0x030800b4
0, /*tp_vectorcall_offset*/
#endif
0, /*tp_getattr*/
0, /*tp_setattr*/
#if PY_MAJOR_VERSION < 3
0, /*tp_compare*/
#endif
#if PY_MAJOR_VERSION >= 3
0, /*tp_as_async*/
#endif
0, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash*/
0, /*tp_call*/
0, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
0, /*tp_doc*/
__pyx_tp_traverse_10kivyblocks_6blocks___pyx_scope_struct__blocksAction, /*tp_traverse*/
__pyx_tp_clear_10kivyblocks_6blocks___pyx_scope_struct__blocksAction, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
0, /*tp_iter*/
0, /*tp_iternext*/
0, /*tp_methods*/
0, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
0, /*tp_init*/
0, /*tp_alloc*/
__pyx_tp_new_10kivyblocks_6blocks___pyx_scope_struct__blocksAction, /*tp_new*/
0, /*tp_free*/
0, /*tp_is_gc*/
0, /*tp_bases*/
0, /*tp_mro*/
0, /*tp_cache*/
0, /*tp_subclasses*/
0, /*tp_weaklist*/
0, /*tp_del*/
0, /*tp_version_tag*/
#if PY_VERSION_HEX >= 0x030400a1
0, /*tp_finalize*/
#endif
#if PY_VERSION_HEX >= 0x030800b1
0, /*tp_vectorcall*/
#endif
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0, /*tp_print*/
#endif
};
static struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction *__pyx_freelist_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction[8];
static int __pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction = 0;
static PyObject *__pyx_tp_new_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
PyObject *o;
if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction)))) {
o = (PyObject*)__pyx_freelist_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction[--__pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction];
memset(o, 0, sizeof(struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction));
(void) PyObject_INIT(o, t);
PyObject_GC_Track(o);
} else {
o = (*t->tp_alloc)(t, 0);
if (unlikely(!o)) return 0;
}
return o;
}
static void __pyx_tp_dealloc_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction(PyObject *o) {
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction *p = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction *)o;
PyObject_GC_UnTrack(o);
Py_CLEAR(p->__pyx_v_desc);
if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction)))) {
__pyx_freelist_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction[__pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction++] = ((struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction *)o);
} else {
(*Py_TYPE(o)->tp_free)(o);
}
}
static int __pyx_tp_traverse_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction(PyObject *o, visitproc v, void *a) {
int e;
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction *p = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction *)o;
if (p->__pyx_v_desc) {
e = (*v)(p->__pyx_v_desc, a); if (e) return e;
}
return 0;
}
static int __pyx_tp_clear_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction(PyObject *o) {
PyObject* tmp;
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction *p = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction *)o;
tmp = ((PyObject*)p->__pyx_v_desc);
p->__pyx_v_desc = Py_None; Py_INCREF(Py_None);
Py_XDECREF(tmp);
return 0;
}
static PyTypeObject __pyx_type_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction = {
PyVarObject_HEAD_INIT(0, 0)
"kivyblocks.blocks.__pyx_scope_struct_1_urlwidgetAction", /*tp_name*/
sizeof(struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction), /*tp_basicsize*/
0, /*tp_itemsize*/
__pyx_tp_dealloc_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction, /*tp_dealloc*/
#if PY_VERSION_HEX < 0x030800b4
0, /*tp_print*/
#endif
#if PY_VERSION_HEX >= 0x030800b4
0, /*tp_vectorcall_offset*/
#endif
0, /*tp_getattr*/
0, /*tp_setattr*/
#if PY_MAJOR_VERSION < 3
0, /*tp_compare*/
#endif
#if PY_MAJOR_VERSION >= 3
0, /*tp_as_async*/
#endif
0, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash*/
0, /*tp_call*/
0, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
0, /*tp_doc*/
__pyx_tp_traverse_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction, /*tp_traverse*/
__pyx_tp_clear_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
0, /*tp_iter*/
0, /*tp_iternext*/
0, /*tp_methods*/
0, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
0, /*tp_init*/
0, /*tp_alloc*/
__pyx_tp_new_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction, /*tp_new*/
0, /*tp_free*/
0, /*tp_is_gc*/
0, /*tp_bases*/
0, /*tp_mro*/
0, /*tp_cache*/
0, /*tp_subclasses*/
0, /*tp_weaklist*/
0, /*tp_del*/
0, /*tp_version_tag*/
#if PY_VERSION_HEX >= 0x030400a1
0, /*tp_finalize*/
#endif
#if PY_VERSION_HEX >= 0x030800b1
0, /*tp_vectorcall*/
#endif
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0, /*tp_print*/
#endif
};
static struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild *__pyx_freelist_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild[8];
static int __pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild = 0;
static PyObject *__pyx_tp_new_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
PyObject *o;
if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild)))) {
o = (PyObject*)__pyx_freelist_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild[--__pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild];
memset(o, 0, sizeof(struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild));
(void) PyObject_INIT(o, t);
PyObject_GC_Track(o);
} else {
o = (*t->tp_alloc)(t, 0);
if (unlikely(!o)) return 0;
}
return o;
}
static void __pyx_tp_dealloc_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild(PyObject *o) {
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild *p = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild *)o;
PyObject_GC_UnTrack(o);
Py_CLEAR(p->__pyx_v_self);
if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild)))) {
__pyx_freelist_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild[__pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild++] = ((struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild *)o);
} else {
(*Py_TYPE(o)->tp_free)(o);
}
}
static int __pyx_tp_traverse_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild(PyObject *o, visitproc v, void *a) {
int e;
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild *p = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild *)o;
if (p->__pyx_v_self) {
e = (*v)(p->__pyx_v_self, a); if (e) return e;
}
return 0;
}
static int __pyx_tp_clear_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild(PyObject *o) {
PyObject* tmp;
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild *p = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild *)o;
tmp = ((PyObject*)p->__pyx_v_self);
p->__pyx_v_self = Py_None; Py_INCREF(Py_None);
Py_XDECREF(tmp);
return 0;
}
static PyTypeObject __pyx_type_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild = {
PyVarObject_HEAD_INIT(0, 0)
"kivyblocks.blocks.__pyx_scope_struct_2_widgetBuild", /*tp_name*/
sizeof(struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild), /*tp_basicsize*/
0, /*tp_itemsize*/
__pyx_tp_dealloc_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild, /*tp_dealloc*/
#if PY_VERSION_HEX < 0x030800b4
0, /*tp_print*/
#endif
#if PY_VERSION_HEX >= 0x030800b4
0, /*tp_vectorcall_offset*/
#endif
0, /*tp_getattr*/
0, /*tp_setattr*/
#if PY_MAJOR_VERSION < 3
0, /*tp_compare*/
#endif
#if PY_MAJOR_VERSION >= 3
0, /*tp_as_async*/
#endif
0, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash*/
0, /*tp_call*/
0, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
0, /*tp_doc*/
__pyx_tp_traverse_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild, /*tp_traverse*/
__pyx_tp_clear_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
0, /*tp_iter*/
0, /*tp_iternext*/
0, /*tp_methods*/
0, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
0, /*tp_init*/
0, /*tp_alloc*/
__pyx_tp_new_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild, /*tp_new*/
0, /*tp_free*/
0, /*tp_is_gc*/
0, /*tp_bases*/
0, /*tp_mro*/
0, /*tp_cache*/
0, /*tp_subclasses*/
0, /*tp_weaklist*/
0, /*tp_del*/
0, /*tp_version_tag*/
#if PY_VERSION_HEX >= 0x030400a1
0, /*tp_finalize*/
#endif
#if PY_VERSION_HEX >= 0x030800b1
0, /*tp_vectorcall*/
#endif
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0, /*tp_print*/
#endif
};
static struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById *__pyx_freelist_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById[8];
static int __pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById = 0;
static PyObject *__pyx_tp_new_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById(PyTypeObject *t, CYTHON_UNUSED PyObject *a, CYTHON_UNUSED PyObject *k) {
PyObject *o;
if (CYTHON_COMPILING_IN_CPYTHON && likely((__pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById > 0) & (t->tp_basicsize == sizeof(struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById)))) {
o = (PyObject*)__pyx_freelist_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById[--__pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById];
memset(o, 0, sizeof(struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById));
(void) PyObject_INIT(o, t);
PyObject_GC_Track(o);
} else {
o = (*t->tp_alloc)(t, 0);
if (unlikely(!o)) return 0;
}
return o;
}
static void __pyx_tp_dealloc_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById(PyObject *o) {
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById *p = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById *)o;
PyObject_GC_UnTrack(o);
Py_CLEAR(p->__pyx_v_find_widget_by_id);
if (CYTHON_COMPILING_IN_CPYTHON && ((__pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById < 8) & (Py_TYPE(o)->tp_basicsize == sizeof(struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById)))) {
__pyx_freelist_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById[__pyx_freecount_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById++] = ((struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById *)o);
} else {
(*Py_TYPE(o)->tp_free)(o);
}
}
static int __pyx_tp_traverse_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById(PyObject *o, visitproc v, void *a) {
int e;
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById *p = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById *)o;
if (p->__pyx_v_find_widget_by_id) {
e = (*v)(p->__pyx_v_find_widget_by_id, a); if (e) return e;
}
return 0;
}
static int __pyx_tp_clear_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById(PyObject *o) {
PyObject* tmp;
struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById *p = (struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById *)o;
tmp = ((PyObject*)p->__pyx_v_find_widget_by_id);
p->__pyx_v_find_widget_by_id = Py_None; Py_INCREF(Py_None);
Py_XDECREF(tmp);
return 0;
}
static PyTypeObject __pyx_type_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById = {
PyVarObject_HEAD_INIT(0, 0)
"kivyblocks.blocks.__pyx_scope_struct_3_getWidgetById", /*tp_name*/
sizeof(struct __pyx_obj_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById), /*tp_basicsize*/
0, /*tp_itemsize*/
__pyx_tp_dealloc_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById, /*tp_dealloc*/
#if PY_VERSION_HEX < 0x030800b4
0, /*tp_print*/
#endif
#if PY_VERSION_HEX >= 0x030800b4
0, /*tp_vectorcall_offset*/
#endif
0, /*tp_getattr*/
0, /*tp_setattr*/
#if PY_MAJOR_VERSION < 3
0, /*tp_compare*/
#endif
#if PY_MAJOR_VERSION >= 3
0, /*tp_as_async*/
#endif
0, /*tp_repr*/
0, /*tp_as_number*/
0, /*tp_as_sequence*/
0, /*tp_as_mapping*/
0, /*tp_hash*/
0, /*tp_call*/
0, /*tp_str*/
0, /*tp_getattro*/
0, /*tp_setattro*/
0, /*tp_as_buffer*/
Py_TPFLAGS_DEFAULT|Py_TPFLAGS_HAVE_VERSION_TAG|Py_TPFLAGS_CHECKTYPES|Py_TPFLAGS_HAVE_NEWBUFFER|Py_TPFLAGS_HAVE_GC, /*tp_flags*/
0, /*tp_doc*/
__pyx_tp_traverse_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById, /*tp_traverse*/
__pyx_tp_clear_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById, /*tp_clear*/
0, /*tp_richcompare*/
0, /*tp_weaklistoffset*/
0, /*tp_iter*/
0, /*tp_iternext*/
0, /*tp_methods*/
0, /*tp_members*/
0, /*tp_getset*/
0, /*tp_base*/
0, /*tp_dict*/
0, /*tp_descr_get*/
0, /*tp_descr_set*/
0, /*tp_dictoffset*/
0, /*tp_init*/
0, /*tp_alloc*/
__pyx_tp_new_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById, /*tp_new*/
0, /*tp_free*/
0, /*tp_is_gc*/
0, /*tp_bases*/
0, /*tp_mro*/
0, /*tp_cache*/
0, /*tp_subclasses*/
0, /*tp_weaklist*/
0, /*tp_del*/
0, /*tp_version_tag*/
#if PY_VERSION_HEX >= 0x030400a1
0, /*tp_finalize*/
#endif
#if PY_VERSION_HEX >= 0x030800b1
0, /*tp_vectorcall*/
#endif
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0, /*tp_print*/
#endif
};
static PyMethodDef __pyx_methods[] = {
{0, 0, 0, 0}
};
static int __pyx_import_star_set(PyObject *o, PyObject* py_name, char *name) {
static const char* internal_type_names[] = {
"__pyx_scope_struct_1_urlwidgetAction",
"__pyx_scope_struct_2_widgetBuild",
"__pyx_scope_struct_3_getWidgetById",
"__pyx_scope_struct__blocksAction",
0
};
const char** type_name = internal_type_names;
while (*type_name) {
if (__Pyx_StrEq(name, *type_name)) {
PyErr_Format(PyExc_TypeError, "Cannot overwrite C type %s", name);
goto bad;
}
type_name++;
}
if (0);
else {
if (PyObject_SetAttr(__pyx_m, py_name, o) < 0) goto bad;
}
return 0;
bad:
return -1;
}
static int
__Pyx_import_all_from(PyObject *locals, PyObject *v)
{
PyObject *all = PyObject_GetAttrString(v, "__all__");
PyObject *dict, *name, *value;
int skip_leading_underscores = 0;
int pos, err;
if (all == NULL) {
if (!PyErr_ExceptionMatches(PyExc_AttributeError))
return -1;
PyErr_Clear();
dict = PyObject_GetAttrString(v, "__dict__");
if (dict == NULL) {
if (!PyErr_ExceptionMatches(PyExc_AttributeError))
return -1;
PyErr_SetString(PyExc_ImportError,
"from-import-* object has no __dict__ and no __all__");
return -1;
}
#if PY_MAJOR_VERSION < 3
all = PyObject_CallMethod(dict, (char *)"keys", NULL);
#else
all = PyMapping_Keys(dict);
#endif
Py_DECREF(dict);
if (all == NULL)
return -1;
skip_leading_underscores = 1;
}
for (pos = 0, err = 0; ; pos++) {
name = PySequence_GetItem(all, pos);
if (name == NULL) {
if (!PyErr_ExceptionMatches(PyExc_IndexError))
err = -1;
else
PyErr_Clear();
break;
}
if (skip_leading_underscores &&
#if PY_MAJOR_VERSION < 3
likely(PyString_Check(name)) &&
PyString_AS_STRING(name)[0] == '_')
#else
likely(PyUnicode_Check(name)) &&
likely(__Pyx_PyUnicode_GET_LENGTH(name)) &&
__Pyx_PyUnicode_READ_CHAR(name, 0) == '_')
#endif
{
Py_DECREF(name);
continue;
}
value = PyObject_GetAttr(v, name);
if (value == NULL)
err = -1;
else if (PyDict_CheckExact(locals))
err = PyDict_SetItem(locals, name, value);
else
err = PyObject_SetItem(locals, name, value);
Py_DECREF(name);
Py_XDECREF(value);
if (err != 0)
break;
}
Py_DECREF(all);
return err;
}
static int __pyx_import_star(PyObject* m) {
int i;
int ret = -1;
char* s;
PyObject *locals = 0;
PyObject *list = 0;
#if PY_MAJOR_VERSION >= 3
PyObject *utf8_name = 0;
#endif
PyObject *name;
PyObject *item;
locals = PyDict_New(); if (!locals) goto bad;
if (__Pyx_import_all_from(locals, m) < 0) goto bad;
list = PyDict_Items(locals); if (!list) goto bad;
for(i=0; i<PyList_GET_SIZE(list); i++) {
name = PyTuple_GET_ITEM(PyList_GET_ITEM(list, i), 0);
item = PyTuple_GET_ITEM(PyList_GET_ITEM(list, i), 1);
#if PY_MAJOR_VERSION >= 3
utf8_name = PyUnicode_AsUTF8String(name);
if (!utf8_name) goto bad;
s = PyBytes_AS_STRING(utf8_name);
if (__pyx_import_star_set(item, name, s) < 0) goto bad;
Py_DECREF(utf8_name); utf8_name = 0;
#else
s = PyString_AsString(name);
if (!s) goto bad;
if (__pyx_import_star_set(item, name, s) < 0) goto bad;
#endif
}
ret = 0;
bad:
Py_XDECREF(locals);
Py_XDECREF(list);
#if PY_MAJOR_VERSION >= 3
Py_XDECREF(utf8_name);
#endif
return ret;
}
#if PY_MAJOR_VERSION >= 3
#if CYTHON_PEP489_MULTI_PHASE_INIT
static PyObject* __pyx_pymod_create(PyObject *spec, PyModuleDef *def); /*proto*/
static int __pyx_pymod_exec_blocks(PyObject* module); /*proto*/
static PyModuleDef_Slot __pyx_moduledef_slots[] = {
{Py_mod_create, (void*)__pyx_pymod_create},
{Py_mod_exec, (void*)__pyx_pymod_exec_blocks},
{0, NULL}
};
#endif
static struct PyModuleDef __pyx_moduledef = {
PyModuleDef_HEAD_INIT,
"blocks",
0, /* m_doc */
#if CYTHON_PEP489_MULTI_PHASE_INIT
0, /* m_size */
#else
-1, /* m_size */
#endif
__pyx_methods /* m_methods */,
#if CYTHON_PEP489_MULTI_PHASE_INIT
__pyx_moduledef_slots, /* m_slots */
#else
NULL, /* m_reload */
#endif
NULL, /* m_traverse */
NULL, /* m_clear */
NULL /* m_free */
};
#endif
#ifndef CYTHON_SMALL_CODE
#if defined(__clang__)
#define CYTHON_SMALL_CODE
#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))
#define CYTHON_SMALL_CODE __attribute__((cold))
#else
#define CYTHON_SMALL_CODE
#endif
#endif
static __Pyx_StringTabEntry __pyx_string_tab[] = {
{&__pyx_kp_s_, __pyx_k_, sizeof(__pyx_k_), 0, 0, 1, 0},
{&__pyx_n_s_App, __pyx_k_App, sizeof(__pyx_k_App), 0, 0, 1, 1},
{&__pyx_n_s_ArgumentError, __pyx_k_ArgumentError, sizeof(__pyx_k_ArgumentError), 0, 0, 1, 1},
{&__pyx_n_s_ArgumentError___expr, __pyx_k_ArgumentError___expr, sizeof(__pyx_k_ArgumentError___expr), 0, 0, 1, 1},
{&__pyx_n_s_ArgumentError___init, __pyx_k_ArgumentError___init, sizeof(__pyx_k_ArgumentError___init), 0, 0, 1, 1},
{&__pyx_n_s_ArgumentError___str, __pyx_k_ArgumentError___str, sizeof(__pyx_k_ArgumentError___str), 0, 0, 1, 1},
{&__pyx_n_s_BGColorBehavior, __pyx_k_BGColorBehavior, sizeof(__pyx_k_BGColorBehavior), 0, 0, 1, 1},
{&__pyx_kp_s_Block2_desc_must_be_a_dict_objec, __pyx_k_Block2_desc_must_be_a_dict_objec, sizeof(__pyx_k_Block2_desc_must_be_a_dict_objec), 0, 0, 1, 0},
{&__pyx_kp_s_Block3_desc_must_be_a_dict_objec, __pyx_k_Block3_desc_must_be_a_dict_objec, sizeof(__pyx_k_Block3_desc_must_be_a_dict_objec), 0, 0, 1, 0},
{&__pyx_kp_s_Block_binds_desc_miss_event_desc, __pyx_k_Block_binds_desc_miss_event_desc, sizeof(__pyx_k_Block_binds_desc_miss_event_desc), 0, 0, 1, 0},
{&__pyx_kp_s_Block_blocksAction_desc_s_widget, __pyx_k_Block_blocksAction_desc_s_widget, sizeof(__pyx_k_Block_blocksAction_desc_s_widget), 0, 0, 1, 0},
{&__pyx_kp_s_Block_desc_s_must_be_a_dict_obje, __pyx_k_Block_desc_s_must_be_a_dict_obje, sizeof(__pyx_k_Block_desc_s_must_be_a_dict_obje), 0, 0, 1, 0},
{&__pyx_kp_s_Block_desc_s_rfname_s_not_found, __pyx_k_Block_desc_s_rfname_s_not_found, sizeof(__pyx_k_Block_desc_s_rfname_s_not_found), 0, 0, 1, 0},
{&__pyx_kp_s_Block_eventAction_desc_s_miss_di, __pyx_k_Block_eventAction_desc_s_miss_di, sizeof(__pyx_k_Block_eventAction_desc_s_miss_di), 0, 0, 1, 0},
{&__pyx_kp_u_Block_eventAction_dispatch, __pyx_k_Block_eventAction_dispatch, sizeof(__pyx_k_Block_eventAction_dispatch), 0, 1, 0, 0},
{&__pyx_kp_s_Block_getActionData_desc_s_args, __pyx_k_Block_getActionData_desc_s_args, sizeof(__pyx_k_Block_getActionData_desc_s_args), 0, 0, 1, 0},
{&__pyx_kp_s_Block_get_a_null_function_s, __pyx_k_Block_get_a_null_function_s, sizeof(__pyx_k_Block_get_a_null_function_s), 0, 0, 1, 0},
{&__pyx_kp_s_Block_methodAction_desc_s_method, __pyx_k_Block_methodAction_desc_s_method, sizeof(__pyx_k_Block_methodAction_desc_s_method), 0, 0, 1, 0},
{&__pyx_kp_s_Block_methodAction_desc_s_target, __pyx_k_Block_methodAction_desc_s_target, sizeof(__pyx_k_Block_methodAction_desc_s_target), 0, 0, 1, 0},
{&__pyx_kp_s_Block_s_s, __pyx_k_Block_s_s, sizeof(__pyx_k_Block_s_s), 0, 0, 1, 0},
{&__pyx_kp_s_Block_scriptAction_desc_s_target, __pyx_k_Block_scriptAction_desc_s_target, sizeof(__pyx_k_Block_scriptAction_desc_s_target), 0, 0, 1, 0},
{&__pyx_kp_s_Block_urlwidgetAction_desc_s_wid, __pyx_k_Block_urlwidgetAction_desc_s_wid, sizeof(__pyx_k_Block_urlwidgetAction_desc_s_wid), 0, 0, 1, 0},
{&__pyx_kp_s_Block_w_build_desc_invalid, __pyx_k_Block_w_build_desc_invalid, sizeof(__pyx_k_Block_w_build_desc_invalid), 0, 0, 1, 0},
{&__pyx_n_s_Blocks, __pyx_k_Blocks, sizeof(__pyx_k_Blocks), 0, 0, 1, 1},
{&__pyx_n_s_Blocks___init, __pyx_k_Blocks___init, sizeof(__pyx_k_Blocks___init), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_arrayValueExpr, __pyx_k_Blocks_arrayValueExpr, sizeof(__pyx_k_Blocks_arrayValueExpr), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_blocksAction, __pyx_k_Blocks_blocksAction, sizeof(__pyx_k_Blocks_blocksAction), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_blocksAction_locals_doerr, __pyx_k_Blocks_blocksAction_locals_doerr, sizeof(__pyx_k_Blocks_blocksAction_locals_doerr), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_blocksAction_locals_doit, __pyx_k_Blocks_blocksAction_locals_doit, sizeof(__pyx_k_Blocks_blocksAction_locals_doit), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_buildAction, __pyx_k_Blocks_buildAction, sizeof(__pyx_k_Blocks_buildAction), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_buildBind, __pyx_k_Blocks_buildBind, sizeof(__pyx_k_Blocks_buildBind), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_build_attributes, __pyx_k_Blocks_build_attributes, sizeof(__pyx_k_Blocks_build_attributes), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_build_rest, __pyx_k_Blocks_build_rest, sizeof(__pyx_k_Blocks_build_rest), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_build_rtdesc, __pyx_k_Blocks_build_rtdesc, sizeof(__pyx_k_Blocks_build_rtdesc), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_conform_action, __pyx_k_Blocks_conform_action, sizeof(__pyx_k_Blocks_conform_action), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_dictValueExpr, __pyx_k_Blocks_dictValueExpr, sizeof(__pyx_k_Blocks_dictValueExpr), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_eval, __pyx_k_Blocks_eval, sizeof(__pyx_k_Blocks_eval), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_eventAction, __pyx_k_Blocks_eventAction, sizeof(__pyx_k_Blocks_eventAction), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_getActionData, __pyx_k_Blocks_getActionData, sizeof(__pyx_k_Blocks_getActionData), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_getUrlData, __pyx_k_Blocks_getUrlData, sizeof(__pyx_k_Blocks_getUrlData), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_getWidgetById, __pyx_k_Blocks_getWidgetById, sizeof(__pyx_k_Blocks_getWidgetById), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_getWidgetById_locals_find, __pyx_k_Blocks_getWidgetById_locals_find, sizeof(__pyx_k_Blocks_getWidgetById_locals_find), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_get_rtdata, __pyx_k_Blocks_get_rtdata, sizeof(__pyx_k_Blocks_get_rtdata), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_get_target, __pyx_k_Blocks_get_target, sizeof(__pyx_k_Blocks_get_target), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_methodAction, __pyx_k_Blocks_methodAction, sizeof(__pyx_k_Blocks_methodAction), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_multipleAction, __pyx_k_Blocks_multipleAction, sizeof(__pyx_k_Blocks_multipleAction), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_on_built, __pyx_k_Blocks_on_built, sizeof(__pyx_k_Blocks_on_built), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_on_failed, __pyx_k_Blocks_on_failed, sizeof(__pyx_k_Blocks_on_failed), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_registedfunctionAction, __pyx_k_Blocks_registedfunctionAction, sizeof(__pyx_k_Blocks_registedfunctionAction), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_register_widget, __pyx_k_Blocks_register_widget, sizeof(__pyx_k_Blocks_register_widget), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_scriptAction, __pyx_k_Blocks_scriptAction, sizeof(__pyx_k_Blocks_scriptAction), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_set, __pyx_k_Blocks_set, sizeof(__pyx_k_Blocks_set), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_strValueExpr, __pyx_k_Blocks_strValueExpr, sizeof(__pyx_k_Blocks_strValueExpr), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_uniaction, __pyx_k_Blocks_uniaction, sizeof(__pyx_k_Blocks_uniaction), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_urlwidgetAction, __pyx_k_Blocks_urlwidgetAction, sizeof(__pyx_k_Blocks_urlwidgetAction), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_urlwidgetAction_locals_do, __pyx_k_Blocks_urlwidgetAction_locals_do, sizeof(__pyx_k_Blocks_urlwidgetAction_locals_do), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_urlwidgetAction_locals_do_2, __pyx_k_Blocks_urlwidgetAction_locals_do_2, sizeof(__pyx_k_Blocks_urlwidgetAction_locals_do_2), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_valueExpr, __pyx_k_Blocks_valueExpr, sizeof(__pyx_k_Blocks_valueExpr), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_w_build, __pyx_k_Blocks_w_build, sizeof(__pyx_k_Blocks_w_build), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_widgetBuild, __pyx_k_Blocks_widgetBuild, sizeof(__pyx_k_Blocks_widgetBuild), 0, 0, 1, 1},
{&__pyx_n_s_Blocks_widgetBuild_locals_doit, __pyx_k_Blocks_widgetBuild_locals_doit, sizeof(__pyx_k_Blocks_widgetBuild_locals_doit), 0, 0, 1, 1},
{&__pyx_n_s_BooleanProperty, __pyx_k_BooleanProperty, sizeof(__pyx_k_BooleanProperty), 0, 0, 1, 1},
{&__pyx_n_s_BoxViewer, __pyx_k_BoxViewer, sizeof(__pyx_k_BoxViewer), 0, 0, 1, 1},
{&__pyx_n_s_ClassMethodNotFound, __pyx_k_ClassMethodNotFound, sizeof(__pyx_k_ClassMethodNotFound), 0, 0, 1, 1},
{&__pyx_n_s_ClassMethodNotFound___expr, __pyx_k_ClassMethodNotFound___expr, sizeof(__pyx_k_ClassMethodNotFound___expr), 0, 0, 1, 1},
{&__pyx_n_s_ClassMethodNotFound___init, __pyx_k_ClassMethodNotFound___init, sizeof(__pyx_k_ClassMethodNotFound___init), 0, 0, 1, 1},
{&__pyx_n_s_ClassMethodNotFound___str, __pyx_k_ClassMethodNotFound___str, sizeof(__pyx_k_ClassMethodNotFound___str), 0, 0, 1, 1},
{&__pyx_n_s_Config, __pyx_k_Config, sizeof(__pyx_k_Config), 0, 0, 1, 1},
{&__pyx_n_s_Conform, __pyx_k_Conform, sizeof(__pyx_k_Conform), 0, 0, 1, 1},
{&__pyx_n_s_DataGrid, __pyx_k_DataGrid, sizeof(__pyx_k_DataGrid), 0, 0, 1, 1},
{&__pyx_n_s_DictObject, __pyx_k_DictObject, sizeof(__pyx_k_DictObject), 0, 0, 1, 1},
{&__pyx_kp_s_Error, __pyx_k_Error, sizeof(__pyx_k_Error), 0, 0, 1, 0},
{&__pyx_n_s_EventDispatcher, __pyx_k_EventDispatcher, sizeof(__pyx_k_EventDispatcher), 0, 0, 1, 1},
{&__pyx_kp_s_Exception, __pyx_k_Exception, sizeof(__pyx_k_Exception), 0, 0, 1, 0},
{&__pyx_n_s_Factory, __pyx_k_Factory, sizeof(__pyx_k_Factory), 0, 0, 1, 1},
{&__pyx_n_s_Form, __pyx_k_Form, sizeof(__pyx_k_Form), 0, 0, 1, 1},
{&__pyx_n_s_GET, __pyx_k_GET, sizeof(__pyx_k_GET), 0, 0, 1, 1},
{&__pyx_n_s_GlobalEnv, __pyx_k_GlobalEnv, sizeof(__pyx_k_GlobalEnv), 0, 0, 1, 1},
{&__pyx_n_s_HttpClient, __pyx_k_HttpClient, sizeof(__pyx_k_HttpClient), 0, 0, 1, 1},
{&__pyx_n_s_InputBox, __pyx_k_InputBox, sizeof(__pyx_k_InputBox), 0, 0, 1, 1},
{&__pyx_n_s_Layout, __pyx_k_Layout, sizeof(__pyx_k_Layout), 0, 0, 1, 1},
{&__pyx_n_s_Logger, __pyx_k_Logger, sizeof(__pyx_k_Logger), 0, 0, 1, 1},
{&__pyx_kp_s_Method_s_not_found_in_class_s, __pyx_k_Method_s_not_found_in_class_s, sizeof(__pyx_k_Method_s_not_found_in_class_s), 0, 0, 1, 0},
{&__pyx_n_s_ModalView, __pyx_k_ModalView, sizeof(__pyx_k_ModalView), 0, 0, 1, 1},
{&__pyx_n_s_NotExistsObject, __pyx_k_NotExistsObject, sizeof(__pyx_k_NotExistsObject), 0, 0, 1, 1},
{&__pyx_n_s_NotExistsObject___expr, __pyx_k_NotExistsObject___expr, sizeof(__pyx_k_NotExistsObject___expr), 0, 0, 1, 1},
{&__pyx_n_s_NotExistsObject___init, __pyx_k_NotExistsObject___init, sizeof(__pyx_k_NotExistsObject___init), 0, 0, 1, 1},
{&__pyx_n_s_NotExistsObject___str, __pyx_k_NotExistsObject___str, sizeof(__pyx_k_NotExistsObject___str), 0, 0, 1, 1},
{&__pyx_n_s_NotRegistedWidget, __pyx_k_NotRegistedWidget, sizeof(__pyx_k_NotRegistedWidget), 0, 0, 1, 1},
{&__pyx_n_s_NotRegistedWidget___expr, __pyx_k_NotRegistedWidget___expr, sizeof(__pyx_k_NotRegistedWidget___expr), 0, 0, 1, 1},
{&__pyx_n_s_NotRegistedWidget___init, __pyx_k_NotRegistedWidget___init, sizeof(__pyx_k_NotRegistedWidget___init), 0, 0, 1, 1},
{&__pyx_n_s_NotRegistedWidget___str, __pyx_k_NotRegistedWidget___str, sizeof(__pyx_k_NotRegistedWidget___str), 0, 0, 1, 1},
{&__pyx_n_s_OrientationLayout, __pyx_k_OrientationLayout, sizeof(__pyx_k_OrientationLayout), 0, 0, 1, 1},
{&__pyx_n_s_ProgramPath, __pyx_k_ProgramPath, sizeof(__pyx_k_ProgramPath), 0, 0, 1, 1},
{&__pyx_n_s_RegisterFunction, __pyx_k_RegisterFunction, sizeof(__pyx_k_RegisterFunction), 0, 0, 1, 1},
{&__pyx_n_s_ServerImageViewer, __pyx_k_ServerImageViewer, sizeof(__pyx_k_ServerImageViewer), 0, 0, 1, 1},
{&__pyx_n_s_SingletonDecorator, __pyx_k_SingletonDecorator, sizeof(__pyx_k_SingletonDecorator), 0, 0, 1, 1},
{&__pyx_n_s_StrSearchForm, __pyx_k_StrSearchForm, sizeof(__pyx_k_StrSearchForm), 0, 0, 1, 1},
{&__pyx_n_s_TextTree, __pyx_k_TextTree, sizeof(__pyx_k_TextTree), 0, 0, 1, 1},
{&__pyx_n_s_Tree, __pyx_k_Tree, sizeof(__pyx_k_Tree), 0, 0, 1, 1},
{&__pyx_n_s_VPlayer, __pyx_k_VPlayer, sizeof(__pyx_k_VPlayer), 0, 0, 1, 1},
{&__pyx_n_s_Video, __pyx_k_Video, sizeof(__pyx_k_Video), 0, 0, 1, 1},
{&__pyx_n_s_Widget, __pyx_k_Widget, sizeof(__pyx_k_Widget), 0, 0, 1, 1},
{&__pyx_n_s_WidgetNotFoundById, __pyx_k_WidgetNotFoundById, sizeof(__pyx_k_WidgetNotFoundById), 0, 0, 1, 1},
{&__pyx_n_s_WidgetNotFoundById___expr, __pyx_k_WidgetNotFoundById___expr, sizeof(__pyx_k_WidgetNotFoundById___expr), 0, 0, 1, 1},
{&__pyx_n_s_WidgetNotFoundById___init, __pyx_k_WidgetNotFoundById___init, sizeof(__pyx_k_WidgetNotFoundById___init), 0, 0, 1, 1},
{&__pyx_n_s_WidgetNotFoundById___str, __pyx_k_WidgetNotFoundById___str, sizeof(__pyx_k_WidgetNotFoundById___str), 0, 0, 1, 1},
{&__pyx_kp_s_Widget_not_found_by_id, __pyx_k_Widget_not_found_by_id, sizeof(__pyx_k_Widget_not_found_by_id), 0, 0, 1, 0},
{&__pyx_n_s_Window, __pyx_k_Window, sizeof(__pyx_k_Window), 0, 0, 1, 1},
{&__pyx_n_s_WindowBase, __pyx_k_WindowBase, sizeof(__pyx_k_WindowBase), 0, 0, 1, 1},
{&__pyx_kp_s__24, __pyx_k__24, sizeof(__pyx_k__24), 0, 0, 1, 0},
{&__pyx_n_s__28, __pyx_k__28, sizeof(__pyx_k__28), 0, 0, 1, 1},
{&__pyx_kp_s__4, __pyx_k__4, sizeof(__pyx_k__4), 0, 0, 1, 0},
{&__pyx_kp_s__8, __pyx_k__8, sizeof(__pyx_k__8), 0, 0, 1, 0},
{&__pyx_n_s_a, __pyx_k_a, sizeof(__pyx_k_a), 0, 0, 1, 1},
{&__pyx_n_s_action_id, __pyx_k_action_id, sizeof(__pyx_k_action_id), 0, 0, 1, 1},
{&__pyx_n_s_actions, __pyx_k_actions, sizeof(__pyx_k_actions), 0, 0, 1, 1},
{&__pyx_n_s_actiontype, __pyx_k_actiontype, sizeof(__pyx_k_actiontype), 0, 0, 1, 1},
{&__pyx_kp_s_actiontype_s_invalid, __pyx_k_actiontype_s_invalid, sizeof(__pyx_k_actiontype_s_invalid), 0, 0, 1, 0},
{&__pyx_n_s_acttype, __pyx_k_acttype, sizeof(__pyx_k_acttype), 0, 0, 1, 1},
{&__pyx_n_s_add_mode, __pyx_k_add_mode, sizeof(__pyx_k_add_mode), 0, 0, 1, 1},
{&__pyx_n_s_add_widget, __pyx_k_add_widget, sizeof(__pyx_k_add_widget), 0, 0, 1, 1},
{&__pyx_n_s_addon, __pyx_k_addon, sizeof(__pyx_k_addon), 0, 0, 1, 1},
{&__pyx_n_s_alert, __pyx_k_alert, sizeof(__pyx_k_alert), 0, 0, 1, 1},
{&__pyx_kp_s_app, __pyx_k_app, sizeof(__pyx_k_app), 0, 0, 1, 0},
{&__pyx_n_s_appPublic_Singleton, __pyx_k_appPublic_Singleton, sizeof(__pyx_k_appPublic_Singleton), 0, 0, 1, 1},
{&__pyx_n_s_appPublic_datamapping, __pyx_k_appPublic_datamapping, sizeof(__pyx_k_appPublic_datamapping), 0, 0, 1, 1},
{&__pyx_n_s_appPublic_dictExt, __pyx_k_appPublic_dictExt, sizeof(__pyx_k_appPublic_dictExt), 0, 0, 1, 1},
{&__pyx_n_s_appPublic_dictObject, __pyx_k_appPublic_dictObject, sizeof(__pyx_k_appPublic_dictObject), 0, 0, 1, 1},
{&__pyx_n_s_appPublic_folderUtils, __pyx_k_appPublic_folderUtils, sizeof(__pyx_k_appPublic_folderUtils), 0, 0, 1, 1},
{&__pyx_n_s_appPublic_registerfunction, __pyx_k_appPublic_registerfunction, sizeof(__pyx_k_appPublic_registerfunction), 0, 0, 1, 1},
{&__pyx_n_s_app_2, __pyx_k_app_2, sizeof(__pyx_k_app_2), 0, 0, 1, 1},
{&__pyx_n_s_args, __pyx_k_args, sizeof(__pyx_k_args), 0, 0, 1, 1},
{&__pyx_n_s_argument, __pyx_k_argument, sizeof(__pyx_k_argument), 0, 0, 1, 1},
{&__pyx_kp_s_argument_s_missed_s, __pyx_k_argument_s_missed_s, sizeof(__pyx_k_argument_s_missed_s), 0, 0, 1, 0},
{&__pyx_n_s_arr, __pyx_k_arr, sizeof(__pyx_k_arr), 0, 0, 1, 1},
{&__pyx_n_s_arrayValueExpr, __pyx_k_arrayValueExpr, sizeof(__pyx_k_arrayValueExpr), 0, 0, 1, 1},
{&__pyx_n_s_aw, __pyx_k_aw, sizeof(__pyx_k_aw), 0, 0, 1, 1},
{&__pyx_n_s_b, __pyx_k_b, sizeof(__pyx_k_b), 0, 0, 1, 1},
{&__pyx_n_s_baseWidget, __pyx_k_baseWidget, sizeof(__pyx_k_baseWidget), 0, 0, 1, 1},
{&__pyx_n_s_bgcolorbehavior, __pyx_k_bgcolorbehavior, sizeof(__pyx_k_bgcolorbehavior), 0, 0, 1, 1},
{&__pyx_n_s_bind, __pyx_k_bind, sizeof(__pyx_k_bind), 0, 0, 1, 1},
{&__pyx_n_s_binds, __pyx_k_binds, sizeof(__pyx_k_binds), 0, 0, 1, 1},
{&__pyx_n_s_blocks, __pyx_k_blocks, sizeof(__pyx_k_blocks), 0, 0, 1, 1},
{&__pyx_n_s_blocksAction, __pyx_k_blocksAction, sizeof(__pyx_k_blocksAction), 0, 0, 1, 1},
{&__pyx_n_s_boxViewer, __pyx_k_boxViewer, sizeof(__pyx_k_boxViewer), 0, 0, 1, 1},
{&__pyx_n_s_buildAction, __pyx_k_buildAction, sizeof(__pyx_k_buildAction), 0, 0, 1, 1},
{&__pyx_n_s_buildBind, __pyx_k_buildBind, sizeof(__pyx_k_buildBind), 0, 0, 1, 1},
{&__pyx_n_s_build_attributes, __pyx_k_build_attributes, sizeof(__pyx_k_build_attributes), 0, 0, 1, 1},
{&__pyx_n_s_build_desc, __pyx_k_build_desc, sizeof(__pyx_k_build_desc), 0, 0, 1, 1},
{&__pyx_n_s_build_rest, __pyx_k_build_rest, sizeof(__pyx_k_build_rest), 0, 0, 1, 1},
{&__pyx_n_s_build_rtdesc, __pyx_k_build_rtdesc, sizeof(__pyx_k_build_rtdesc), 0, 0, 1, 1},
{&__pyx_n_s_c, __pyx_k_c, sizeof(__pyx_k_c), 0, 0, 1, 1},
{&__pyx_n_s_callback, __pyx_k_callback, sizeof(__pyx_k_callback), 0, 0, 1, 1},
{&__pyx_n_s_children, __pyx_k_children, sizeof(__pyx_k_children), 0, 0, 1, 1},
{&__pyx_n_s_classname, __pyx_k_classname, sizeof(__pyx_k_classname), 0, 0, 1, 1},
{&__pyx_n_s_clear_widgets, __pyx_k_clear_widgets, sizeof(__pyx_k_clear_widgets), 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_codecs, __pyx_k_codecs, sizeof(__pyx_k_codecs), 0, 0, 1, 1},
{&__pyx_n_s_config, __pyx_k_config, sizeof(__pyx_k_config), 0, 0, 1, 1},
{&__pyx_n_s_conform, __pyx_k_conform, sizeof(__pyx_k_conform), 0, 0, 1, 1},
{&__pyx_n_s_conform_action, __pyx_k_conform_action, sizeof(__pyx_k_conform_action), 0, 0, 1, 1},
{&__pyx_n_s_conform_desc, __pyx_k_conform_desc, sizeof(__pyx_k_conform_desc), 0, 0, 1, 1},
{&__pyx_kp_s_contructon_error, __pyx_k_contructon_error, sizeof(__pyx_k_contructon_error), 0, 0, 1, 0},
{&__pyx_n_s_copy, __pyx_k_copy, sizeof(__pyx_k_copy), 0, 0, 1, 1},
{&__pyx_n_s_d, __pyx_k_d, sizeof(__pyx_k_d), 0, 0, 1, 1},
{&__pyx_n_s_data, __pyx_k_data, sizeof(__pyx_k_data), 0, 0, 1, 1},
{&__pyx_n_s_datacript, __pyx_k_datacript, sizeof(__pyx_k_datacript), 0, 0, 1, 1},
{&__pyx_n_s_datakwargs, __pyx_k_datakwargs, sizeof(__pyx_k_datakwargs), 0, 0, 1, 1},
{&__pyx_n_s_datamethod, __pyx_k_datamethod, sizeof(__pyx_k_datamethod), 0, 0, 1, 1},
{&__pyx_n_s_datascript, __pyx_k_datascript, sizeof(__pyx_k_datascript), 0, 0, 1, 1},
{&__pyx_n_s_datawidget, __pyx_k_datawidget, sizeof(__pyx_k_datawidget), 0, 0, 1, 1},
{&__pyx_n_s_desc, __pyx_k_desc, sizeof(__pyx_k_desc), 0, 0, 1, 1},
{&__pyx_n_s_desc1, __pyx_k_desc1, sizeof(__pyx_k_desc1), 0, 0, 1, 1},
{&__pyx_n_s_dg, __pyx_k_dg, sizeof(__pyx_k_dg), 0, 0, 1, 1},
{&__pyx_n_s_dic, __pyx_k_dic, sizeof(__pyx_k_dic), 0, 0, 1, 1},
{&__pyx_n_u_dict, __pyx_k_dict, sizeof(__pyx_k_dict), 0, 1, 0, 1},
{&__pyx_n_s_dictExtend, __pyx_k_dictExtend, sizeof(__pyx_k_dictExtend), 0, 0, 1, 1},
{&__pyx_n_s_dictValueExpr, __pyx_k_dictValueExpr, sizeof(__pyx_k_dictValueExpr), 0, 0, 1, 1},
{&__pyx_n_s_dispatch, __pyx_k_dispatch, sizeof(__pyx_k_dispatch), 0, 0, 1, 1},
{&__pyx_n_s_dispatch_event, __pyx_k_dispatch_event, sizeof(__pyx_k_dispatch_event), 0, 0, 1, 1},
{&__pyx_n_s_doc, __pyx_k_doc, sizeof(__pyx_k_doc), 0, 0, 1, 1},
{&__pyx_n_s_doerr, __pyx_k_doerr, sizeof(__pyx_k_doerr), 0, 0, 1, 1},
{&__pyx_n_s_doit, __pyx_k_doit, sizeof(__pyx_k_doit), 0, 0, 1, 1},
{&__pyx_n_s_dp, __pyx_k_dp, sizeof(__pyx_k_dp), 0, 0, 1, 1},
{&__pyx_n_s_e, __pyx_k_e, sizeof(__pyx_k_e), 0, 0, 1, 1},
{&__pyx_n_s_end, __pyx_k_end, sizeof(__pyx_k_end), 0, 0, 1, 1},
{&__pyx_n_s_enter, __pyx_k_enter, sizeof(__pyx_k_enter), 0, 0, 1, 1},
{&__pyx_n_s_enumerate, __pyx_k_enumerate, sizeof(__pyx_k_enumerate), 0, 0, 1, 1},
{&__pyx_n_s_env, __pyx_k_env, sizeof(__pyx_k_env), 0, 0, 1, 1},
{&__pyx_n_s_errback, __pyx_k_errback, sizeof(__pyx_k_errback), 0, 0, 1, 1},
{&__pyx_n_s_error, __pyx_k_error, sizeof(__pyx_k_error), 0, 0, 1, 1},
{&__pyx_kp_u_error_2, __pyx_k_error_2, sizeof(__pyx_k_error_2), 0, 1, 0, 0},
{&__pyx_n_s_eval, __pyx_k_eval, sizeof(__pyx_k_eval), 0, 0, 1, 1},
{&__pyx_n_s_event, __pyx_k_event, sizeof(__pyx_k_event), 0, 0, 1, 1},
{&__pyx_n_s_eventAction, __pyx_k_eventAction, sizeof(__pyx_k_eventAction), 0, 0, 1, 1},
{&__pyx_n_s_excludes, __pyx_k_excludes, sizeof(__pyx_k_excludes), 0, 0, 1, 1},
{&__pyx_n_s_exit, __pyx_k_exit, sizeof(__pyx_k_exit), 0, 0, 1, 1},
{&__pyx_n_s_expr, __pyx_k_expr, sizeof(__pyx_k_expr), 0, 0, 1, 1},
{&__pyx_n_s_extend, __pyx_k_extend, sizeof(__pyx_k_extend), 0, 0, 1, 1},
{&__pyx_n_s_f, __pyx_k_f, sizeof(__pyx_k_f), 0, 0, 1, 1},
{&__pyx_n_s_fid, __pyx_k_fid, sizeof(__pyx_k_fid), 0, 0, 1, 1},
{&__pyx_kp_s_file, __pyx_k_file, sizeof(__pyx_k_file), 0, 0, 1, 0},
{&__pyx_n_s_file_2, __pyx_k_file_2, sizeof(__pyx_k_file_2), 0, 0, 1, 1},
{&__pyx_n_s_filename, __pyx_k_filename, sizeof(__pyx_k_filename), 0, 0, 1, 1},
{&__pyx_n_s_files, __pyx_k_files, sizeof(__pyx_k_files), 0, 0, 1, 1},
{&__pyx_n_s_find_widget_by_id, __pyx_k_find_widget_by_id, sizeof(__pyx_k_find_widget_by_id), 0, 0, 1, 1},
{&__pyx_kp_s_find_widget_by_id_id, __pyx_k_find_widget_by_id_id, sizeof(__pyx_k_find_widget_by_id_id), 0, 0, 1, 0},
{&__pyx_n_s_forbidens, __pyx_k_forbidens, sizeof(__pyx_k_forbidens), 0, 0, 1, 1},
{&__pyx_n_s_form, __pyx_k_form, sizeof(__pyx_k_form), 0, 0, 1, 1},
{&__pyx_n_s_from_widget, __pyx_k_from_widget, sizeof(__pyx_k_from_widget), 0, 0, 1, 1},
{&__pyx_n_s_fs_widget, __pyx_k_fs_widget, sizeof(__pyx_k_fs_widget), 0, 0, 1, 1},
{&__pyx_n_s_fullscreen, __pyx_k_fullscreen, sizeof(__pyx_k_fullscreen), 0, 0, 1, 1},
{&__pyx_n_s_func, __pyx_k_func, sizeof(__pyx_k_func), 0, 0, 1, 1},
{&__pyx_n_s_functools, __pyx_k_functools, sizeof(__pyx_k_functools), 0, 0, 1, 1},
{&__pyx_n_s_g, __pyx_k_g, sizeof(__pyx_k_g), 0, 0, 1, 1},
{&__pyx_n_s_get, __pyx_k_get, sizeof(__pyx_k_get), 0, 0, 1, 1},
{&__pyx_n_s_getActionData, __pyx_k_getActionData, sizeof(__pyx_k_getActionData), 0, 0, 1, 1},
{&__pyx_n_s_getConfig, __pyx_k_getConfig, sizeof(__pyx_k_getConfig), 0, 0, 1, 1},
{&__pyx_n_s_getUrlData, __pyx_k_getUrlData, sizeof(__pyx_k_getUrlData), 0, 0, 1, 1},
{&__pyx_n_s_getValue, __pyx_k_getValue, sizeof(__pyx_k_getValue), 0, 0, 1, 1},
{&__pyx_n_s_getWidgetById, __pyx_k_getWidgetById, sizeof(__pyx_k_getWidgetById), 0, 0, 1, 1},
{&__pyx_n_s_get_rtdata, __pyx_k_get_rtdata, sizeof(__pyx_k_get_rtdata), 0, 0, 1, 1},
{&__pyx_kp_s_get_rtdata_desc_is_None, __pyx_k_get_rtdata_desc_is_None, sizeof(__pyx_k_get_rtdata_desc_is_None), 0, 0, 1, 0},
{&__pyx_kp_s_get_rtdata_method_is_None, __pyx_k_get_rtdata_method_is_None, sizeof(__pyx_k_get_rtdata_method_is_None), 0, 0, 1, 0},
{&__pyx_kp_s_get_rtdata_method_return_is_not, __pyx_k_get_rtdata_method_return_is_not, sizeof(__pyx_k_get_rtdata_method_return_is_not), 0, 0, 1, 0},
{&__pyx_kp_s_get_rtdata_w_is_None, __pyx_k_get_rtdata_w_is_None, sizeof(__pyx_k_get_rtdata_w_is_None), 0, 0, 1, 0},
{&__pyx_n_s_get_running_app, __pyx_k_get_running_app, sizeof(__pyx_k_get_running_app), 0, 0, 1, 1},
{&__pyx_n_s_get_subwidgets, __pyx_k_get_subwidgets, sizeof(__pyx_k_get_subwidgets), 0, 0, 1, 1},
{&__pyx_n_s_get_target, __pyx_k_get_target, sizeof(__pyx_k_get_target), 0, 0, 1, 1},
{&__pyx_n_s_hc, __pyx_k_hc, sizeof(__pyx_k_hc), 0, 0, 1, 1},
{&__pyx_kp_s_http, __pyx_k_http, sizeof(__pyx_k_http), 0, 0, 1, 0},
{&__pyx_kp_s_https, __pyx_k_https, sizeof(__pyx_k_https), 0, 0, 1, 0},
{&__pyx_n_s_i, __pyx_k_i, sizeof(__pyx_k_i), 0, 0, 1, 1},
{&__pyx_n_s_id, __pyx_k_id, sizeof(__pyx_k_id), 0, 0, 1, 1},
{&__pyx_n_s_ids, __pyx_k_ids, sizeof(__pyx_k_ids), 0, 0, 1, 1},
{&__pyx_n_s_idstr, __pyx_k_idstr, sizeof(__pyx_k_idstr), 0, 0, 1, 1},
{&__pyx_n_s_import, __pyx_k_import, sizeof(__pyx_k_import), 0, 0, 1, 1},
{&__pyx_n_s_info, __pyx_k_info, sizeof(__pyx_k_info), 0, 0, 1, 1},
{&__pyx_n_s_init, __pyx_k_init, sizeof(__pyx_k_init), 0, 0, 1, 1},
{&__pyx_n_s_items, __pyx_k_items, sizeof(__pyx_k_items), 0, 0, 1, 1},
{&__pyx_n_s_json, __pyx_k_json, sizeof(__pyx_k_json), 0, 0, 1, 1},
{&__pyx_n_s_k, __pyx_k_k, sizeof(__pyx_k_k), 0, 0, 1, 1},
{&__pyx_n_s_keyMapping, __pyx_k_keyMapping, sizeof(__pyx_k_keyMapping), 0, 0, 1, 1},
{&__pyx_n_s_keymapping, __pyx_k_keymapping, sizeof(__pyx_k_keymapping), 0, 0, 1, 1},
{&__pyx_n_s_kivy_app, __pyx_k_kivy_app, sizeof(__pyx_k_kivy_app), 0, 0, 1, 1},
{&__pyx_n_s_kivy_config, __pyx_k_kivy_config, sizeof(__pyx_k_kivy_config), 0, 0, 1, 1},
{&__pyx_n_s_kivy_core_window, __pyx_k_kivy_core_window, sizeof(__pyx_k_kivy_core_window), 0, 0, 1, 1},
{&__pyx_n_s_kivy_factory, __pyx_k_kivy_factory, sizeof(__pyx_k_kivy_factory), 0, 0, 1, 1},
{&__pyx_n_s_kivy_logger, __pyx_k_kivy_logger, sizeof(__pyx_k_kivy_logger), 0, 0, 1, 1},
{&__pyx_n_s_kivy_metrics, __pyx_k_kivy_metrics, sizeof(__pyx_k_kivy_metrics), 0, 0, 1, 1},
{&__pyx_n_s_kivy_properties, __pyx_k_kivy_properties, sizeof(__pyx_k_kivy_properties), 0, 0, 1, 1},
{&__pyx_n_s_kivy_uix_modalview, __pyx_k_kivy_uix_modalview, sizeof(__pyx_k_kivy_uix_modalview), 0, 0, 1, 1},
{&__pyx_n_s_kivy_uix_video, __pyx_k_kivy_uix_video, sizeof(__pyx_k_kivy_uix_video), 0, 0, 1, 1},
{&__pyx_n_s_kivy_uix_widget, __pyx_k_kivy_uix_widget, sizeof(__pyx_k_kivy_uix_widget), 0, 0, 1, 1},
{&__pyx_n_s_kivyblocks_blocks, __pyx_k_kivyblocks_blocks, sizeof(__pyx_k_kivyblocks_blocks), 0, 0, 1, 1},
{&__pyx_kp_s_kivyblocks_blocks_pyx, __pyx_k_kivyblocks_blocks_pyx, sizeof(__pyx_k_kivyblocks_blocks_pyx), 0, 0, 1, 0},
{&__pyx_n_s_klass, __pyx_k_klass, sizeof(__pyx_k_klass), 0, 0, 1, 1},
{&__pyx_n_s_kname, __pyx_k_kname, sizeof(__pyx_k_kname), 0, 0, 1, 1},
{&__pyx_n_s_kw, __pyx_k_kw, sizeof(__pyx_k_kw), 0, 0, 1, 1},
{&__pyx_n_s_kwargs, __pyx_k_kwargs, sizeof(__pyx_k_kwargs), 0, 0, 1, 1},
{&__pyx_n_s_l, __pyx_k_l, sizeof(__pyx_k_l), 0, 0, 1, 1},
{&__pyx_n_u_list, __pyx_k_list, sizeof(__pyx_k_list), 0, 1, 0, 1},
{&__pyx_n_s_loads, __pyx_k_loads, sizeof(__pyx_k_loads), 0, 0, 1, 1},
{&__pyx_n_s_localnamespace, __pyx_k_localnamespace, sizeof(__pyx_k_localnamespace), 0, 0, 1, 1},
{&__pyx_n_s_m, __pyx_k_m, sizeof(__pyx_k_m), 0, 0, 1, 1},
{&__pyx_n_s_main, __pyx_k_main, sizeof(__pyx_k_main), 0, 0, 1, 1},
{&__pyx_n_s_metaclass, __pyx_k_metaclass, sizeof(__pyx_k_metaclass), 0, 0, 1, 1},
{&__pyx_n_s_method, __pyx_k_method, sizeof(__pyx_k_method), 0, 0, 1, 1},
{&__pyx_n_s_methodAction, __pyx_k_methodAction, sizeof(__pyx_k_methodAction), 0, 0, 1, 1},
{&__pyx_kp_s_miss_url, __pyx_k_miss_url, sizeof(__pyx_k_miss_url), 0, 0, 1, 0},
{&__pyx_n_s_mm, __pyx_k_mm, sizeof(__pyx_k_mm), 0, 0, 1, 1},
{&__pyx_n_s_mname, __pyx_k_mname, sizeof(__pyx_k_mname), 0, 0, 1, 1},
{&__pyx_n_s_mode, __pyx_k_mode, sizeof(__pyx_k_mode), 0, 0, 1, 1},
{&__pyx_n_s_module, __pyx_k_module, sizeof(__pyx_k_module), 0, 0, 1, 1},
{&__pyx_n_s_multiple, __pyx_k_multiple, sizeof(__pyx_k_multiple), 0, 0, 1, 1},
{&__pyx_n_s_multipleAction, __pyx_k_multipleAction, sizeof(__pyx_k_multipleAction), 0, 0, 1, 1},
{&__pyx_n_s_mydesc, __pyx_k_mydesc, sizeof(__pyx_k_mydesc), 0, 0, 1, 1},
{&__pyx_n_s_name, __pyx_k_name, sizeof(__pyx_k_name), 0, 0, 1, 1},
{&__pyx_n_s_name_2, __pyx_k_name_2, sizeof(__pyx_k_name_2), 0, 0, 1, 1},
{&__pyx_n_s_new_desc, __pyx_k_new_desc, sizeof(__pyx_k_new_desc), 0, 0, 1, 1},
{&__pyx_n_s_newvideo, __pyx_k_newvideo, sizeof(__pyx_k_newvideo), 0, 0, 1, 1},
{&__pyx_kp_s_not_exists_widget_s, __pyx_k_not_exists_widget_s, sizeof(__pyx_k_not_exists_widget_s), 0, 0, 1, 0},
{&__pyx_kp_s_not_found, __pyx_k_not_found, sizeof(__pyx_k_not_found), 0, 0, 1, 0},
{&__pyx_kp_s_not_found_via_Blocks_getWidgetBy, __pyx_k_not_found_via_Blocks_getWidgetBy, sizeof(__pyx_k_not_found_via_Blocks_getWidgetBy), 0, 0, 1, 0},
{&__pyx_kp_s_not_reigsted_widget_s, __pyx_k_not_reigsted_widget_s, sizeof(__pyx_k_not_reigsted_widget_s), 0, 0, 1, 0},
{&__pyx_n_s_ns, __pyx_k_ns, sizeof(__pyx_k_ns), 0, 0, 1, 1},
{&__pyx_n_s_o, __pyx_k_o, sizeof(__pyx_k_o), 0, 0, 1, 1},
{&__pyx_n_s_obj, __pyx_k_obj, sizeof(__pyx_k_obj), 0, 0, 1, 1},
{&__pyx_n_s_on_built, __pyx_k_on_built, sizeof(__pyx_k_on_built), 0, 0, 1, 1},
{&__pyx_n_s_on_conform, __pyx_k_on_conform, sizeof(__pyx_k_on_conform), 0, 0, 1, 1},
{&__pyx_n_s_on_failed, __pyx_k_on_failed, sizeof(__pyx_k_on_failed), 0, 0, 1, 1},
{&__pyx_n_s_open, __pyx_k_open, sizeof(__pyx_k_open), 0, 0, 1, 1},
{&__pyx_n_s_options, __pyx_k_options, sizeof(__pyx_k_options), 0, 0, 1, 1},
{&__pyx_n_s_opts, __pyx_k_opts, sizeof(__pyx_k_opts), 0, 0, 1, 1},
{&__pyx_n_s_orientationlayout, __pyx_k_orientationlayout, sizeof(__pyx_k_orientationlayout), 0, 0, 1, 1},
{&__pyx_n_s_os, __pyx_k_os, sizeof(__pyx_k_os), 0, 0, 1, 1},
{&__pyx_n_s_p, __pyx_k_p, sizeof(__pyx_k_p), 0, 0, 1, 1},
{&__pyx_n_s_params, __pyx_k_params, sizeof(__pyx_k_params), 0, 0, 1, 1},
{&__pyx_n_s_parent, __pyx_k_parent, sizeof(__pyx_k_parent), 0, 0, 1, 1},
{&__pyx_n_s_partial, __pyx_k_partial, sizeof(__pyx_k_partial), 0, 0, 1, 1},
{&__pyx_n_s_pos, __pyx_k_pos, sizeof(__pyx_k_pos), 0, 0, 1, 1},
{&__pyx_n_s_prepare, __pyx_k_prepare, sizeof(__pyx_k_prepare), 0, 0, 1, 1},
{&__pyx_n_s_print, __pyx_k_print, sizeof(__pyx_k_print), 0, 0, 1, 1},
{&__pyx_n_s_print_exc, __pyx_k_print_exc, sizeof(__pyx_k_print_exc), 0, 0, 1, 1},
{&__pyx_kp_s_py, __pyx_k_py, sizeof(__pyx_k_py), 0, 0, 1, 0},
{&__pyx_n_s_qualname, __pyx_k_qualname, sizeof(__pyx_k_qualname), 0, 0, 1, 1},
{&__pyx_n_s_r, __pyx_k_r, sizeof(__pyx_k_r), 0, 0, 1, 1},
{&__pyx_n_s_range, __pyx_k_range, sizeof(__pyx_k_range), 0, 0, 1, 1},
{&__pyx_n_s_read, __pyx_k_read, sizeof(__pyx_k_read), 0, 0, 1, 1},
{&__pyx_n_s_ready, __pyx_k_ready, sizeof(__pyx_k_ready), 0, 0, 1, 1},
{&__pyx_n_s_registedfunction, __pyx_k_registedfunction, sizeof(__pyx_k_registedfunction), 0, 0, 1, 1},
{&__pyx_n_s_registedfunctionAction, __pyx_k_registedfunctionAction, sizeof(__pyx_k_registedfunctionAction), 0, 0, 1, 1},
{&__pyx_n_s_register, __pyx_k_register, sizeof(__pyx_k_register), 0, 0, 1, 1},
{&__pyx_n_s_registerWidget, __pyx_k_registerWidget, sizeof(__pyx_k_registerWidget), 0, 0, 1, 1},
{&__pyx_n_s_register_event_type, __pyx_k_register_event_type, sizeof(__pyx_k_register_event_type), 0, 0, 1, 1},
{&__pyx_n_s_register_widget, __pyx_k_register_widget, sizeof(__pyx_k_register_widget), 0, 0, 1, 1},
{&__pyx_n_s_replace, __pyx_k_replace, sizeof(__pyx_k_replace), 0, 0, 1, 1},
{&__pyx_n_s_resp, __pyx_k_resp, sizeof(__pyx_k_resp), 0, 0, 1, 1},
{&__pyx_kp_s_ret, __pyx_k_ret, sizeof(__pyx_k_ret), 0, 0, 1, 0},
{&__pyx_n_s_ret_2, __pyx_k_ret_2, sizeof(__pyx_k_ret_2), 0, 0, 1, 1},
{&__pyx_n_s_return, __pyx_k_return, sizeof(__pyx_k_return), 0, 0, 1, 1},
{&__pyx_n_s_rf, __pyx_k_rf, sizeof(__pyx_k_rf), 0, 0, 1, 1},
{&__pyx_n_s_rfname, __pyx_k_rfname, sizeof(__pyx_k_rfname), 0, 0, 1, 1},
{&__pyx_kp_s_rfname_s_not_found, __pyx_k_rfname_s_not_found, sizeof(__pyx_k_rfname_s_not_found), 0, 0, 1, 0},
{&__pyx_kp_s_root, __pyx_k_root, sizeof(__pyx_k_root), 0, 0, 1, 0},
{&__pyx_n_s_root_2, __pyx_k_root_2, sizeof(__pyx_k_root_2), 0, 0, 1, 1},
{&__pyx_n_s_rt, __pyx_k_rt, sizeof(__pyx_k_rt), 0, 0, 1, 1},
{&__pyx_n_s_rtdata, __pyx_k_rtdata, sizeof(__pyx_k_rtdata), 0, 0, 1, 1},
{&__pyx_n_s_rtdesc, __pyx_k_rtdesc, sizeof(__pyx_k_rtdesc), 0, 0, 1, 1},
{&__pyx_n_s_s, __pyx_k_s, sizeof(__pyx_k_s), 0, 0, 1, 1},
{&__pyx_kp_s_s_method_not_found, __pyx_k_s_method_not_found, sizeof(__pyx_k_s_method_not_found), 0, 0, 1, 0},
{&__pyx_kp_s_script, __pyx_k_script, sizeof(__pyx_k_script), 0, 0, 1, 0},
{&__pyx_n_s_scriptAction, __pyx_k_scriptAction, sizeof(__pyx_k_scriptAction), 0, 0, 1, 1},
{&__pyx_n_s_script_2, __pyx_k_script_2, sizeof(__pyx_k_script_2), 0, 0, 1, 1},
{&__pyx_n_s_self, __pyx_k_self, sizeof(__pyx_k_self), 0, 0, 1, 1},
{&__pyx_kp_s_self_2, __pyx_k_self_2, sizeof(__pyx_k_self_2), 0, 0, 1, 0},
{&__pyx_n_s_serverImageViewer, __pyx_k_serverImageViewer, sizeof(__pyx_k_serverImageViewer), 0, 0, 1, 1},
{&__pyx_n_s_set, __pyx_k_set, sizeof(__pyx_k_set), 0, 0, 1, 1},
{&__pyx_n_s_sp, __pyx_k_sp, sizeof(__pyx_k_sp), 0, 0, 1, 1},
{&__pyx_n_s_split, __pyx_k_split, sizeof(__pyx_k_split), 0, 0, 1, 1},
{&__pyx_n_s_startswith, __pyx_k_startswith, sizeof(__pyx_k_startswith), 0, 0, 1, 1},
{&__pyx_n_s_str, __pyx_k_str, sizeof(__pyx_k_str), 0, 0, 1, 1},
{&__pyx_n_s_strValueExpr, __pyx_k_strValueExpr, sizeof(__pyx_k_strValueExpr), 0, 0, 1, 1},
{&__pyx_n_u_str_2, __pyx_k_str_2, sizeof(__pyx_k_str_2), 0, 1, 0, 1},
{&__pyx_n_s_subwidget_total, __pyx_k_subwidget_total, sizeof(__pyx_k_subwidget_total), 0, 0, 1, 1},
{&__pyx_n_s_subwidgets, __pyx_k_subwidgets, sizeof(__pyx_k_subwidgets), 0, 0, 1, 1},
{&__pyx_n_s_super, __pyx_k_super, sizeof(__pyx_k_super), 0, 0, 1, 1},
{&__pyx_n_s_sw, __pyx_k_sw, sizeof(__pyx_k_sw), 0, 0, 1, 1},
{&__pyx_n_s_sys, __pyx_k_sys, sizeof(__pyx_k_sys), 0, 0, 1, 1},
{&__pyx_n_s_t, __pyx_k_t, sizeof(__pyx_k_t), 0, 0, 1, 1},
{&__pyx_n_s_target, __pyx_k_target, sizeof(__pyx_k_target), 0, 0, 1, 1},
{&__pyx_n_s_test, __pyx_k_test, sizeof(__pyx_k_test), 0, 0, 1, 1},
{&__pyx_n_s_threadcall, __pyx_k_threadcall, sizeof(__pyx_k_threadcall), 0, 0, 1, 1},
{&__pyx_n_s_title, __pyx_k_title, sizeof(__pyx_k_title), 0, 0, 1, 1},
{&__pyx_n_s_to_dict, __pyx_k_to_dict, sizeof(__pyx_k_to_dict), 0, 0, 1, 1},
{&__pyx_n_s_toolbar, __pyx_k_toolbar, sizeof(__pyx_k_toolbar), 0, 0, 1, 1},
{&__pyx_n_s_traceback, __pyx_k_traceback, sizeof(__pyx_k_traceback), 0, 0, 1, 1},
{&__pyx_n_s_tree, __pyx_k_tree, sizeof(__pyx_k_tree), 0, 0, 1, 1},
{&__pyx_n_s_uihome, __pyx_k_uihome, sizeof(__pyx_k_uihome), 0, 0, 1, 1},
{&__pyx_n_s_ujson, __pyx_k_ujson, sizeof(__pyx_k_ujson), 0, 0, 1, 1},
{&__pyx_n_s_uniaction, __pyx_k_uniaction, sizeof(__pyx_k_uniaction), 0, 0, 1, 1},
{&__pyx_n_s_update, __pyx_k_update, sizeof(__pyx_k_update), 0, 0, 1, 1},
{&__pyx_n_s_url, __pyx_k_url, sizeof(__pyx_k_url), 0, 0, 1, 1},
{&__pyx_kp_s_url_is_None, __pyx_k_url_is_None, sizeof(__pyx_k_url_is_None), 0, 0, 1, 0},
{&__pyx_n_s_urlwidget, __pyx_k_urlwidget, sizeof(__pyx_k_urlwidget), 0, 0, 1, 1},
{&__pyx_n_s_urlwidgetAction, __pyx_k_urlwidgetAction, sizeof(__pyx_k_urlwidgetAction), 0, 0, 1, 1},
{&__pyx_kp_s_utf_8, __pyx_k_utf_8, sizeof(__pyx_k_utf_8), 0, 0, 1, 0},
{&__pyx_n_s_utils, __pyx_k_utils, sizeof(__pyx_k_utils), 0, 0, 1, 1},
{&__pyx_n_s_v, __pyx_k_v, sizeof(__pyx_k_v), 0, 0, 1, 1},
{&__pyx_n_s_valueExpr, __pyx_k_valueExpr, sizeof(__pyx_k_valueExpr), 0, 0, 1, 1},
{&__pyx_n_s_vplayer, __pyx_k_vplayer, sizeof(__pyx_k_vplayer), 0, 0, 1, 1},
{&__pyx_n_s_w, __pyx_k_w, sizeof(__pyx_k_w), 0, 0, 1, 1},
{&__pyx_n_s_w_build, __pyx_k_w_build, sizeof(__pyx_k_w_build), 0, 0, 1, 1},
{&__pyx_n_s_wid, __pyx_k_wid, sizeof(__pyx_k_wid), 0, 0, 1, 1},
{&__pyx_n_s_widget, __pyx_k_widget, sizeof(__pyx_k_widget), 0, 0, 1, 1},
{&__pyx_n_s_widgetBuild, __pyx_k_widgetBuild, sizeof(__pyx_k_widgetBuild), 0, 0, 1, 1},
{&__pyx_kp_s_widgetBuild1_desc_must_be_a_dict, __pyx_k_widgetBuild1_desc_must_be_a_dict, sizeof(__pyx_k_widgetBuild1_desc_must_be_a_dict), 0, 0, 1, 0},
{&__pyx_n_s_widgetClass, __pyx_k_widgetClass, sizeof(__pyx_k_widgetClass), 0, 0, 1, 1},
{&__pyx_kp_s_widget_2, __pyx_k_widget_2, sizeof(__pyx_k_widget_2), 0, 0, 1, 0},
{&__pyx_n_s_widget_id, __pyx_k_widget_id, sizeof(__pyx_k_widget_id), 0, 0, 1, 1},
{&__pyx_kp_s_widget_id_s_can_not_contain, __pyx_k_widget_id_s_can_not_contain, sizeof(__pyx_k_widget_id_s_can_not_contain), 0, 0, 1, 0},
{&__pyx_n_s_widget_name, __pyx_k_widget_name, sizeof(__pyx_k_widget_name), 0, 0, 1, 1},
{&__pyx_n_s_widgettype, __pyx_k_widgettype, sizeof(__pyx_k_widgettype), 0, 0, 1, 1},
{0, 0, 0, 0, 0, 0, 0}
};
static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) {
__pyx_builtin_super = __Pyx_GetBuiltinName(__pyx_n_s_super); if (!__pyx_builtin_super) __PYX_ERR(0, 43, __pyx_L1_error)
__pyx_builtin_eval = __Pyx_GetBuiltinName(__pyx_n_s_eval); if (!__pyx_builtin_eval) __PYX_ERR(0, 151, __pyx_L1_error)
__pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 305, __pyx_L1_error)
__pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 307, __pyx_L1_error)
return 0;
__pyx_L1_error:;
return -1;
}
static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) {
__Pyx_RefNannyDeclarations
__Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0);
/* "kivyblocks/blocks.pyx":160
* if url is None:
* if errback:
* errback(None,Exception('url is None')) # <<<<<<<<<<<<<<
* else:
* return None
*/
__pyx_tuple__2 = PyTuple_Pack(1, __pyx_kp_s_url_is_None); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 160, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__2);
__Pyx_GIVEREF(__pyx_tuple__2);
/* "kivyblocks/blocks.pyx":166
* if url.startswith('file://'):
* filename = url[7:]
* with codecs.open(filename,'r','utf-8') as f: # <<<<<<<<<<<<<<
* b = f.read()
* dic = json.loads(b)
*/
__pyx_tuple__3 = PyTuple_Pack(3, Py_None, Py_None, Py_None); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 166, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__3);
__Pyx_GIVEREF(__pyx_tuple__3);
/* "kivyblocks/blocks.pyx":249
* def w_build(self,desc) -> Widget:
* # print('w_build(),desc=',desc)
* widgetClass = desc.get('widgettype',None) # <<<<<<<<<<<<<<
* if not widgetClass:
* Logger.info("Block: w_build(), desc invalid", desc)
*/
__pyx_tuple__5 = PyTuple_Pack(2, __pyx_n_s_widgettype, Py_None); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 249, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__5);
__Pyx_GIVEREF(__pyx_tuple__5);
/* "kivyblocks/blocks.pyx":269
* if id.startswith('app.'):
* app = App.get_running_app()
* id = id[4:] # <<<<<<<<<<<<<<
* setattr(app, id, widget)
* if id.startswith('root.'):
*/
__pyx_slice__6 = PySlice_New(__pyx_int_4, Py_None, Py_None); if (unlikely(!__pyx_slice__6)) __PYX_ERR(0, 269, __pyx_L1_error)
__Pyx_GOTREF(__pyx_slice__6);
__Pyx_GIVEREF(__pyx_slice__6);
/* "kivyblocks/blocks.pyx":273
* if id.startswith('root.'):
* app = App.get_running_app()
* id = id[5:] # <<<<<<<<<<<<<<
* setattr(app.root, id, widget)
*
*/
__pyx_slice__7 = PySlice_New(__pyx_int_5, Py_None, Py_None); if (unlikely(!__pyx_slice__7)) __PYX_ERR(0, 273, __pyx_L1_error)
__Pyx_GOTREF(__pyx_slice__7);
__Pyx_GIVEREF(__pyx_slice__7);
/* "kivyblocks/blocks.pyx":320
*
* def buildBind(self, widget:Widget, desc):
* wid = desc.get('wid','self') # <<<<<<<<<<<<<<
* w = Blocks.getWidgetById(desc.get('wid','self'),from_widget=widget)
* if not w:
*/
__pyx_tuple__9 = PyTuple_Pack(2, __pyx_n_s_wid, __pyx_n_s_self); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(0, 320, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__9);
__Pyx_GIVEREF(__pyx_tuple__9);
/* "kivyblocks/blocks.pyx":401
* def blocksAction(self, widget:Widget, desc, *args):
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace') # <<<<<<<<<<<<<<
* opts = desc.get('options').copy()
* d = self.getActionData(widget,desc, *args)
*/
__pyx_tuple__10 = PyTuple_Pack(2, __pyx_n_s_mode, __pyx_n_s_replace); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 401, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__10);
__Pyx_GIVEREF(__pyx_tuple__10);
/* "kivyblocks/blocks.pyx":408
* p.update(d)
* opts['options'] = p
* def doit(target:Widget, add_mode:str, o, w:Widget): # <<<<<<<<<<<<<<
* if isinstance(w, ModalView):
* return
*/
__pyx_tuple__11 = PyTuple_Pack(4, __pyx_n_s_target, __pyx_n_s_add_mode, __pyx_n_s_o, __pyx_n_s_w); if (unlikely(!__pyx_tuple__11)) __PYX_ERR(0, 408, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__11);
__Pyx_GIVEREF(__pyx_tuple__11);
__pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__11, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_doit, 408, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 408, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":417
* target.add_widget(w)
*
* def doerr(o,e): # <<<<<<<<<<<<<<
* Logger.info('Block: blocksAction(): desc=%s widgetBuild error'
* ,str(desc))
*/
__pyx_tuple__13 = PyTuple_Pack(2, __pyx_n_s_o, __pyx_n_s_e); if (unlikely(!__pyx_tuple__13)) __PYX_ERR(0, 417, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__13);
__Pyx_GIVEREF(__pyx_tuple__13);
__pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__13, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_doerr, 417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 417, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":443
* }
*
* def doit(target:Widget, add_mode:str, o, w:Widget): # <<<<<<<<<<<<<<
* if isinstance(w, ModalView):
* return
*/
__pyx_tuple__15 = PyTuple_Pack(4, __pyx_n_s_target, __pyx_n_s_add_mode, __pyx_n_s_o, __pyx_n_s_w); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 443, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__15);
__Pyx_GIVEREF(__pyx_tuple__15);
__pyx_codeobj__16 = (PyObject*)__Pyx_PyCode_New(4, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__15, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_doit, 443, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__16)) __PYX_ERR(0, 443, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":452
* target.add_widget(w)
*
* def doerr(o,e): # <<<<<<<<<<<<<<
* Logger.info('Block: urlwidgetAction(): desc=%s widgetBuild error'
* ,str(desc))
*/
__pyx_tuple__17 = PyTuple_Pack(2, __pyx_n_s_o, __pyx_n_s_e); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 452, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__17);
__Pyx_GIVEREF(__pyx_tuple__17);
__pyx_codeobj__18 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__17, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_doerr, 452, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__18)) __PYX_ERR(0, 452, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":521
* rtdesc['script'] = desc.get('datacript')
* else:
* rtdesc['method'] = desc.get('datamethod', 'getValue') # <<<<<<<<<<<<<<
* rtdesc['kwargs'] = desc.get('datakwargs', {})
* return rtdesc
*/
__pyx_tuple__19 = PyTuple_Pack(2, __pyx_n_s_datamethod, __pyx_n_s_getValue); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 521, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__19);
__Pyx_GIVEREF(__pyx_tuple__19);
/* "kivyblocks/blocks.pyx":561
* return d
*
* method = desc.get('method', 'getValue') # <<<<<<<<<<<<<<
* if not hasattr(w, method):
* print('get_rtdata():method is None', desc, type(w))
*/
__pyx_tuple__20 = PyTuple_Pack(2, __pyx_n_s_method, __pyx_n_s_getValue); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 561, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__20);
__Pyx_GIVEREF(__pyx_tuple__20);
/* "kivyblocks/blocks.pyx":612
* }
* """
* def doit(desc): # <<<<<<<<<<<<<<
* if isinstance(desc,DictObject):
* desc = desc.to_dict()
*/
__pyx_tuple__21 = PyTuple_Pack(3, __pyx_n_s_desc, __pyx_n_s_widget, __pyx_n_s_e); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(0, 612, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__21);
__Pyx_GIVEREF(__pyx_tuple__21);
__pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(1, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_doit, 612, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 612, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":637
* print('widgetBuild1: desc must be a dict object',
* desc,type(desc))
* self.dispatch('on_failed',Exception('miss url')) # <<<<<<<<<<<<<<
* return
*
*/
__pyx_tuple__23 = PyTuple_Pack(1, __pyx_kp_s_miss_url); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(0, 637, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__23);
__Pyx_GIVEREF(__pyx_tuple__23);
/* "kivyblocks/blocks.pyx":685
* if from_widget.widget_id == id:
* return from_widget
* if id[0] == '-' and from_widget.widget_id == id[1:]: # <<<<<<<<<<<<<<
* return from_widget
* if hasattr(from_widget, id):
*/
__pyx_slice__25 = PySlice_New(__pyx_int_1, Py_None, Py_None); if (unlikely(!__pyx_slice__25)) __PYX_ERR(0, 685, __pyx_L1_error)
__Pyx_GOTREF(__pyx_slice__25);
__Pyx_GIVEREF(__pyx_slice__25);
/* "kivyblocks/blocks.pyx":679
* @classmethod
* def getWidgetById(self, id:str, from_widget:Widget=None) -> Widget:
* def find_widget_by_id(id, from_widget): # <<<<<<<<<<<<<<
* if id=='self':
* return from_widget
*/
__pyx_tuple__26 = PyTuple_Pack(7, __pyx_n_s_id, __pyx_n_s_from_widget, __pyx_n_s_w, __pyx_n_s_children, __pyx_n_s_c, __pyx_n_s_ret_2, __pyx_n_s_i); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(0, 679, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__26);
__Pyx_GIVEREF(__pyx_tuple__26);
__pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(2, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__26, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_find_widget_by_id, 679, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 679, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":42
*
* class WidgetNotFoundById(Exception):
* def __init__(self, id): # <<<<<<<<<<<<<<
* super().__init__()
* self.idstr = id
*/
__pyx_tuple__29 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_id); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 42, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__29);
__Pyx_GIVEREF(__pyx_tuple__29);
__pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_init, 42, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(0, 42, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":46
* self.idstr = id
*
* def __str__(self): # <<<<<<<<<<<<<<
* return "Widget not found by id:" + self.idstr + ':'
*
*/
__pyx_tuple__31 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 46, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__31);
__Pyx_GIVEREF(__pyx_tuple__31);
__pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_str, 46, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(0, 46, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":49
* return "Widget not found by id:" + self.idstr + ':'
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return str(self)
*
*/
__pyx_tuple__33 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 49, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__33);
__Pyx_GIVEREF(__pyx_tuple__33);
__pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_expr, 49, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) __PYX_ERR(0, 49, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":53
*
* class ClassMethodNotFound(Exception):
* def __init__(self,k,m): # <<<<<<<<<<<<<<
* super().__init__()
* self.kname = k
*/
__pyx_tuple__35 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_k, __pyx_n_s_m); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 53, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__35);
__Pyx_GIVEREF(__pyx_tuple__35);
__pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_init, 53, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) __PYX_ERR(0, 53, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":58
* self.mname = m
*
* def __str__(self): # <<<<<<<<<<<<<<
* s = 'Method(%s) not found in class(%s)' % (self.mname,
* str(self.kname.__classname__))
*/
__pyx_tuple__37 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_s); if (unlikely(!__pyx_tuple__37)) __PYX_ERR(0, 58, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__37);
__Pyx_GIVEREF(__pyx_tuple__37);
__pyx_codeobj__38 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__37, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_str, 58, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__38)) __PYX_ERR(0, 58, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":63
* return s
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return self.__str__()
*
*/
__pyx_tuple__39 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__39)) __PYX_ERR(0, 63, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__39);
__Pyx_GIVEREF(__pyx_tuple__39);
__pyx_codeobj__40 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__39, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_expr, 63, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__40)) __PYX_ERR(0, 63, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":68
*
* class NotExistsObject(Exception):
* def __init__(self,name): # <<<<<<<<<<<<<<
* super().__init__()
* self.name = name
*/
__pyx_tuple__41 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_name); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(0, 68, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__41);
__Pyx_GIVEREF(__pyx_tuple__41);
__pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_init, 68, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(0, 68, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":72
* self.name = name
*
* def __str__(self): # <<<<<<<<<<<<<<
* s = 'not exists widget(%s)' % self.name
* return s
*/
__pyx_tuple__43 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_s); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(0, 72, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__43);
__Pyx_GIVEREF(__pyx_tuple__43);
__pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_str, 72, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 72, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":76
* return s
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return self.__str__()
*
*/
__pyx_tuple__45 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__45)) __PYX_ERR(0, 76, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__45);
__Pyx_GIVEREF(__pyx_tuple__45);
__pyx_codeobj__46 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__45, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_expr, 76, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__46)) __PYX_ERR(0, 76, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":80
*
* class ArgumentError(Exception):
* def __init__(self,argument,desc): # <<<<<<<<<<<<<<
* super().__init__()
* self.argument = argument
*/
__pyx_tuple__47 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_argument, __pyx_n_s_desc); if (unlikely(!__pyx_tuple__47)) __PYX_ERR(0, 80, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__47);
__Pyx_GIVEREF(__pyx_tuple__47);
__pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__47, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_init, 80, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(0, 80, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":85
* self.desc = desc
*
* def __str__(self): # <<<<<<<<<<<<<<
* s = 'argument(%s) missed:%s' % (self.argument,self.desc)
* return s
*/
__pyx_tuple__49 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_s); if (unlikely(!__pyx_tuple__49)) __PYX_ERR(0, 85, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__49);
__Pyx_GIVEREF(__pyx_tuple__49);
__pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__49, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_str, 85, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(0, 85, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":89
* return s
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return self.__str__()
*
*/
__pyx_tuple__51 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__51)) __PYX_ERR(0, 89, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__51);
__Pyx_GIVEREF(__pyx_tuple__51);
__pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__51, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_expr, 89, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 89, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":94
*
* class NotRegistedWidget(Exception):
* def __init__(self, name:str): # <<<<<<<<<<<<<<
* super().__init__()
* self.widget_name = name
*/
__pyx_tuple__53 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_name); if (unlikely(!__pyx_tuple__53)) __PYX_ERR(0, 94, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__53);
__Pyx_GIVEREF(__pyx_tuple__53);
__pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__53, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_init, 94, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 94, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":98
* self.widget_name = name
*
* def __str__(self): # <<<<<<<<<<<<<<
* s = 'not reigsted widget(%s)' % self.name
* return s
*/
__pyx_tuple__55 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_s); if (unlikely(!__pyx_tuple__55)) __PYX_ERR(0, 98, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__55);
__Pyx_GIVEREF(__pyx_tuple__55);
__pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(1, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__55, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_str, 98, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 98, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":102
* return s
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return self.__str__()
*
*/
__pyx_tuple__57 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__57)) __PYX_ERR(0, 102, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__57);
__Pyx_GIVEREF(__pyx_tuple__57);
__pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__57, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_expr, 102, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) __PYX_ERR(0, 102, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":105
* return self.__str__()
*
* def registerWidget(name:str,widget): # <<<<<<<<<<<<<<
* globals()[name] = widget
*
*/
__pyx_tuple__59 = PyTuple_Pack(2, __pyx_n_s_name, __pyx_n_s_widget); if (unlikely(!__pyx_tuple__59)) __PYX_ERR(0, 105, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__59);
__Pyx_GIVEREF(__pyx_tuple__59);
__pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__59, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_registerWidget, 105, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(0, 105, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":110
*
* class Blocks(EventDispatcher):
* def __init__(self): # <<<<<<<<<<<<<<
* EventDispatcher.__init__(self)
* self.action_id = 0
*/
__pyx_tuple__61 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__61)) __PYX_ERR(0, 110, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__61);
__Pyx_GIVEREF(__pyx_tuple__61);
__pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(1, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__61, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_init, 110, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(0, 110, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":117
* self.env = GlobalEnv()
*
* def set(self, k:str, v): # <<<<<<<<<<<<<<
* self.env[k] = v
*
*/
__pyx_tuple__63 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_k, __pyx_n_s_v); if (unlikely(!__pyx_tuple__63)) __PYX_ERR(0, 117, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__63);
__Pyx_GIVEREF(__pyx_tuple__63);
__pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__63, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_set, 117, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(0, 117, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":120
* self.env[k] = v
*
* def register_widget(self, name:str, widget:Widget): # <<<<<<<<<<<<<<
* globals()[name] = widget
*
*/
__pyx_tuple__65 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_name, __pyx_n_s_widget); if (unlikely(!__pyx_tuple__65)) __PYX_ERR(0, 120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__65);
__Pyx_GIVEREF(__pyx_tuple__65);
__pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__65, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_register_widget, 120, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(0, 120, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":123
* globals()[name] = widget
*
* def buildAction(self, widget:Widget, desc): # <<<<<<<<<<<<<<
* conform_desc = desc.get('conform')
* blocks = Blocks()
*/
__pyx_tuple__67 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_widget, __pyx_n_s_desc, __pyx_n_s_conform_desc, __pyx_n_s_blocks, __pyx_n_s_func); if (unlikely(!__pyx_tuple__67)) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__67);
__Pyx_GIVEREF(__pyx_tuple__67);
__pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__67, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_buildAction, 123, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) __PYX_ERR(0, 123, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":131
* return func
*
* def eval(self, s:str, l:dict): # <<<<<<<<<<<<<<
* g = {}
* forbidens = [
*/
__pyx_tuple__69 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_s, __pyx_n_s_l, __pyx_n_s_g, __pyx_n_s_forbidens, __pyx_n_s_k, __pyx_n_s_v); if (unlikely(!__pyx_tuple__69)) __PYX_ERR(0, 131, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__69);
__Pyx_GIVEREF(__pyx_tuple__69);
__pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__69, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_eval, 131, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) __PYX_ERR(0, 131, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":153
* return eval(s,g,l)
*
* def getUrlData(self, url:str, method:str='GET', # <<<<<<<<<<<<<<
* params:dict={}, files:dict={},
* callback=None,
*/
__pyx_tuple__71 = PyTuple_Pack(16, __pyx_n_s_self, __pyx_n_s_url, __pyx_n_s_method, __pyx_n_s_params, __pyx_n_s_files, __pyx_n_s_callback, __pyx_n_s_errback, __pyx_n_s_kw, __pyx_n_s_filename, __pyx_n_s_f, __pyx_n_s_b, __pyx_n_s_dic, __pyx_n_s_hc, __pyx_n_s_resp, __pyx_n_s_e, __pyx_n_s_config); if (unlikely(!__pyx_tuple__71)) __PYX_ERR(0, 153, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__71);
__Pyx_GIVEREF(__pyx_tuple__71);
__pyx_codeobj__72 = (PyObject*)__Pyx_PyCode_New(7, 0, 16, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARKEYWORDS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__71, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_getUrlData, 153, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__72)) __PYX_ERR(0, 153, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":189
* **kw)
*
* def strValueExpr(self,s:str,localnamespace:dict={}): # <<<<<<<<<<<<<<
* if not s.startswith('py::'):
* return s
*/
__pyx_tuple__73 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_s, __pyx_n_s_localnamespace, __pyx_n_s_v, __pyx_n_s_e); if (unlikely(!__pyx_tuple__73)) __PYX_ERR(0, 189, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__73);
__Pyx_GIVEREF(__pyx_tuple__73);
__pyx_codeobj__74 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__73, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_strValueExpr, 189, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__74)) __PYX_ERR(0, 189, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":201
* return s
*
* def arrayValueExpr(self,arr:list,localnamespace:dict={}) -> list: # <<<<<<<<<<<<<<
* d = []
* for v in arr:
*/
__pyx_tuple__75 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_arr, __pyx_n_s_localnamespace, __pyx_n_s_d, __pyx_n_s_v); if (unlikely(!__pyx_tuple__75)) __PYX_ERR(0, 201, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__75);
__Pyx_GIVEREF(__pyx_tuple__75);
__pyx_codeobj__76 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__75, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_arrayValueExpr, 201, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__76)) __PYX_ERR(0, 201, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":219
* return d
*
* def dictValueExpr(self,dic:dict,localnamespace:dict={}) -> dict: # <<<<<<<<<<<<<<
* d = {}
* for k,v in dic.items():
*/
__pyx_tuple__77 = PyTuple_Pack(6, __pyx_n_s_self, __pyx_n_s_dic, __pyx_n_s_localnamespace, __pyx_n_s_d, __pyx_n_s_k, __pyx_n_s_v); if (unlikely(!__pyx_tuple__77)) __PYX_ERR(0, 219, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__77);
__Pyx_GIVEREF(__pyx_tuple__77);
__pyx_codeobj__78 = (PyObject*)__Pyx_PyCode_New(3, 0, 6, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__77, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_dictValueExpr, 219, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__78)) __PYX_ERR(0, 219, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":236
* d[k] = v
* return d
* def valueExpr(self,obj,localnamespace:dict={}): # <<<<<<<<<<<<<<
* if type(obj) == type(''):
* return self.strValueExpr(obj,localnamespace)
*/
__pyx_tuple__79 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_obj, __pyx_n_s_localnamespace); if (unlikely(!__pyx_tuple__79)) __PYX_ERR(0, 236, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__79);
__Pyx_GIVEREF(__pyx_tuple__79);
__pyx_codeobj__80 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__79, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_valueExpr, 236, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__80)) __PYX_ERR(0, 236, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":247
* return obj
*
* def w_build(self,desc) -> Widget: # <<<<<<<<<<<<<<
* # print('w_build(),desc=',desc)
* widgetClass = desc.get('widgettype',None)
*/
__pyx_tuple__81 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_desc, __pyx_n_s_widgetClass, __pyx_n_s_opts, __pyx_n_s_widget, __pyx_n_s_klass, __pyx_n_s_e, __pyx_n_s_id, __pyx_n_s_app_2); if (unlikely(!__pyx_tuple__81)) __PYX_ERR(0, 247, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__81);
__Pyx_GIVEREF(__pyx_tuple__81);
__pyx_codeobj__82 = (PyObject*)__Pyx_PyCode_New(2, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__81, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_w_build, 247, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__82)) __PYX_ERR(0, 247, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":286
* return widget
*
* def build_attributes(self, widget:Widget,desc,t=None): # <<<<<<<<<<<<<<
* excludes = ['widgettype','options','subwidgets','binds']
* for k,v in [(k,v) for k,v in desc.items() if k not in excludes]:
*/
__pyx_tuple__83 = PyTuple_Pack(10, __pyx_n_s_self, __pyx_n_s_widget, __pyx_n_s_desc, __pyx_n_s_t, __pyx_n_s_excludes, __pyx_n_s_k, __pyx_n_s_v, __pyx_n_s_b, __pyx_n_s_w, __pyx_n_s_aw); if (unlikely(!__pyx_tuple__83)) __PYX_ERR(0, 286, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__83);
__Pyx_GIVEREF(__pyx_tuple__83);
__pyx_codeobj__84 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__83, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_build_attributes, 286, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__84)) __PYX_ERR(0, 286, __pyx_L1_error)
__pyx_tuple__85 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__85)) __PYX_ERR(0, 286, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__85);
__Pyx_GIVEREF(__pyx_tuple__85);
/* "kivyblocks/blocks.pyx":303
* localnamespace={'self':widget}))
*
* def build_rest(self, widget:Widget,desc,t=None): # <<<<<<<<<<<<<<
* self.subwidget_total = len(desc.get('subwidgets',[]))
* self.subwidgets = [ None for i in range(self.subwidget_total)]
*/
__pyx_tuple__86 = PyTuple_Pack(10, __pyx_n_s_self, __pyx_n_s_widget, __pyx_n_s_desc, __pyx_n_s_t, __pyx_n_s_pos, __pyx_n_s_sw, __pyx_n_s_b, __pyx_n_s_kw, __pyx_n_s_w, __pyx_n_s_i); if (unlikely(!__pyx_tuple__86)) __PYX_ERR(0, 303, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__86);
__Pyx_GIVEREF(__pyx_tuple__86);
__pyx_codeobj__87 = (PyObject*)__Pyx_PyCode_New(4, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__86, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_build_rest, 303, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__87)) __PYX_ERR(0, 303, __pyx_L1_error)
__pyx_tuple__88 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__88)) __PYX_ERR(0, 303, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__88);
__Pyx_GIVEREF(__pyx_tuple__88);
/* "kivyblocks/blocks.pyx":319
* self.buildBind(widget,kw)
*
* def buildBind(self, widget:Widget, desc): # <<<<<<<<<<<<<<
* wid = desc.get('wid','self')
* w = Blocks.getWidgetById(desc.get('wid','self'),from_widget=widget)
*/
__pyx_tuple__89 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_widget, __pyx_n_s_desc, __pyx_n_s_wid, __pyx_n_s_w, __pyx_n_s_event, __pyx_n_s_f); if (unlikely(!__pyx_tuple__89)) __PYX_ERR(0, 319, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__89);
__Pyx_GIVEREF(__pyx_tuple__89);
__pyx_codeobj__90 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__89, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_buildBind, 319, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__90)) __PYX_ERR(0, 319, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":336
* w.bind(**{event:f})
*
* def multipleAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* desc1 = {k:v for k, v in desc.items() if k != 'actions'}
* mydesc = desc1.copy()
*/
__pyx_tuple__91 = PyTuple_Pack(10, __pyx_n_s_self, __pyx_n_s_widget, __pyx_n_s_desc, __pyx_n_s_args, __pyx_n_s_desc1, __pyx_n_s_mydesc, __pyx_n_s_a, __pyx_n_s_new_desc, __pyx_n_s_k, __pyx_n_s_v); if (unlikely(!__pyx_tuple__91)) __PYX_ERR(0, 336, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__91);
__Pyx_GIVEREF(__pyx_tuple__91);
__pyx_codeobj__92 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__91, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_multipleAction, 336, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__92)) __PYX_ERR(0, 336, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":344
* self.uniaction(widget,new_desc, *args)
*
* def conform_action(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* conform_desc = desc.get('conform')
* blocks = Blocks()
*/
__pyx_tuple__93 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_widget, __pyx_n_s_desc, __pyx_n_s_args, __pyx_n_s_conform_desc, __pyx_n_s_blocks, __pyx_n_s_w); if (unlikely(!__pyx_tuple__93)) __PYX_ERR(0, 344, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__93);
__Pyx_GIVEREF(__pyx_tuple__93);
__pyx_codeobj__94 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__93, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_conform_action, 344, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__94)) __PYX_ERR(0, 344, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":357
* w.open()
*
* def uniaction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* acttype = desc.get('actiontype')
* if acttype=='blocks':
*/
__pyx_tuple__95 = PyTuple_Pack(5, __pyx_n_s_self, __pyx_n_s_widget, __pyx_n_s_desc, __pyx_n_s_args, __pyx_n_s_acttype); if (unlikely(!__pyx_tuple__95)) __PYX_ERR(0, 357, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__95);
__Pyx_GIVEREF(__pyx_tuple__95);
__pyx_codeobj__96 = (PyObject*)__Pyx_PyCode_New(3, 0, 5, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__95, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_uniaction, 357, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__96)) __PYX_ERR(0, 357, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":376
* alert("actiontype(%s) invalid" % acttype,title='error')
*
* def eventAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* event = desc.get('dispatch_event')
*/
__pyx_tuple__97 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_widget, __pyx_n_s_desc, __pyx_n_s_args, __pyx_n_s_target, __pyx_n_s_event, __pyx_n_s_params, __pyx_n_s_d, __pyx_n_s_e); if (unlikely(!__pyx_tuple__97)) __PYX_ERR(0, 376, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__97);
__Pyx_GIVEREF(__pyx_tuple__97);
__pyx_codeobj__98 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__97, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_eventAction, 376, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__98)) __PYX_ERR(0, 376, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":394
* return
*
* def get_target(self, widget:Widget, desc): # <<<<<<<<<<<<<<
* if not desc.get('target'):
* return None
*/
__pyx_tuple__99 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_widget, __pyx_n_s_desc); if (unlikely(!__pyx_tuple__99)) __PYX_ERR(0, 394, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__99);
__Pyx_GIVEREF(__pyx_tuple__99);
__pyx_codeobj__100 = (PyObject*)__Pyx_PyCode_New(3, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__99, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_get_target, 394, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__100)) __PYX_ERR(0, 394, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":399
* return Blocks.getWidgetById(desc.get('target'),from_widget=widget)
*
* def blocksAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace')
*/
__pyx_tuple__101 = PyTuple_Pack(14, __pyx_n_s_self, __pyx_n_s_widget, __pyx_n_s_desc, __pyx_n_s_args, __pyx_n_s_target, __pyx_n_s_add_mode, __pyx_n_s_opts, __pyx_n_s_d, __pyx_n_s_p, __pyx_n_s_doit, __pyx_n_s_doit, __pyx_n_s_doerr, __pyx_n_s_doerr, __pyx_n_s_b); if (unlikely(!__pyx_tuple__101)) __PYX_ERR(0, 399, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__101);
__Pyx_GIVEREF(__pyx_tuple__101);
__pyx_codeobj__102 = (PyObject*)__Pyx_PyCode_New(3, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__101, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_blocksAction, 399, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__102)) __PYX_ERR(0, 399, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":427
* b.widgetBuild(opts)
*
* def urlwidgetAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace')
*/
__pyx_tuple__103 = PyTuple_Pack(14, __pyx_n_s_self, __pyx_n_s_widget, __pyx_n_s_desc, __pyx_n_s_args, __pyx_n_s_target, __pyx_n_s_add_mode, __pyx_n_s_opts, __pyx_n_s_p, __pyx_n_s_d, __pyx_n_s_doit, __pyx_n_s_doit, __pyx_n_s_doerr, __pyx_n_s_doerr, __pyx_n_s_b); if (unlikely(!__pyx_tuple__103)) __PYX_ERR(0, 427, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__103);
__Pyx_GIVEREF(__pyx_tuple__103);
__pyx_codeobj__104 = (PyObject*)__Pyx_PyCode_New(3, 0, 14, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__103, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_urlwidgetAction, 427, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__104)) __PYX_ERR(0, 427, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":461
* b.widgetBuild(d)
*
* def getActionData(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* Logger.info('Block: getActionData(): desc=%s args=%s'
* ,str(desc), args)
*/
__pyx_tuple__105 = PyTuple_Pack(7, __pyx_n_s_self, __pyx_n_s_widget, __pyx_n_s_desc, __pyx_n_s_args, __pyx_n_s_data, __pyx_n_s_rtdesc, __pyx_n_s_rt); if (unlikely(!__pyx_tuple__105)) __PYX_ERR(0, 461, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__105);
__Pyx_GIVEREF(__pyx_tuple__105);
__pyx_codeobj__106 = (PyObject*)__Pyx_PyCode_New(3, 0, 7, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__105, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_getActionData, 461, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__106)) __PYX_ERR(0, 461, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":475
* return data
*
* def registedfunctionAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* rf = RegisterFunction()
*/
__pyx_tuple__107 = PyTuple_Pack(10, __pyx_n_s_self, __pyx_n_s_widget, __pyx_n_s_desc, __pyx_n_s_args, __pyx_n_s_target, __pyx_n_s_rf, __pyx_n_s_name, __pyx_n_s_func, __pyx_n_s_params, __pyx_n_s_d); if (unlikely(!__pyx_tuple__107)) __PYX_ERR(0, 475, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__107);
__Pyx_GIVEREF(__pyx_tuple__107);
__pyx_codeobj__108 = (PyObject*)__Pyx_PyCode_New(3, 0, 10, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__107, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_registedfunctionAction, 475, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__108)) __PYX_ERR(0, 475, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":491
* func(target, *args, **params)
*
* def scriptAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* script = desc.get('script')
* if not script:
*/
__pyx_tuple__109 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_widget, __pyx_n_s_desc, __pyx_n_s_args, __pyx_n_s_script_2, __pyx_n_s_target, __pyx_n_s_d, __pyx_n_s_ns, __pyx_n_s_e); if (unlikely(!__pyx_tuple__109)) __PYX_ERR(0, 491, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__109);
__Pyx_GIVEREF(__pyx_tuple__109);
__pyx_codeobj__110 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__109, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_scriptAction, 491, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__110)) __PYX_ERR(0, 491, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":512
* print(e)
*
* def build_rtdesc(self, desc): # <<<<<<<<<<<<<<
* rtdesc = desc.get('rtdata')
* if not rtdesc:
*/
__pyx_tuple__111 = PyTuple_Pack(3, __pyx_n_s_self, __pyx_n_s_desc, __pyx_n_s_rtdesc); if (unlikely(!__pyx_tuple__111)) __PYX_ERR(0, 512, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__111);
__Pyx_GIVEREF(__pyx_tuple__111);
__pyx_codeobj__112 = (PyObject*)__Pyx_PyCode_New(2, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__111, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_build_rtdesc, 512, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__112)) __PYX_ERR(0, 512, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":525
* return rtdesc
*
* def get_rtdata(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* """
* desc descript follow attributes
*/
__pyx_tuple__113 = PyTuple_Pack(13, __pyx_n_s_self, __pyx_n_s_widget, __pyx_n_s_desc, __pyx_n_s_args, __pyx_n_s_kwargs, __pyx_n_s_w, __pyx_n_s_target, __pyx_n_s_script_2, __pyx_n_s_ns, __pyx_n_s_d, __pyx_n_s_method, __pyx_n_s_f, __pyx_n_s_r); if (unlikely(!__pyx_tuple__113)) __PYX_ERR(0, 525, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__113);
__Pyx_GIVEREF(__pyx_tuple__113);
__pyx_codeobj__114 = (PyObject*)__Pyx_PyCode_New(3, 0, 13, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__113, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_get_rtdata, 525, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__114)) __PYX_ERR(0, 525, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":578
* return {}
*
* def methodAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* method = desc.get('method')
* target = self.get_target(widget, desc)
*/
__pyx_tuple__115 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_widget, __pyx_n_s_desc, __pyx_n_s_args, __pyx_n_s_method, __pyx_n_s_target, __pyx_n_s_f, __pyx_n_s_kwargs, __pyx_n_s_d); if (unlikely(!__pyx_tuple__115)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__115);
__Pyx_GIVEREF(__pyx_tuple__115);
__pyx_codeobj__116 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS|CO_VARARGS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__115, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_methodAction, 578, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__116)) __PYX_ERR(0, 578, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":599
* alert('%s method not found' % method)
*
* def widgetBuild(self, desc): # <<<<<<<<<<<<<<
* """
* desc format:
*/
__pyx_tuple__117 = PyTuple_Pack(12, __pyx_n_s_self, __pyx_n_s_desc, __pyx_n_s_doit, __pyx_n_s_doit, __pyx_n_s_widgettype, __pyx_n_s_opts, __pyx_n_s_extend, __pyx_n_s_addon, __pyx_n_s_url, __pyx_n_s_rtdesc, __pyx_n_s_rtdata, __pyx_n_s_params); if (unlikely(!__pyx_tuple__117)) __PYX_ERR(0, 599, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__117);
__Pyx_GIVEREF(__pyx_tuple__117);
__pyx_codeobj__118 = (PyObject*)__Pyx_PyCode_New(2, 0, 12, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__117, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_widgetBuild, 599, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__118)) __PYX_ERR(0, 599, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":678
*
* @classmethod
* def getWidgetById(self, id:str, from_widget:Widget=None) -> Widget: # <<<<<<<<<<<<<<
* def find_widget_by_id(id, from_widget):
* if id=='self':
*/
__pyx_tuple__119 = PyTuple_Pack(9, __pyx_n_s_self, __pyx_n_s_id, __pyx_n_s_from_widget, __pyx_n_s_find_widget_by_id, __pyx_n_s_find_widget_by_id, __pyx_n_s_ids, __pyx_n_s_app_2, __pyx_n_s_fid, __pyx_n_s_w); if (unlikely(!__pyx_tuple__119)) __PYX_ERR(0, 678, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__119);
__Pyx_GIVEREF(__pyx_tuple__119);
__pyx_codeobj__120 = (PyObject*)__Pyx_PyCode_New(3, 0, 9, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__119, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_getWidgetById, 678, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__120)) __PYX_ERR(0, 678, __pyx_L1_error)
__pyx_tuple__121 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__121)) __PYX_ERR(0, 678, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__121);
__Pyx_GIVEREF(__pyx_tuple__121);
/* "kivyblocks/blocks.pyx":742
* return w
*
* def on_built(self,v=None): # <<<<<<<<<<<<<<
* return
*
*/
__pyx_tuple__122 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_v); if (unlikely(!__pyx_tuple__122)) __PYX_ERR(0, 742, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__122);
__Pyx_GIVEREF(__pyx_tuple__122);
__pyx_codeobj__123 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__122, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_on_built, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__123)) __PYX_ERR(0, 742, __pyx_L1_error)
__pyx_tuple__124 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__124)) __PYX_ERR(0, 742, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__124);
__Pyx_GIVEREF(__pyx_tuple__124);
/* "kivyblocks/blocks.pyx":745
* return
*
* def on_failed(self,e=None): # <<<<<<<<<<<<<<
* return
*
*/
__pyx_tuple__125 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_e); if (unlikely(!__pyx_tuple__125)) __PYX_ERR(0, 745, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__125);
__Pyx_GIVEREF(__pyx_tuple__125);
__pyx_codeobj__126 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__125, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_kivyblocks_blocks_pyx, __pyx_n_s_on_failed, 745, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__126)) __PYX_ERR(0, 745, __pyx_L1_error)
__pyx_tuple__127 = PyTuple_Pack(1, ((PyObject *)Py_None)); if (unlikely(!__pyx_tuple__127)) __PYX_ERR(0, 745, __pyx_L1_error)
__Pyx_GOTREF(__pyx_tuple__127);
__Pyx_GIVEREF(__pyx_tuple__127);
__Pyx_RefNannyFinishContext();
return 0;
__pyx_L1_error:;
__Pyx_RefNannyFinishContext();
return -1;
}
static CYTHON_SMALL_CODE int __Pyx_InitGlobals(void) {
__pyx_umethod_PyDict_Type_items.type = (PyObject*)&PyDict_Type;
__pyx_umethod_PyDict_Type_update.type = (PyObject*)&PyDict_Type;
__pyx_umethod_PyString_Type_split.type = (PyObject*)&PyString_Type;
if (__Pyx_InitStrings(__pyx_string_tab) < 0) __PYX_ERR(0, 1, __pyx_L1_error);
__pyx_int_0 = PyInt_FromLong(0); if (unlikely(!__pyx_int_0)) __PYX_ERR(0, 1, __pyx_L1_error)
__pyx_int_1 = PyInt_FromLong(1); if (unlikely(!__pyx_int_1)) __PYX_ERR(0, 1, __pyx_L1_error)
__pyx_int_4 = PyInt_FromLong(4); if (unlikely(!__pyx_int_4)) __PYX_ERR(0, 1, __pyx_L1_error)
__pyx_int_5 = PyInt_FromLong(5); if (unlikely(!__pyx_int_5)) __PYX_ERR(0, 1, __pyx_L1_error)
return 0;
__pyx_L1_error:;
return -1;
}
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
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0);
/*--- Type init code ---*/
if (PyType_Ready(&__pyx_type_10kivyblocks_6blocks___pyx_scope_struct__blocksAction) < 0) __PYX_ERR(0, 399, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_10kivyblocks_6blocks___pyx_scope_struct__blocksAction.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_10kivyblocks_6blocks___pyx_scope_struct__blocksAction.tp_dictoffset && __pyx_type_10kivyblocks_6blocks___pyx_scope_struct__blocksAction.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_10kivyblocks_6blocks___pyx_scope_struct__blocksAction.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_10kivyblocks_6blocks___pyx_scope_struct__blocksAction = &__pyx_type_10kivyblocks_6blocks___pyx_scope_struct__blocksAction;
if (PyType_Ready(&__pyx_type_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction) < 0) __PYX_ERR(0, 427, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction.tp_dictoffset && __pyx_type_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction = &__pyx_type_10kivyblocks_6blocks___pyx_scope_struct_1_urlwidgetAction;
if (PyType_Ready(&__pyx_type_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild) < 0) __PYX_ERR(0, 599, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild.tp_dictoffset && __pyx_type_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild = &__pyx_type_10kivyblocks_6blocks___pyx_scope_struct_2_widgetBuild;
if (PyType_Ready(&__pyx_type_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById) < 0) __PYX_ERR(0, 678, __pyx_L1_error)
#if PY_VERSION_HEX < 0x030800B1
__pyx_type_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById.tp_print = 0;
#endif
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById.tp_dictoffset && __pyx_type_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById.tp_getattro == PyObject_GenericGetAttr)) {
__pyx_type_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById.tp_getattro = __Pyx_PyObject_GenericGetAttrNoDict;
}
__pyx_ptype_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById = &__pyx_type_10kivyblocks_6blocks___pyx_scope_struct_3_getWidgetById;
__Pyx_RefNannyFinishContext();
return 0;
__pyx_L1_error:;
__Pyx_RefNannyFinishContext();
return -1;
}
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;
}
#ifndef CYTHON_NO_PYINIT_EXPORT
#define __Pyx_PyMODINIT_FUNC PyMODINIT_FUNC
#elif PY_MAJOR_VERSION < 3
#ifdef __cplusplus
#define __Pyx_PyMODINIT_FUNC extern "C" void
#else
#define __Pyx_PyMODINIT_FUNC void
#endif
#else
#ifdef __cplusplus
#define __Pyx_PyMODINIT_FUNC extern "C" PyObject *
#else
#define __Pyx_PyMODINIT_FUNC PyObject *
#endif
#endif
#if PY_MAJOR_VERSION < 3
__Pyx_PyMODINIT_FUNC initblocks(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC initblocks(void)
#else
__Pyx_PyMODINIT_FUNC PyInit_blocks(void) CYTHON_SMALL_CODE; /*proto*/
__Pyx_PyMODINIT_FUNC PyInit_blocks(void)
#if CYTHON_PEP489_MULTI_PHASE_INIT
{
return PyModuleDef_Init(&__pyx_moduledef);
}
static CYTHON_SMALL_CODE int __Pyx_check_single_interpreter(void) {
#if PY_VERSION_HEX >= 0x030700A1
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))
#else
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))
#endif
{
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 *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 = 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, CYTHON_UNUSED PyModuleDef *def) {
PyObject *module = NULL, *moddict, *modname;
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 = 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_blocks(PyObject *__pyx_pyinit_module)
#endif
#endif
{
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;
int __pyx_lineno = 0;
const char *__pyx_filename = NULL;
int __pyx_clineno = 0;
__Pyx_RefNannyDeclarations
#if CYTHON_PEP489_MULTI_PHASE_INIT
if (__pyx_m) {
if (__pyx_m == __pyx_pyinit_module) return 0;
PyErr_SetString(PyExc_RuntimeError, "Module 'blocks' has already been imported. Re-initialisation is not supported.");
return -1;
}
#elif PY_MAJOR_VERSION >= 3
if (__pyx_m) return __Pyx_NewRef(__pyx_m);
#endif
#if CYTHON_REFNANNY
__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");
}
#endif
__Pyx_RefNannySetupContext("__Pyx_PyMODINIT_FUNC PyInit_blocks(void)", 0);
if (__Pyx_check_binary_version() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#ifdef __Pxy_PyFrame_Initialize_Offsets
__Pxy_PyFrame_Initialize_Offsets();
#endif
__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)
#ifdef __Pyx_CyFunction_USED
if (__pyx_CyFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#endif
#ifdef __Pyx_FusedFunction_USED
if (__pyx_FusedFunction_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#endif
#ifdef __Pyx_Coroutine_USED
if (__pyx_Coroutine_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#endif
#ifdef __Pyx_Generator_USED
if (__pyx_Generator_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#endif
#ifdef __Pyx_AsyncGen_USED
if (__pyx_AsyncGen_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#endif
#ifdef __Pyx_StopAsyncIteration_USED
if (__pyx_StopAsyncIteration_init() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#endif
/*--- Library function declarations ---*/
/*--- Threads initialization code ---*/
#if defined(__PYX_FORCE_INIT_THREADS) && __PYX_FORCE_INIT_THREADS
#ifdef WITH_THREAD /* Python build with threading support? */
PyEval_InitThreads();
#endif
#endif
/*--- Module creation code ---*/
#if CYTHON_PEP489_MULTI_PHASE_INIT
__pyx_m = __pyx_pyinit_module;
Py_INCREF(__pyx_m);
#else
#if PY_MAJOR_VERSION < 3
__pyx_m = Py_InitModule4("blocks", __pyx_methods, 0, 0, PYTHON_API_VERSION); Py_XINCREF(__pyx_m);
#else
__pyx_m = PyModule_Create(&__pyx_moduledef);
#endif
if (unlikely(!__pyx_m)) __PYX_ERR(0, 1, __pyx_L1_error)
#endif
__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);
/*--- Initialize various global constants etc. ---*/
if (__Pyx_InitGlobals() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#if PY_MAJOR_VERSION < 3 && (__PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT)
if (__Pyx_init_sys_getdefaultencoding_params() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#endif
if (__pyx_module_is_main_kivyblocks__blocks) {
if (PyObject_SetAttr(__pyx_m, __pyx_n_s_name_2, __pyx_n_s_main) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
}
#if PY_MAJOR_VERSION >= 3
{
PyObject *modules = PyImport_GetModuleDict(); if (unlikely(!modules)) __PYX_ERR(0, 1, __pyx_L1_error)
if (!PyDict_GetItemString(modules, "kivyblocks.blocks")) {
if (unlikely(PyDict_SetItemString(modules, "kivyblocks.blocks", __pyx_m) < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
}
}
#endif
/*--- 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();
if (unlikely(__Pyx_modinit_type_init_code() < 0)) __PYX_ERR(0, 1, __pyx_L1_error)
(void)__Pyx_modinit_type_import_code();
(void)__Pyx_modinit_variable_import_code();
(void)__Pyx_modinit_function_import_code();
/*--- Execution code ---*/
#if defined(__Pyx_Generator_USED) || defined(__Pyx_Coroutine_USED)
if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error)
#endif
/* "kivyblocks/blocks.pyx":1
* import os # <<<<<<<<<<<<<<
* import sys
* import codecs
*/
__pyx_t_1 = __Pyx_Import(__pyx_n_s_os, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_os, __pyx_t_1) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":2
* import os
* import sys # <<<<<<<<<<<<<<
* import codecs
* import ujson as json
*/
__pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 2, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) __PYX_ERR(0, 2, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":3
* import os
* import sys
* import codecs # <<<<<<<<<<<<<<
* import ujson as json
* from traceback import print_exc
*/
__pyx_t_1 = __Pyx_Import(__pyx_n_s_codecs, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 3, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_codecs, __pyx_t_1) < 0) __PYX_ERR(0, 3, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":4
* import sys
* import codecs
* import ujson as json # <<<<<<<<<<<<<<
* from traceback import print_exc
*
*/
__pyx_t_1 = __Pyx_Import(__pyx_n_s_ujson, 0, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 4, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_json, __pyx_t_1) < 0) __PYX_ERR(0, 4, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":5
* import codecs
* import ujson as json
* from traceback import print_exc # <<<<<<<<<<<<<<
*
* from functools import partial
*/
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_print_exc);
__Pyx_GIVEREF(__pyx_n_s_print_exc);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_print_exc);
__pyx_t_2 = __Pyx_Import(__pyx_n_s_traceback, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 5, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_print_exc); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 5, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_print_exc, __pyx_t_1) < 0) __PYX_ERR(0, 5, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":7
* from traceback import print_exc
*
* from functools import partial # <<<<<<<<<<<<<<
*
* from appPublic.dictExt import dictExtend
*/
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 7, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_partial);
__Pyx_GIVEREF(__pyx_n_s_partial);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_partial);
__pyx_t_1 = __Pyx_Import(__pyx_n_s_functools, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 7, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_partial); 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_partial, __pyx_t_2) < 0) __PYX_ERR(0, 7, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":9
* from functools import partial
*
* from appPublic.dictExt import dictExtend # <<<<<<<<<<<<<<
* from appPublic.folderUtils import ProgramPath
* from appPublic.dictObject import DictObject
*/
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_dictExtend);
__Pyx_GIVEREF(__pyx_n_s_dictExtend);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_dictExtend);
__pyx_t_2 = __Pyx_Import(__pyx_n_s_appPublic_dictExt, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 9, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_dictExtend); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_dictExtend, __pyx_t_1) < 0) __PYX_ERR(0, 9, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":10
*
* from appPublic.dictExt import dictExtend
* from appPublic.folderUtils import ProgramPath # <<<<<<<<<<<<<<
* from appPublic.dictObject import DictObject
* from appPublic.Singleton import SingletonDecorator, GlobalEnv
*/
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_ProgramPath);
__Pyx_GIVEREF(__pyx_n_s_ProgramPath);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_ProgramPath);
__pyx_t_1 = __Pyx_Import(__pyx_n_s_appPublic_folderUtils, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_ProgramPath); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 10, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ProgramPath, __pyx_t_2) < 0) __PYX_ERR(0, 10, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":11
* from appPublic.dictExt import dictExtend
* from appPublic.folderUtils import ProgramPath
* from appPublic.dictObject import DictObject # <<<<<<<<<<<<<<
* from appPublic.Singleton import SingletonDecorator, GlobalEnv
* from appPublic.datamapping import keyMapping
*/
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_DictObject);
__Pyx_GIVEREF(__pyx_n_s_DictObject);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_DictObject);
__pyx_t_2 = __Pyx_Import(__pyx_n_s_appPublic_dictObject, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 11, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_DictObject); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 11, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_DictObject, __pyx_t_1) < 0) __PYX_ERR(0, 11, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":12
* from appPublic.folderUtils import ProgramPath
* from appPublic.dictObject import DictObject
* from appPublic.Singleton import SingletonDecorator, GlobalEnv # <<<<<<<<<<<<<<
* from appPublic.datamapping import keyMapping
* from appPublic.registerfunction import RegisterFunction
*/
__pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_SingletonDecorator);
__Pyx_GIVEREF(__pyx_n_s_SingletonDecorator);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_SingletonDecorator);
__Pyx_INCREF(__pyx_n_s_GlobalEnv);
__Pyx_GIVEREF(__pyx_n_s_GlobalEnv);
PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_GlobalEnv);
__pyx_t_1 = __Pyx_Import(__pyx_n_s_appPublic_Singleton, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_SingletonDecorator); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_SingletonDecorator, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_GlobalEnv); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 12, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_GlobalEnv, __pyx_t_2) < 0) __PYX_ERR(0, 12, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":13
* from appPublic.dictObject import DictObject
* from appPublic.Singleton import SingletonDecorator, GlobalEnv
* from appPublic.datamapping import keyMapping # <<<<<<<<<<<<<<
* from appPublic.registerfunction import RegisterFunction
*
*/
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_keyMapping);
__Pyx_GIVEREF(__pyx_n_s_keyMapping);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_keyMapping);
__pyx_t_2 = __Pyx_Import(__pyx_n_s_appPublic_datamapping, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 13, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_keyMapping); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 13, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_keyMapping, __pyx_t_1) < 0) __PYX_ERR(0, 13, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":14
* from appPublic.Singleton import SingletonDecorator, GlobalEnv
* from appPublic.datamapping import keyMapping
* from appPublic.registerfunction import RegisterFunction # <<<<<<<<<<<<<<
*
* from kivy.logger import Logger
*/
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_RegisterFunction);
__Pyx_GIVEREF(__pyx_n_s_RegisterFunction);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_RegisterFunction);
__pyx_t_1 = __Pyx_Import(__pyx_n_s_appPublic_registerfunction, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 14, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_RegisterFunction); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 14, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_RegisterFunction, __pyx_t_2) < 0) __PYX_ERR(0, 14, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":16
* from appPublic.registerfunction import RegisterFunction
*
* from kivy.logger import Logger # <<<<<<<<<<<<<<
* from kivy.config import Config
* from kivy.metrics import sp,dp,mm
*/
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_Logger);
__Pyx_GIVEREF(__pyx_n_s_Logger);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_Logger);
__pyx_t_2 = __Pyx_Import(__pyx_n_s_kivy_logger, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 16, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Logger); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 16, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Logger, __pyx_t_1) < 0) __PYX_ERR(0, 16, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":17
*
* from kivy.logger import Logger
* from kivy.config import Config # <<<<<<<<<<<<<<
* from kivy.metrics import sp,dp,mm
* from kivy.core.window import WindowBase, Window
*/
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_Config);
__Pyx_GIVEREF(__pyx_n_s_Config);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Config);
__pyx_t_1 = __Pyx_Import(__pyx_n_s_kivy_config, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 17, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Config); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 17, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Config, __pyx_t_2) < 0) __PYX_ERR(0, 17, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":18
* from kivy.logger import Logger
* from kivy.config import Config
* from kivy.metrics import sp,dp,mm # <<<<<<<<<<<<<<
* from kivy.core.window import WindowBase, Window
* from kivy.properties import BooleanProperty
*/
__pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_sp);
__Pyx_GIVEREF(__pyx_n_s_sp);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_sp);
__Pyx_INCREF(__pyx_n_s_dp);
__Pyx_GIVEREF(__pyx_n_s_dp);
PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_dp);
__Pyx_INCREF(__pyx_n_s_mm);
__Pyx_GIVEREF(__pyx_n_s_mm);
PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_mm);
__pyx_t_2 = __Pyx_Import(__pyx_n_s_kivy_metrics, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 18, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_sp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_sp, __pyx_t_1) < 0) __PYX_ERR(0, 18, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_dp); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_dp, __pyx_t_1) < 0) __PYX_ERR(0, 18, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_mm); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 18, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_mm, __pyx_t_1) < 0) __PYX_ERR(0, 18, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":19
* from kivy.config import Config
* from kivy.metrics import sp,dp,mm
* from kivy.core.window import WindowBase, Window # <<<<<<<<<<<<<<
* from kivy.properties import BooleanProperty
* from kivy.uix.widget import Widget
*/
__pyx_t_2 = PyList_New(2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_WindowBase);
__Pyx_GIVEREF(__pyx_n_s_WindowBase);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_WindowBase);
__Pyx_INCREF(__pyx_n_s_Window);
__Pyx_GIVEREF(__pyx_n_s_Window);
PyList_SET_ITEM(__pyx_t_2, 1, __pyx_n_s_Window);
__pyx_t_1 = __Pyx_Import(__pyx_n_s_kivy_core_window, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 19, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_WindowBase); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_WindowBase, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Window); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Window, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":20
* from kivy.metrics import sp,dp,mm
* from kivy.core.window import WindowBase, Window
* from kivy.properties import BooleanProperty # <<<<<<<<<<<<<<
* from kivy.uix.widget import Widget
* from kivy.uix.modalview import ModalView
*/
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_BooleanProperty);
__Pyx_GIVEREF(__pyx_n_s_BooleanProperty);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_BooleanProperty);
__pyx_t_2 = __Pyx_Import(__pyx_n_s_kivy_properties, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 20, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_BooleanProperty); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 20, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_BooleanProperty, __pyx_t_1) < 0) __PYX_ERR(0, 20, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":21
* from kivy.core.window import WindowBase, Window
* from kivy.properties import BooleanProperty
* from kivy.uix.widget import Widget # <<<<<<<<<<<<<<
* from kivy.uix.modalview import ModalView
* from kivy.app import App
*/
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_Widget);
__Pyx_GIVEREF(__pyx_n_s_Widget);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Widget);
__pyx_t_1 = __Pyx_Import(__pyx_n_s_kivy_uix_widget, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 21, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Widget); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 21, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Widget, __pyx_t_2) < 0) __PYX_ERR(0, 21, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":22
* from kivy.properties import BooleanProperty
* from kivy.uix.widget import Widget
* from kivy.uix.modalview import ModalView # <<<<<<<<<<<<<<
* from kivy.app import App
* from kivy.factory import Factory
*/
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_ModalView);
__Pyx_GIVEREF(__pyx_n_s_ModalView);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_ModalView);
__pyx_t_2 = __Pyx_Import(__pyx_n_s_kivy_uix_modalview, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 22, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_ModalView); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 22, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ModalView, __pyx_t_1) < 0) __PYX_ERR(0, 22, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":23
* from kivy.uix.widget import Widget
* from kivy.uix.modalview import ModalView
* from kivy.app import App # <<<<<<<<<<<<<<
* from kivy.factory import Factory
* from kivy.uix.video import Video
*/
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_App);
__Pyx_GIVEREF(__pyx_n_s_App);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_App);
__pyx_t_1 = __Pyx_Import(__pyx_n_s_kivy_app, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 23, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_App); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_App, __pyx_t_2) < 0) __PYX_ERR(0, 23, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":24
* from kivy.uix.modalview import ModalView
* from kivy.app import App
* from kivy.factory import Factory # <<<<<<<<<<<<<<
* from kivy.uix.video import Video
* from .baseWidget import *
*/
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_Factory);
__Pyx_GIVEREF(__pyx_n_s_Factory);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_Factory);
__pyx_t_2 = __Pyx_Import(__pyx_n_s_kivy_factory, __pyx_t_1, -1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Factory); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Factory, __pyx_t_1) < 0) __PYX_ERR(0, 24, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":25
* from kivy.app import App
* from kivy.factory import Factory
* from kivy.uix.video import Video # <<<<<<<<<<<<<<
* from .baseWidget import *
* from .toolbar import *
*/
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_Video);
__Pyx_GIVEREF(__pyx_n_s_Video);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Video);
__pyx_t_1 = __Pyx_Import(__pyx_n_s_kivy_uix_video, __pyx_t_2, -1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Video); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Video, __pyx_t_2) < 0) __PYX_ERR(0, 25, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":26
* from kivy.factory import Factory
* from kivy.uix.video import Video
* from .baseWidget import * # <<<<<<<<<<<<<<
* from .toolbar import *
* from .dg import DataGrid
*/
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 26, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s__28);
__Pyx_GIVEREF(__pyx_n_s__28);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s__28);
__pyx_t_2 = __Pyx_Import(__pyx_n_s_baseWidget, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 26, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
if (__pyx_import_star(__pyx_t_2) < 0) __PYX_ERR(0, 26, __pyx_L1_error);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":27
* from kivy.uix.video import Video
* from .baseWidget import *
* from .toolbar import * # <<<<<<<<<<<<<<
* from .dg import DataGrid
* from .utils import *
*/
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 27, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s__28);
__Pyx_GIVEREF(__pyx_n_s__28);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s__28);
__pyx_t_1 = __Pyx_Import(__pyx_n_s_toolbar, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 27, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_import_star(__pyx_t_1) < 0) __PYX_ERR(0, 27, __pyx_L1_error);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":28
* from .baseWidget import *
* from .toolbar import *
* from .dg import DataGrid # <<<<<<<<<<<<<<
* from .utils import *
* from .serverImageViewer import ServerImageViewer
*/
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_DataGrid);
__Pyx_GIVEREF(__pyx_n_s_DataGrid);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_DataGrid);
__pyx_t_2 = __Pyx_Import(__pyx_n_s_dg, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 28, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_DataGrid); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 28, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_DataGrid, __pyx_t_1) < 0) __PYX_ERR(0, 28, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":29
* from .toolbar import *
* from .dg import DataGrid
* from .utils import * # <<<<<<<<<<<<<<
* from .serverImageViewer import ServerImageViewer
* from .vplayer import VPlayer
*/
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 29, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s__28);
__Pyx_GIVEREF(__pyx_n_s__28);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s__28);
__pyx_t_1 = __Pyx_Import(__pyx_n_s_utils, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 29, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_import_star(__pyx_t_1) < 0) __PYX_ERR(0, 29, __pyx_L1_error);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":30
* from .dg import DataGrid
* from .utils import *
* from .serverImageViewer import ServerImageViewer # <<<<<<<<<<<<<<
* from .vplayer import VPlayer
* from .form import InputBox, Form, StrSearchForm
*/
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_ServerImageViewer);
__Pyx_GIVEREF(__pyx_n_s_ServerImageViewer);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_ServerImageViewer);
__pyx_t_2 = __Pyx_Import(__pyx_n_s_serverImageViewer, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 30, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_ServerImageViewer); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 30, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ServerImageViewer, __pyx_t_1) < 0) __PYX_ERR(0, 30, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":31
* from .utils import *
* from .serverImageViewer import ServerImageViewer
* from .vplayer import VPlayer # <<<<<<<<<<<<<<
* from .form import InputBox, Form, StrSearchForm
* from .boxViewer import BoxViewer
*/
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_VPlayer);
__Pyx_GIVEREF(__pyx_n_s_VPlayer);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_VPlayer);
__pyx_t_1 = __Pyx_Import(__pyx_n_s_vplayer, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 31, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_VPlayer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 31, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_VPlayer, __pyx_t_2) < 0) __PYX_ERR(0, 31, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":32
* from .serverImageViewer import ServerImageViewer
* from .vplayer import VPlayer
* from .form import InputBox, Form, StrSearchForm # <<<<<<<<<<<<<<
* from .boxViewer import BoxViewer
* from .tree import Tree, TextTree
*/
__pyx_t_1 = PyList_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_InputBox);
__Pyx_GIVEREF(__pyx_n_s_InputBox);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_InputBox);
__Pyx_INCREF(__pyx_n_s_Form);
__Pyx_GIVEREF(__pyx_n_s_Form);
PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_Form);
__Pyx_INCREF(__pyx_n_s_StrSearchForm);
__Pyx_GIVEREF(__pyx_n_s_StrSearchForm);
PyList_SET_ITEM(__pyx_t_1, 2, __pyx_n_s_StrSearchForm);
__pyx_t_2 = __Pyx_Import(__pyx_n_s_form, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 32, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_InputBox); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_InputBox, __pyx_t_1) < 0) __PYX_ERR(0, 32, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Form); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Form, __pyx_t_1) < 0) __PYX_ERR(0, 32, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_StrSearchForm); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 32, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_StrSearchForm, __pyx_t_1) < 0) __PYX_ERR(0, 32, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":33
* from .vplayer import VPlayer
* from .form import InputBox, Form, StrSearchForm
* from .boxViewer import BoxViewer # <<<<<<<<<<<<<<
* from .tree import Tree, TextTree
* from .newvideo import Video
*/
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_BoxViewer);
__Pyx_GIVEREF(__pyx_n_s_BoxViewer);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_BoxViewer);
__pyx_t_1 = __Pyx_Import(__pyx_n_s_boxViewer, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 33, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_BoxViewer); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 33, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_BoxViewer, __pyx_t_2) < 0) __PYX_ERR(0, 33, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":34
* from .form import InputBox, Form, StrSearchForm
* from .boxViewer import BoxViewer
* from .tree import Tree, TextTree # <<<<<<<<<<<<<<
* from .newvideo import Video
* from .bgcolorbehavior import BGColorBehavior
*/
__pyx_t_1 = PyList_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_Tree);
__Pyx_GIVEREF(__pyx_n_s_Tree);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_Tree);
__Pyx_INCREF(__pyx_n_s_TextTree);
__Pyx_GIVEREF(__pyx_n_s_TextTree);
PyList_SET_ITEM(__pyx_t_1, 1, __pyx_n_s_TextTree);
__pyx_t_2 = __Pyx_Import(__pyx_n_s_tree, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 34, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_Tree); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Tree, __pyx_t_1) < 0) __PYX_ERR(0, 34, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_TextTree); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 34, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_TextTree, __pyx_t_1) < 0) __PYX_ERR(0, 34, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":35
* from .boxViewer import BoxViewer
* from .tree import Tree, TextTree
* from .newvideo import Video # <<<<<<<<<<<<<<
* from .bgcolorbehavior import BGColorBehavior
* from .orientationlayout import OrientationLayout
*/
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_Video);
__Pyx_GIVEREF(__pyx_n_s_Video);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_Video);
__pyx_t_1 = __Pyx_Import(__pyx_n_s_newvideo, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 35, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_Video); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 35, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Video, __pyx_t_2) < 0) __PYX_ERR(0, 35, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":36
* from .tree import Tree, TextTree
* from .newvideo import Video
* from .bgcolorbehavior import BGColorBehavior # <<<<<<<<<<<<<<
* from .orientationlayout import OrientationLayout
* from .threadcall import HttpClient
*/
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_BGColorBehavior);
__Pyx_GIVEREF(__pyx_n_s_BGColorBehavior);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_BGColorBehavior);
__pyx_t_2 = __Pyx_Import(__pyx_n_s_bgcolorbehavior, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 36, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_BGColorBehavior); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 36, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_BGColorBehavior, __pyx_t_1) < 0) __PYX_ERR(0, 36, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":37
* from .newvideo import Video
* from .bgcolorbehavior import BGColorBehavior
* from .orientationlayout import OrientationLayout # <<<<<<<<<<<<<<
* from .threadcall import HttpClient
* from .register import *
*/
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s_OrientationLayout);
__Pyx_GIVEREF(__pyx_n_s_OrientationLayout);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_OrientationLayout);
__pyx_t_1 = __Pyx_Import(__pyx_n_s_orientationlayout, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 37, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__pyx_t_2 = __Pyx_ImportFrom(__pyx_t_1, __pyx_n_s_OrientationLayout); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 37, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_OrientationLayout, __pyx_t_2) < 0) __PYX_ERR(0, 37, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":38
* from .bgcolorbehavior import BGColorBehavior
* from .orientationlayout import OrientationLayout
* from .threadcall import HttpClient # <<<<<<<<<<<<<<
* from .register import *
*
*/
__pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_HttpClient);
__Pyx_GIVEREF(__pyx_n_s_HttpClient);
PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_HttpClient);
__pyx_t_2 = __Pyx_Import(__pyx_n_s_threadcall, __pyx_t_1, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_HttpClient); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_HttpClient, __pyx_t_1) < 0) __PYX_ERR(0, 38, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":39
* from .orientationlayout import OrientationLayout
* from .threadcall import HttpClient
* from .register import * # <<<<<<<<<<<<<<
*
* class WidgetNotFoundById(Exception):
*/
__pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 39, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_INCREF(__pyx_n_s__28);
__Pyx_GIVEREF(__pyx_n_s__28);
PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s__28);
__pyx_t_1 = __Pyx_Import(__pyx_n_s_register, __pyx_t_2, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 39, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
if (__pyx_import_star(__pyx_t_1) < 0) __PYX_ERR(0, 39, __pyx_L1_error);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":41
* from .register import *
*
* class WidgetNotFoundById(Exception): # <<<<<<<<<<<<<<
* def __init__(self, id):
* super().__init__()
*/
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
__Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
__pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_WidgetNotFoundById, __pyx_n_s_WidgetNotFoundById, (PyObject *) NULL, __pyx_n_s_kivyblocks_blocks, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
/* "kivyblocks/blocks.pyx":42
*
* class WidgetNotFoundById(Exception):
* def __init__(self, id): # <<<<<<<<<<<<<<
* super().__init__()
* self.idstr = id
*/
__pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_18WidgetNotFoundById_1__init__, 0, __pyx_n_s_WidgetNotFoundById___init, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__30)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 42, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_5);
PyList_Append(__pyx_t_4, __pyx_t_5);
__Pyx_GIVEREF(__pyx_t_5);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_init, __pyx_t_5) < 0) __PYX_ERR(0, 42, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":46
* self.idstr = id
*
* def __str__(self): # <<<<<<<<<<<<<<
* return "Widget not found by id:" + self.idstr + ':'
*
*/
__pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_18WidgetNotFoundById_3__str__, 0, __pyx_n_s_WidgetNotFoundById___str, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__32)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 46, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_str, __pyx_t_5) < 0) __PYX_ERR(0, 46, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":49
* return "Widget not found by id:" + self.idstr + ':'
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return str(self)
*
*/
__pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_18WidgetNotFoundById_5__expr__, 0, __pyx_n_s_WidgetNotFoundById___expr, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__34)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 49, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_expr, __pyx_t_5) < 0) __PYX_ERR(0, 49, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":41
* from .register import *
*
* class WidgetNotFoundById(Exception): # <<<<<<<<<<<<<<
* def __init__(self, id):
* super().__init__()
*/
__pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_WidgetNotFoundById, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__Pyx_CyFunction_InitClassCell(__pyx_t_4, __pyx_t_5) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_WidgetNotFoundById, __pyx_t_5) < 0) __PYX_ERR(0, 41, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":52
* return str(self)
*
* class ClassMethodNotFound(Exception): # <<<<<<<<<<<<<<
* def __init__(self,k,m):
* super().__init__()
*/
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 52, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
__Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
__pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 52, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_ClassMethodNotFound, __pyx_n_s_ClassMethodNotFound, (PyObject *) NULL, __pyx_n_s_kivyblocks_blocks, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 52, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 52, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
/* "kivyblocks/blocks.pyx":53
*
* class ClassMethodNotFound(Exception):
* def __init__(self,k,m): # <<<<<<<<<<<<<<
* super().__init__()
* self.kname = k
*/
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_19ClassMethodNotFound_1__init__, 0, __pyx_n_s_ClassMethodNotFound___init, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__36)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 53, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_t_4);
PyList_Append(__pyx_t_5, __pyx_t_4);
__Pyx_GIVEREF(__pyx_t_4);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_init, __pyx_t_4) < 0) __PYX_ERR(0, 53, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":58
* self.mname = m
*
* def __str__(self): # <<<<<<<<<<<<<<
* s = 'Method(%s) not found in class(%s)' % (self.mname,
* str(self.kname.__classname__))
*/
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_19ClassMethodNotFound_3__str__, 0, __pyx_n_s_ClassMethodNotFound___str, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__38)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 58, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_str, __pyx_t_4) < 0) __PYX_ERR(0, 58, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":63
* return s
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return self.__str__()
*
*/
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_19ClassMethodNotFound_5__expr__, 0, __pyx_n_s_ClassMethodNotFound___expr, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__40)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 63, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_expr, __pyx_t_4) < 0) __PYX_ERR(0, 63, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":52
* return str(self)
*
* class ClassMethodNotFound(Exception): # <<<<<<<<<<<<<<
* def __init__(self,k,m):
* super().__init__()
*/
__pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_ClassMethodNotFound, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 52, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__Pyx_CyFunction_InitClassCell(__pyx_t_5, __pyx_t_4) < 0) __PYX_ERR(0, 52, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ClassMethodNotFound, __pyx_t_4) < 0) __PYX_ERR(0, 52, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":67
*
*
* class NotExistsObject(Exception): # <<<<<<<<<<<<<<
* def __init__(self,name):
* super().__init__()
*/
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 67, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
__Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
__pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 67, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_NotExistsObject, __pyx_n_s_NotExistsObject, (PyObject *) NULL, __pyx_n_s_kivyblocks_blocks, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 67, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 67, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
/* "kivyblocks/blocks.pyx":68
*
* class NotExistsObject(Exception):
* def __init__(self,name): # <<<<<<<<<<<<<<
* super().__init__()
* self.name = name
*/
__pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_15NotExistsObject_1__init__, 0, __pyx_n_s_NotExistsObject___init, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__42)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 68, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_INCREF(__pyx_t_5);
PyList_Append(__pyx_t_4, __pyx_t_5);
__Pyx_GIVEREF(__pyx_t_5);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_init, __pyx_t_5) < 0) __PYX_ERR(0, 68, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":72
* self.name = name
*
* def __str__(self): # <<<<<<<<<<<<<<
* s = 'not exists widget(%s)' % self.name
* return s
*/
__pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_15NotExistsObject_3__str__, 0, __pyx_n_s_NotExistsObject___str, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__44)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 72, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_str, __pyx_t_5) < 0) __PYX_ERR(0, 72, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":76
* return s
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return self.__str__()
*
*/
__pyx_t_5 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_15NotExistsObject_5__expr__, 0, __pyx_n_s_NotExistsObject___expr, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__46)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 76, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_expr, __pyx_t_5) < 0) __PYX_ERR(0, 76, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
/* "kivyblocks/blocks.pyx":67
*
*
* class NotExistsObject(Exception): # <<<<<<<<<<<<<<
* def __init__(self,name):
* super().__init__()
*/
__pyx_t_5 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_NotExistsObject, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 67, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (__Pyx_CyFunction_InitClassCell(__pyx_t_4, __pyx_t_5) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_NotExistsObject, __pyx_t_5) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":79
* return self.__str__()
*
* class ArgumentError(Exception): # <<<<<<<<<<<<<<
* def __init__(self,argument,desc):
* super().__init__()
*/
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 79, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
__Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
__pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 79, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_ArgumentError, __pyx_n_s_ArgumentError, (PyObject *) NULL, __pyx_n_s_kivyblocks_blocks, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 79, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 79, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
/* "kivyblocks/blocks.pyx":80
*
* class ArgumentError(Exception):
* def __init__(self,argument,desc): # <<<<<<<<<<<<<<
* super().__init__()
* self.argument = argument
*/
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_13ArgumentError_1__init__, 0, __pyx_n_s_ArgumentError___init, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__48)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 80, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_INCREF(__pyx_t_4);
PyList_Append(__pyx_t_5, __pyx_t_4);
__Pyx_GIVEREF(__pyx_t_4);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_init, __pyx_t_4) < 0) __PYX_ERR(0, 80, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":85
* self.desc = desc
*
* def __str__(self): # <<<<<<<<<<<<<<
* s = 'argument(%s) missed:%s' % (self.argument,self.desc)
* return s
*/
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_13ArgumentError_3__str__, 0, __pyx_n_s_ArgumentError___str, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__50)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 85, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_str, __pyx_t_4) < 0) __PYX_ERR(0, 85, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":89
* return s
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return self.__str__()
*
*/
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_13ArgumentError_5__expr__, 0, __pyx_n_s_ArgumentError___expr, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__52)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 89, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_expr, __pyx_t_4) < 0) __PYX_ERR(0, 89, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":79
* return self.__str__()
*
* class ArgumentError(Exception): # <<<<<<<<<<<<<<
* def __init__(self,argument,desc):
* super().__init__()
*/
__pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_ArgumentError, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 79, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__Pyx_CyFunction_InitClassCell(__pyx_t_5, __pyx_t_4) < 0) __PYX_ERR(0, 79, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_ArgumentError, __pyx_t_4) < 0) __PYX_ERR(0, 79, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":93
*
*
* class NotRegistedWidget(Exception): # <<<<<<<<<<<<<<
* def __init__(self, name:str):
* super().__init__()
*/
__pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 93, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
__Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
PyTuple_SET_ITEM(__pyx_t_1, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0])));
__pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 93, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_1, __pyx_n_s_NotRegistedWidget, __pyx_n_s_NotRegistedWidget, (PyObject *) NULL, __pyx_n_s_kivyblocks_blocks, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 93, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__pyx_t_4 = PyList_New(0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 93, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
/* "kivyblocks/blocks.pyx":94
*
* class NotRegistedWidget(Exception):
* def __init__(self, name:str): # <<<<<<<<<<<<<<
* super().__init__()
* self.widget_name = name
*/
__pyx_t_5 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 94, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
if (PyDict_SetItem(__pyx_t_5, __pyx_n_s_name, __pyx_n_u_str_2) < 0) __PYX_ERR(0, 94, __pyx_L1_error)
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_17NotRegistedWidget_1__init__, 0, __pyx_n_s_NotRegistedWidget___init, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__54)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 94, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_INCREF(__pyx_t_6);
PyList_Append(__pyx_t_4, __pyx_t_6);
__Pyx_GIVEREF(__pyx_t_6);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_5);
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_init, __pyx_t_6) < 0) __PYX_ERR(0, 94, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":98
* self.widget_name = name
*
* def __str__(self): # <<<<<<<<<<<<<<
* s = 'not reigsted widget(%s)' % self.name
* return s
*/
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_17NotRegistedWidget_3__str__, 0, __pyx_n_s_NotRegistedWidget___str, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__56)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 98, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_str, __pyx_t_6) < 0) __PYX_ERR(0, 98, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":102
* return s
*
* def __expr__(self): # <<<<<<<<<<<<<<
* return self.__str__()
*
*/
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_17NotRegistedWidget_5__expr__, 0, __pyx_n_s_NotRegistedWidget___expr, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__58)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 102, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_expr, __pyx_t_6) < 0) __PYX_ERR(0, 102, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":93
*
*
* class NotRegistedWidget(Exception): # <<<<<<<<<<<<<<
* def __init__(self, name:str):
* super().__init__()
*/
__pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_NotRegistedWidget, __pyx_t_1, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 93, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__Pyx_CyFunction_InitClassCell(__pyx_t_4, __pyx_t_6) < 0) __PYX_ERR(0, 93, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (PyDict_SetItem(__pyx_d, __pyx_n_s_NotRegistedWidget, __pyx_t_6) < 0) __PYX_ERR(0, 93, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":105
* return self.__str__()
*
* def registerWidget(name:str,widget): # <<<<<<<<<<<<<<
* globals()[name] = widget
*
*/
__pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_10kivyblocks_6blocks_1registerWidget, NULL, __pyx_n_s_kivyblocks_blocks); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 105, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_registerWidget, __pyx_t_1) < 0) __PYX_ERR(0, 105, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
/* "kivyblocks/blocks.pyx":109
*
*
* class Blocks(EventDispatcher): # <<<<<<<<<<<<<<
* def __init__(self):
* EventDispatcher.__init__(self)
*/
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_EventDispatcher); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 109, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 109, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_GIVEREF(__pyx_t_1);
PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_t_1);
__pyx_t_1 = 0;
__pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 109, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__pyx_t_3 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_2, __pyx_n_s_Blocks, __pyx_n_s_Blocks, (PyObject *) NULL, __pyx_n_s_kivyblocks_blocks, (PyObject *) NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 109, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
/* "kivyblocks/blocks.pyx":110
*
* class Blocks(EventDispatcher):
* def __init__(self): # <<<<<<<<<<<<<<
* EventDispatcher.__init__(self)
* self.action_id = 0
*/
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_1__init__, 0, __pyx_n_s_Blocks___init, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__62)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 110, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_init, __pyx_t_6) < 0) __PYX_ERR(0, 110, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":117
* self.env = GlobalEnv()
*
* def set(self, k:str, v): # <<<<<<<<<<<<<<
* self.env[k] = v
*
*/
__pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 117, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_k, __pyx_n_u_str_2) < 0) __PYX_ERR(0, 117, __pyx_L1_error)
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_3set, 0, __pyx_n_s_Blocks_set, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__64)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 117, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_set, __pyx_t_4) < 0) __PYX_ERR(0, 117, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":120
* self.env[k] = v
*
* def register_widget(self, name:str, widget:Widget): # <<<<<<<<<<<<<<
* globals()[name] = widget
*
*/
__pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_name, __pyx_n_u_str_2) < 0) __PYX_ERR(0, 120, __pyx_L1_error)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Widget); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_widget, __pyx_t_6) < 0) __PYX_ERR(0, 120, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_5register_widget, 0, __pyx_n_s_Blocks_register_widget, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__66)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 120, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_register_widget, __pyx_t_6) < 0) __PYX_ERR(0, 120, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":123
* globals()[name] = widget
*
* def buildAction(self, widget:Widget, desc): # <<<<<<<<<<<<<<
* conform_desc = desc.get('conform')
* blocks = Blocks()
*/
__pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Widget); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_widget, __pyx_t_4) < 0) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_7buildAction, 0, __pyx_n_s_Blocks_buildAction, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__68)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_buildAction, __pyx_t_4) < 0) __PYX_ERR(0, 123, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":131
* return func
*
* def eval(self, s:str, l:dict): # <<<<<<<<<<<<<<
* g = {}
* forbidens = [
*/
__pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 131, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_s, __pyx_n_u_str_2) < 0) __PYX_ERR(0, 131, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_l, __pyx_n_u_dict) < 0) __PYX_ERR(0, 131, __pyx_L1_error)
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_9eval, 0, __pyx_n_s_Blocks_eval, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__70)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 131, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_eval, __pyx_t_6) < 0) __PYX_ERR(0, 131, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":153
* return eval(s,g,l)
*
* def getUrlData(self, url:str, method:str='GET', # <<<<<<<<<<<<<<
* params:dict={}, files:dict={},
* callback=None,
*/
__pyx_t_6 = __Pyx_PyDict_NewPresized(4); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 153, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_url, __pyx_n_u_str_2) < 0) __PYX_ERR(0, 153, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_method, __pyx_n_u_str_2) < 0) __PYX_ERR(0, 153, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_params, __pyx_n_u_dict) < 0) __PYX_ERR(0, 153, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_files, __pyx_n_u_dict) < 0) __PYX_ERR(0, 153, __pyx_L1_error)
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_11getUrlData, 0, __pyx_n_s_Blocks_getUrlData, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__72)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 153, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (!__Pyx_CyFunction_InitDefaults(__pyx_t_4, sizeof(__pyx_defaults), 2)) __PYX_ERR(0, 153, __pyx_L1_error)
/* "kivyblocks/blocks.pyx":154
*
* def getUrlData(self, url:str, method:str='GET',
* params:dict={}, files:dict={}, # <<<<<<<<<<<<<<
* callback=None,
* errback=None,**kw):
*/
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_t_4)->__pyx_arg_params = ((PyObject*)__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_5);
__pyx_t_5 = 0;
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 154, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_CyFunction_Defaults(__pyx_defaults, __pyx_t_4)->__pyx_arg_files = ((PyObject*)__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_5);
__pyx_t_5 = 0;
__Pyx_CyFunction_SetDefaultsGetter(__pyx_t_4, __pyx_pf_10kivyblocks_6blocks_2__defaults__);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_getUrlData, __pyx_t_4) < 0) __PYX_ERR(0, 153, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":189
* **kw)
*
* def strValueExpr(self,s:str,localnamespace:dict={}): # <<<<<<<<<<<<<<
* if not s.startswith('py::'):
* return s
*/
__pyx_t_4 = __Pyx_PyDict_NewPresized(2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 189, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_s, __pyx_n_u_str_2) < 0) __PYX_ERR(0, 189, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_localnamespace, __pyx_n_u_dict) < 0) __PYX_ERR(0, 189, __pyx_L1_error)
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_13strValueExpr, 0, __pyx_n_s_Blocks_strValueExpr, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__74)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 189, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (!__Pyx_CyFunction_InitDefaults(__pyx_t_6, sizeof(__pyx_defaults1), 1)) __PYX_ERR(0, 189, __pyx_L1_error)
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 189, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_CyFunction_Defaults(__pyx_defaults1, __pyx_t_6)->__pyx_arg_localnamespace = ((PyObject*)__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_5);
__pyx_t_5 = 0;
__Pyx_CyFunction_SetDefaultsGetter(__pyx_t_6, __pyx_pf_10kivyblocks_6blocks_4__defaults__);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_strValueExpr, __pyx_t_6) < 0) __PYX_ERR(0, 189, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":201
* return s
*
* def arrayValueExpr(self,arr:list,localnamespace:dict={}) -> list: # <<<<<<<<<<<<<<
* d = []
* for v in arr:
*/
__pyx_t_6 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 201, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_arr, __pyx_n_u_list) < 0) __PYX_ERR(0, 201, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_localnamespace, __pyx_n_u_dict) < 0) __PYX_ERR(0, 201, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_return, __pyx_n_u_list) < 0) __PYX_ERR(0, 201, __pyx_L1_error)
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_15arrayValueExpr, 0, __pyx_n_s_Blocks_arrayValueExpr, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__76)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 201, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (!__Pyx_CyFunction_InitDefaults(__pyx_t_4, sizeof(__pyx_defaults2), 1)) __PYX_ERR(0, 201, __pyx_L1_error)
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 201, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_CyFunction_Defaults(__pyx_defaults2, __pyx_t_4)->__pyx_arg_localnamespace = ((PyObject*)__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_5);
__pyx_t_5 = 0;
__Pyx_CyFunction_SetDefaultsGetter(__pyx_t_4, __pyx_pf_10kivyblocks_6blocks_6__defaults__);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_arrayValueExpr, __pyx_t_4) < 0) __PYX_ERR(0, 201, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":219
* return d
*
* def dictValueExpr(self,dic:dict,localnamespace:dict={}) -> dict: # <<<<<<<<<<<<<<
* d = {}
* for k,v in dic.items():
*/
__pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 219, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_dic, __pyx_n_u_dict) < 0) __PYX_ERR(0, 219, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_localnamespace, __pyx_n_u_dict) < 0) __PYX_ERR(0, 219, __pyx_L1_error)
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_return, __pyx_n_u_dict) < 0) __PYX_ERR(0, 219, __pyx_L1_error)
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_17dictValueExpr, 0, __pyx_n_s_Blocks_dictValueExpr, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__78)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 219, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (!__Pyx_CyFunction_InitDefaults(__pyx_t_6, sizeof(__pyx_defaults3), 1)) __PYX_ERR(0, 219, __pyx_L1_error)
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 219, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_CyFunction_Defaults(__pyx_defaults3, __pyx_t_6)->__pyx_arg_localnamespace = ((PyObject*)__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_5);
__pyx_t_5 = 0;
__Pyx_CyFunction_SetDefaultsGetter(__pyx_t_6, __pyx_pf_10kivyblocks_6blocks_8__defaults__);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_dictValueExpr, __pyx_t_6) < 0) __PYX_ERR(0, 219, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":236
* d[k] = v
* return d
* def valueExpr(self,obj,localnamespace:dict={}): # <<<<<<<<<<<<<<
* if type(obj) == type(''):
* return self.strValueExpr(obj,localnamespace)
*/
__pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 236, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_localnamespace, __pyx_n_u_dict) < 0) __PYX_ERR(0, 236, __pyx_L1_error)
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_19valueExpr, 0, __pyx_n_s_Blocks_valueExpr, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__80)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 236, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (!__Pyx_CyFunction_InitDefaults(__pyx_t_4, sizeof(__pyx_defaults4), 1)) __PYX_ERR(0, 236, __pyx_L1_error)
__pyx_t_5 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 236, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_5);
__Pyx_CyFunction_Defaults(__pyx_defaults4, __pyx_t_4)->__pyx_arg_localnamespace = ((PyObject*)__pyx_t_5);
__Pyx_GIVEREF(__pyx_t_5);
__pyx_t_5 = 0;
__Pyx_CyFunction_SetDefaultsGetter(__pyx_t_4, __pyx_pf_10kivyblocks_6blocks_10__defaults__);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_valueExpr, __pyx_t_4) < 0) __PYX_ERR(0, 236, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":247
* return obj
*
* def w_build(self,desc) -> Widget: # <<<<<<<<<<<<<<
* # print('w_build(),desc=',desc)
* widgetClass = desc.get('widgettype',None)
*/
__pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 247, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Widget); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 247, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_return, __pyx_t_6) < 0) __PYX_ERR(0, 247, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_21w_build, 0, __pyx_n_s_Blocks_w_build, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__82)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 247, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_w_build, __pyx_t_6) < 0) __PYX_ERR(0, 247, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":286
* return widget
*
* def build_attributes(self, widget:Widget,desc,t=None): # <<<<<<<<<<<<<<
* excludes = ['widgettype','options','subwidgets','binds']
* for k,v in [(k,v) for k,v in desc.items() if k not in excludes]:
*/
__pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 286, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Widget); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 286, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_widget, __pyx_t_4) < 0) __PYX_ERR(0, 286, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_23build_attributes, 0, __pyx_n_s_Blocks_build_attributes, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__84)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 286, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_tuple__85);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_build_attributes, __pyx_t_4) < 0) __PYX_ERR(0, 286, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":303
* localnamespace={'self':widget}))
*
* def build_rest(self, widget:Widget,desc,t=None): # <<<<<<<<<<<<<<
* self.subwidget_total = len(desc.get('subwidgets',[]))
* self.subwidgets = [ None for i in range(self.subwidget_total)]
*/
__pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 303, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Widget); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 303, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_widget, __pyx_t_6) < 0) __PYX_ERR(0, 303, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_25build_rest, 0, __pyx_n_s_Blocks_build_rest, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__87)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 303, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_tuple__88);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_build_rest, __pyx_t_6) < 0) __PYX_ERR(0, 303, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":319
* self.buildBind(widget,kw)
*
* def buildBind(self, widget:Widget, desc): # <<<<<<<<<<<<<<
* wid = desc.get('wid','self')
* w = Blocks.getWidgetById(desc.get('wid','self'),from_widget=widget)
*/
__pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 319, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Widget); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 319, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_widget, __pyx_t_4) < 0) __PYX_ERR(0, 319, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_27buildBind, 0, __pyx_n_s_Blocks_buildBind, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__90)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 319, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_buildBind, __pyx_t_4) < 0) __PYX_ERR(0, 319, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":336
* w.bind(**{event:f})
*
* def multipleAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* desc1 = {k:v for k, v in desc.items() if k != 'actions'}
* mydesc = desc1.copy()
*/
__pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 336, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Widget); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 336, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_widget, __pyx_t_6) < 0) __PYX_ERR(0, 336, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_29multipleAction, 0, __pyx_n_s_Blocks_multipleAction, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__92)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 336, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_multipleAction, __pyx_t_6) < 0) __PYX_ERR(0, 336, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":344
* self.uniaction(widget,new_desc, *args)
*
* def conform_action(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* conform_desc = desc.get('conform')
* blocks = Blocks()
*/
__pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 344, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Widget); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 344, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_widget, __pyx_t_4) < 0) __PYX_ERR(0, 344, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_31conform_action, 0, __pyx_n_s_Blocks_conform_action, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__94)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 344, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_conform_action, __pyx_t_4) < 0) __PYX_ERR(0, 344, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":357
* w.open()
*
* def uniaction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* acttype = desc.get('actiontype')
* if acttype=='blocks':
*/
__pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 357, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Widget); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 357, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_widget, __pyx_t_6) < 0) __PYX_ERR(0, 357, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_33uniaction, 0, __pyx_n_s_Blocks_uniaction, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__96)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 357, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_uniaction, __pyx_t_6) < 0) __PYX_ERR(0, 357, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":376
* alert("actiontype(%s) invalid" % acttype,title='error')
*
* def eventAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* event = desc.get('dispatch_event')
*/
__pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 376, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Widget); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 376, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_widget, __pyx_t_4) < 0) __PYX_ERR(0, 376, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_35eventAction, 0, __pyx_n_s_Blocks_eventAction, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__98)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 376, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_eventAction, __pyx_t_4) < 0) __PYX_ERR(0, 376, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":394
* return
*
* def get_target(self, widget:Widget, desc): # <<<<<<<<<<<<<<
* if not desc.get('target'):
* return None
*/
__pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 394, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Widget); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 394, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_widget, __pyx_t_6) < 0) __PYX_ERR(0, 394, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_37get_target, 0, __pyx_n_s_Blocks_get_target, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__100)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 394, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_get_target, __pyx_t_6) < 0) __PYX_ERR(0, 394, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":399
* return Blocks.getWidgetById(desc.get('target'),from_widget=widget)
*
* def blocksAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace')
*/
__pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 399, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Widget); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 399, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_widget, __pyx_t_4) < 0) __PYX_ERR(0, 399, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_39blocksAction, 0, __pyx_n_s_Blocks_blocksAction, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__102)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 399, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_blocksAction, __pyx_t_4) < 0) __PYX_ERR(0, 399, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":427
* b.widgetBuild(opts)
*
* def urlwidgetAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* add_mode = desc.get('mode','replace')
*/
__pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 427, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Widget); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 427, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_widget, __pyx_t_6) < 0) __PYX_ERR(0, 427, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_41urlwidgetAction, 0, __pyx_n_s_Blocks_urlwidgetAction, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__104)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 427, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_urlwidgetAction, __pyx_t_6) < 0) __PYX_ERR(0, 427, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":461
* b.widgetBuild(d)
*
* def getActionData(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* Logger.info('Block: getActionData(): desc=%s args=%s'
* ,str(desc), args)
*/
__pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 461, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Widget); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 461, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_widget, __pyx_t_4) < 0) __PYX_ERR(0, 461, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_43getActionData, 0, __pyx_n_s_Blocks_getActionData, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__106)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 461, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_getActionData, __pyx_t_4) < 0) __PYX_ERR(0, 461, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":475
* return data
*
* def registedfunctionAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* target = self.get_target(widget, desc)
* rf = RegisterFunction()
*/
__pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 475, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Widget); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 475, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_widget, __pyx_t_6) < 0) __PYX_ERR(0, 475, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_45registedfunctionAction, 0, __pyx_n_s_Blocks_registedfunctionAction, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__108)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 475, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_registedfunctionAction, __pyx_t_6) < 0) __PYX_ERR(0, 475, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":491
* func(target, *args, **params)
*
* def scriptAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* script = desc.get('script')
* if not script:
*/
__pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 491, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Widget); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 491, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_widget, __pyx_t_4) < 0) __PYX_ERR(0, 491, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_47scriptAction, 0, __pyx_n_s_Blocks_scriptAction, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__110)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 491, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_scriptAction, __pyx_t_4) < 0) __PYX_ERR(0, 491, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":512
* print(e)
*
* def build_rtdesc(self, desc): # <<<<<<<<<<<<<<
* rtdesc = desc.get('rtdata')
* if not rtdesc:
*/
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_49build_rtdesc, 0, __pyx_n_s_Blocks_build_rtdesc, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__112)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 512, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_build_rtdesc, __pyx_t_4) < 0) __PYX_ERR(0, 512, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":525
* return rtdesc
*
* def get_rtdata(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* """
* desc descript follow attributes
*/
__pyx_t_4 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 525, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Widget); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 525, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_widget, __pyx_t_6) < 0) __PYX_ERR(0, 525, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_51get_rtdata, 0, __pyx_n_s_Blocks_get_rtdata, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__114)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 525, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_get_rtdata, __pyx_t_6) < 0) __PYX_ERR(0, 525, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
/* "kivyblocks/blocks.pyx":578
* return {}
*
* def methodAction(self, widget:Widget, desc, *args): # <<<<<<<<<<<<<<
* method = desc.get('method')
* target = self.get_target(widget, desc)
*/
__pyx_t_6 = __Pyx_PyDict_NewPresized(1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_Widget); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_t_6, __pyx_n_s_widget, __pyx_t_4) < 0) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_53methodAction, 0, __pyx_n_s_Blocks_methodAction, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__116)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_4, __pyx_t_6);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_methodAction, __pyx_t_4) < 0) __PYX_ERR(0, 578, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":599
* alert('%s method not found' % method)
*
* def widgetBuild(self, desc): # <<<<<<<<<<<<<<
* """
* desc format:
*/
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_55widgetBuild, 0, __pyx_n_s_Blocks_widgetBuild, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__118)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 599, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_widgetBuild, __pyx_t_4) < 0) __PYX_ERR(0, 599, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":678
*
* @classmethod
* def getWidgetById(self, id:str, from_widget:Widget=None) -> Widget: # <<<<<<<<<<<<<<
* def find_widget_by_id(id, from_widget):
* if id=='self':
*/
__pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 678, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_id, __pyx_n_u_str_2) < 0) __PYX_ERR(0, 678, __pyx_L1_error)
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Widget); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 678, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_from_widget, __pyx_t_6) < 0) __PYX_ERR(0, 678, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_Widget); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 678, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_return, __pyx_t_6) < 0) __PYX_ERR(0, 678, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
__pyx_t_6 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_57getWidgetById, __Pyx_CYFUNCTION_CLASSMETHOD, __pyx_n_s_Blocks_getWidgetById, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__120)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 678, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_6);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_6, __pyx_tuple__121);
__Pyx_CyFunction_SetAnnotationsDict(__pyx_t_6, __pyx_t_4);
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":677
* return doit(desc)
*
* @classmethod # <<<<<<<<<<<<<<
* def getWidgetById(self, id:str, from_widget:Widget=None) -> Widget:
* def find_widget_by_id(id, from_widget):
*/
__pyx_t_4 = __Pyx_Method_ClassMethod(__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 677, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_getWidgetById, __pyx_t_4) < 0) __PYX_ERR(0, 678, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":742
* return w
*
* def on_built(self,v=None): # <<<<<<<<<<<<<<
* return
*
*/
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_59on_built, 0, __pyx_n_s_Blocks_on_built, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__123)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 742, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_tuple__124);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_on_built, __pyx_t_4) < 0) __PYX_ERR(0, 742, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":745
* return
*
* def on_failed(self,e=None): # <<<<<<<<<<<<<<
* return
*
*/
__pyx_t_4 = __Pyx_CyFunction_New(&__pyx_mdef_10kivyblocks_6blocks_6Blocks_61on_failed, 0, __pyx_n_s_Blocks_on_failed, NULL, __pyx_n_s_kivyblocks_blocks, __pyx_d, ((PyObject *)__pyx_codeobj__126)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 745, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
__Pyx_CyFunction_SetDefaultsTuple(__pyx_t_4, __pyx_tuple__127);
if (__Pyx_SetNameInClass(__pyx_t_3, __pyx_n_s_on_failed, __pyx_t_4) < 0) __PYX_ERR(0, 745, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
/* "kivyblocks/blocks.pyx":109
*
*
* class Blocks(EventDispatcher): # <<<<<<<<<<<<<<
* def __init__(self):
* EventDispatcher.__init__(self)
*/
__pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_Blocks, __pyx_t_2, __pyx_t_3, NULL, 0, 1); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 109, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_4);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_Blocks, __pyx_t_4) < 0) __PYX_ERR(0, 109, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":748
* return
*
* Factory.register('Blocks',Blocks) # <<<<<<<<<<<<<<
* Factory.register('Video',Video)
* Factory.register('OrientationLayout', OrientationLayout)
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Factory); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 748, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_register); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 748, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Blocks); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 748, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 748, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_s_Blocks);
__Pyx_GIVEREF(__pyx_n_s_Blocks);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_Blocks);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 748, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":749
*
* Factory.register('Blocks',Blocks)
* Factory.register('Video',Video) # <<<<<<<<<<<<<<
* Factory.register('OrientationLayout', OrientationLayout)
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Factory); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 749, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_register); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 749, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Video); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 749, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 749, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_INCREF(__pyx_n_s_Video);
__Pyx_GIVEREF(__pyx_n_s_Video);
PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_Video);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_t_2);
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_1, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 749, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":750
* Factory.register('Blocks',Blocks)
* Factory.register('Video',Video)
* Factory.register('OrientationLayout', OrientationLayout) # <<<<<<<<<<<<<<
*/
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_Factory); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 750, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_register); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 750, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_1);
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_OrientationLayout); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 750, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 750, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_3);
__Pyx_INCREF(__pyx_n_s_OrientationLayout);
__Pyx_GIVEREF(__pyx_n_s_OrientationLayout);
PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_n_s_OrientationLayout);
__Pyx_GIVEREF(__pyx_t_2);
PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_2);
__pyx_t_2 = 0;
__pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 750, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/* "kivyblocks/blocks.pyx":1
* import os # <<<<<<<<<<<<<<
* import sys
* import codecs
*/
__pyx_t_2 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1, __pyx_L1_error)
__Pyx_GOTREF(__pyx_t_2);
if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_2) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
/*--- Wrapped vars code ---*/
goto __pyx_L0;
__pyx_L1_error:;
__Pyx_XDECREF(__pyx_t_1);
__Pyx_XDECREF(__pyx_t_2);
__Pyx_XDECREF(__pyx_t_3);
__Pyx_XDECREF(__pyx_t_4);
__Pyx_XDECREF(__pyx_t_5);
__Pyx_XDECREF(__pyx_t_6);
if (__pyx_m) {
if (__pyx_d) {
__Pyx_AddTraceback("init kivyblocks.blocks", __pyx_clineno, __pyx_lineno, __pyx_filename);
}
Py_CLEAR(__pyx_m);
} else if (!PyErr_Occurred()) {
PyErr_SetString(PyExc_ImportError, "init kivyblocks.blocks");
}
__pyx_L0:;
__Pyx_RefNannyFinishContext();
#if CYTHON_PEP489_MULTI_PHASE_INIT
return (__pyx_m != NULL) ? 0 : -1;
#elif PY_MAJOR_VERSION >= 3
return __pyx_m;
#else
return;
#endif
}
/* --- Runtime support code --- */
/* Refnanny */
#if CYTHON_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;
}
#endif
/* PyObjectGetAttrStr */
#if CYTHON_USE_TYPE_SLOTS
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 PY_MAJOR_VERSION < 3
if (likely(tp->tp_getattr))
return tp->tp_getattr(obj, PyString_AS_STRING(attr_name));
#endif
return PyObject_GetAttr(obj, attr_name);
}
#endif
/* GetBuiltinName */
static PyObject *__Pyx_GetBuiltinName(PyObject *name) {
PyObject* result = __Pyx_PyObject_GetAttrStr(__pyx_b, name);
if (unlikely(!result)) {
PyErr_Format(PyExc_NameError,
#if PY_MAJOR_VERSION >= 3
"name '%U' is not defined", name);
#else
"name '%.200s' is not defined", PyString_AS_STRING(name));
#endif
}
return result;
}
/* 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,
#if PY_MAJOR_VERSION >= 3
"%s() got multiple values for keyword argument '%U'", func_name, kw_name);
#else
"%s() got multiple values for keyword argument '%s'", func_name,
PyString_AsString(kw_name));
#endif
}
/* ParseKeywords */
static int __Pyx_ParseOptionalKeywords(
PyObject *kwds,
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;
while (PyDict_Next(kwds, &pos, &key, &value)) {
name = first_kw_arg;
while (*name && (**name != key)) name++;
if (*name) {
values[name-argnames] = value;
continue;
}
name = first_kw_arg;
#if PY_MAJOR_VERSION < 3
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
#endif
if (likely(PyUnicode_Check(key))) {
while (*name) {
int cmp = (**name == key) ? 0 :
#if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
(__Pyx_PyUnicode_GET_LENGTH(**name) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
#endif
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 :
#if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION >= 3
(__Pyx_PyUnicode_GET_LENGTH(**argname) != __Pyx_PyUnicode_GET_LENGTH(key)) ? 1 :
#endif
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,
#if PY_MAJOR_VERSION < 3
"%.200s() got an unexpected keyword argument '%.200s'",
function_name, PyString_AsString(key));
#else
"%s() got an unexpected keyword argument '%U'",
function_name, key);
#endif
bad:
return -1;
}
/* PyObjectCall */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_Call(PyObject *func, PyObject *arg, PyObject *kw) {
PyObject *result;
ternaryfunc call = func->ob_type->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;
}
#endif
/* PyFunctionFastCall */
#if CYTHON_FAST_PYCALL
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;
}
#if 1 || PY_VERSION_HEX < 0x030600B1
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;
#if PY_MAJOR_VERSION >= 3
PyObject *kwdefs;
#endif
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 (Py_EnterRecursiveCall((char*)" while calling a Python object")) {
return NULL;
}
if (
#if PY_MAJOR_VERSION >= 3
co->co_kwonlyargcount == 0 &&
#endif
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);
#if PY_MAJOR_VERSION >= 3
kwdefs = PyFunction_GET_KW_DEFAULTS(func);
#endif
if (argdefs != NULL) {
d = &PyTuple_GET_ITEM(argdefs, 0);
nd = Py_SIZE(argdefs);
}
else {
d = NULL;
nd = 0;
}
#if PY_MAJOR_VERSION >= 3
result = PyEval_EvalCodeEx((PyObject*)co, globals, (PyObject *)NULL,
args, (int)nargs,
k, (int)nk,
d, (int)nd, kwdefs, closure);
#else
result = PyEval_EvalCodeEx(co, globals, (PyObject *)NULL,
args, (int)nargs,
k, (int)nk,
d, (int)nd, closure);
#endif
Py_XDECREF(kwtuple);
done:
Py_LeaveRecursiveCall();
return result;
}
#endif
#endif
/* PyObjectCallMethO */
#if CYTHON_COMPILING_IN_CPYTHON
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;
}
#endif
/* PyObjectCallNoArg */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallNoArg(PyObject *func) {
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(func)) {
return __Pyx_PyFunction_FastCall(func, NULL, 0);
}
#endif
#ifdef __Pyx_CyFunction_USED
if (likely(PyCFunction_Check(func) || __Pyx_CyFunction_Check(func)))
#else
if (likely(PyCFunction_Check(func)))
#endif
{
if (likely(PyCFunction_GET_FLAGS(func) & METH_NOARGS)) {
return __Pyx_PyObject_CallMethO(func, NULL);
}
}
return __Pyx_PyObject_Call(func, __pyx_empty_tuple, NULL);
}
#endif
/* PyCFunctionFastCall */
#if CYTHON_FAST_PYCCALL
static CYTHON_INLINE PyObject * __Pyx_PyCFunction_FastCall(PyObject *func_obj, PyObject **args, Py_ssize_t nargs) {
PyCFunctionObject *func = (PyCFunctionObject*)func_obj;
PyCFunction meth = PyCFunction_GET_FUNCTION(func);
PyObject *self = PyCFunction_GET_SELF(func);
int flags = PyCFunction_GET_FLAGS(func);
assert(PyCFunction_Check(func));
assert(METH_FASTCALL == (flags & ~(METH_CLASS | METH_STATIC | METH_COEXIST | METH_KEYWORDS | METH_STACKLESS)));
assert(nargs >= 0);
assert(nargs == 0 || args != NULL);
/* _PyCFunction_FastCallDict() must not be called with an exception set,
because it may clear it (directly or indirectly) and so the
caller loses its exception */
assert(!PyErr_Occurred());
if ((PY_VERSION_HEX < 0x030700A0) || unlikely(flags & METH_KEYWORDS)) {
return (*((__Pyx_PyCFunctionFastWithKeywords)(void*)meth)) (self, args, nargs, NULL);
} else {
return (*((__Pyx_PyCFunctionFast)(void*)meth)) (self, args, nargs);
}
}
#endif
/* PyObjectCallOneArg */
#if CYTHON_COMPILING_IN_CPYTHON
static PyObject* __Pyx__PyObject_CallOneArg(PyObject *func, PyObject *arg) {
PyObject *result;
PyObject *args = PyTuple_New(1);
if (unlikely(!args)) return NULL;
Py_INCREF(arg);
PyTuple_SET_ITEM(args, 0, arg);
result = __Pyx_PyObject_Call(func, args, NULL);
Py_DECREF(args);
return result;
}
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(func)) {
return __Pyx_PyFunction_FastCall(func, &arg, 1);
}
#endif
if (likely(PyCFunction_Check(func))) {
if (likely(PyCFunction_GET_FLAGS(func) & METH_O)) {
return __Pyx_PyObject_CallMethO(func, arg);
#if CYTHON_FAST_PYCCALL
} else if (__Pyx_PyFastCFunction_Check(func)) {
return __Pyx_PyCFunction_FastCall(func, &arg, 1);
#endif
}
}
return __Pyx__PyObject_CallOneArg(func, arg);
}
#else
static CYTHON_INLINE PyObject* __Pyx_PyObject_CallOneArg(PyObject *func, PyObject *arg) {
PyObject *result;
PyObject *args = PyTuple_Pack(1, arg);
if (unlikely(!args)) return NULL;
result = __Pyx_PyObject_Call(func, args, NULL);
Py_DECREF(args);
return result;
}
#endif
/* PyObjectSetAttrStr */
#if CYTHON_USE_TYPE_SLOTS
static CYTHON_INLINE int __Pyx_PyObject_SetAttrStr(PyObject* obj, PyObject* attr_name, PyObject* value) {
PyTypeObject* tp = Py_TYPE(obj);
if (likely(tp->tp_setattro))
return tp->tp_setattro(obj, attr_name, value);
#if PY_MAJOR_VERSION < 3
if (likely(tp->tp_setattr))
return tp->tp_setattr(obj, PyString_AS_STRING(attr_name), value);
#endif
return PyObject_SetAttr(obj, attr_name, value);
}
#endif
/* ArgTypeTest */
static int __Pyx__ArgTypeTest(PyObject *obj, PyTypeObject *type, const char *name, int exact)
{
if (unlikely(!type)) {
PyErr_SetString(PyExc_SystemError, "Missing type object");
return 0;
}
else if (exact) {
#if PY_MAJOR_VERSION == 2
if ((type == &PyBaseString_Type) && likely(__Pyx_PyBaseString_CheckExact(obj))) return 1;
#endif
}
else {
if (likely(__Pyx_TypeCheck(obj, type))) return 1;
}
PyErr_Format(PyExc_TypeError,
"Argument '%.200s' has incorrect type (expected %.200s, got %.200s)",
name, type->tp_name, Py_TYPE(obj)->tp_name);
return 0;
}
/* GetAttr */
static CYTHON_INLINE PyObject *__Pyx_GetAttr(PyObject *o, PyObject *n) {
#if CYTHON_USE_TYPE_SLOTS
#if PY_MAJOR_VERSION >= 3
if (likely(PyUnicode_Check(n)))
#else
if (likely(PyString_Check(n)))
#endif
return __Pyx_PyObject_GetAttrStr(o, n);
#endif
return PyObject_GetAttr(o, n);
}
/* Globals */
static PyObject* __Pyx_Globals(void) {
Py_ssize_t i;
PyObject *names;
PyObject *globals = __pyx_d;
Py_INCREF(globals);
names = PyObject_Dir(__pyx_m);
if (!names)
goto bad;
for (i = PyList_GET_SIZE(names)-1; i >= 0; i--) {
#if CYTHON_COMPILING_IN_PYPY
PyObject* name = PySequence_ITEM(names, i);
if (!name)
goto bad;
#else
PyObject* name = PyList_GET_ITEM(names, i);
#endif
if (!PyDict_Contains(globals, name)) {
PyObject* value = __Pyx_GetAttr(__pyx_m, name);
if (!value) {
#if CYTHON_COMPILING_IN_PYPY
Py_DECREF(name);
#endif
goto bad;
}
if (PyDict_SetItem(globals, name, value) < 0) {
#if CYTHON_COMPILING_IN_PYPY
Py_DECREF(name);
#endif
Py_DECREF(value);
goto bad;
}
}
#if CYTHON_COMPILING_IN_PYPY
Py_DECREF(name);
#endif
}
Py_DECREF(names);
return globals;
bad:
Py_XDECREF(names);
Py_XDECREF(globals);
return NULL;
}
/* PyDictVersioning */
#if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_TYPE_SLOTS
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) {
#if CYTHON_COMPILING_IN_CPYTHON
dictptr = (likely(offset > 0)) ? (PyObject **) ((char *)obj + offset) : _PyObject_GetDictPtr(obj);
#else
dictptr = _PyObject_GetDictPtr(obj);
#endif
}
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);
}
#endif
/* GetModuleGlobalName */
#if CYTHON_USE_DICT_VERSIONS
static PyObject *__Pyx__GetModuleGlobalName(PyObject *name, PY_UINT64_T *dict_version, PyObject **dict_cached_value)
#else
static CYTHON_INLINE PyObject *__Pyx__GetModuleGlobalName(PyObject *name)
#endif
{
PyObject *result;
#if !CYTHON_AVOID_BORROWED_REFS
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030500A1
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;
}
#else
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);
}
#endif
#else
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();
#endif
return __Pyx_GetBuiltinName(name);
}
/* PyObjectCall2Args */
static CYTHON_UNUSED PyObject* __Pyx_PyObject_Call2Args(PyObject* function, PyObject* arg1, PyObject* arg2) {
PyObject *args, *result = NULL;
#if CYTHON_FAST_PYCALL
if (PyFunction_Check(function)) {
PyObject *args[2] = {arg1, arg2};
return __Pyx_PyFunction_FastCall(function, args, 2);
}
#endif
#if CYTHON_FAST_PYCCALL
if (__Pyx_PyFastCFunction_Check(function)) {
PyObject *args[2] = {arg1, arg2};
return __Pyx_PyCFunction_FastCall(function, args, 2);
}
#endif
args = PyTuple_New(2);
if (unlikely(!args)) goto done;
Py_INCREF(arg1);
PyTuple_SET_ITEM(args, 0, arg1);
Py_INCREF(arg2);
PyTuple_SET_ITEM(args, 1, arg2);
Py_INCREF(function);
result = __Pyx_PyObject_Call(function, args, NULL);
Py_DECREF(args);
Py_DECREF(function);
done:
return result;
}
/* 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);
}
/* 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");
}
/* IterFinish */
static CYTHON_INLINE int __Pyx_IterFinish(void) {
#if CYTHON_FAST_THREAD_STATE
PyThreadState *tstate = __Pyx_PyThreadState_Current;
PyObject* exc_type = tstate->curexc_type;
if (unlikely(exc_type)) {
if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) {
PyObject *exc_value, *exc_tb;
exc_value = tstate->curexc_value;
exc_tb = tstate->curexc_traceback;
tstate->curexc_type = 0;
tstate->curexc_value = 0;
tstate->curexc_traceback = 0;
Py_DECREF(exc_type);
Py_XDECREF(exc_value);
Py_XDECREF(exc_tb);
return 0;
} else {
return -1;
}
}
return 0;
#else
if (unlikely(PyErr_Occurred())) {
if (likely(PyErr_ExceptionMatches(PyExc_StopIteration))) {
PyErr_Clear();
return 0;
} else {
return -1;
}
}
return 0;
#endif
}
/* UnpackItemEndCheck */
static int __Pyx_IternextUnpackEndCheck(PyObject *retval, Py_ssize_t expected) {
if (unlikely(retval)) {
Py_DECREF(retval);
__Pyx_RaiseTooManyValuesError(expected);
return -1;
} else {
return __Pyx_IterFinish();
}
return 0;
}
/* UnpackUnboundCMethod */
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 CYTHON_COMPILING_IN_CPYTHON
#if PY_MAJOR_VERSION >= 3
if (likely(__Pyx_TypeCheck(method, &PyMethodDescr_Type)))
#endif
{
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);
}
#endif
return 0;
}
/* CallUnboundCMethod1 */
#if CYTHON_COMPILING_IN_CPYTHON
static CYTHON_INLINE PyObject* __Pyx_CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg) {
if (likely(cfunc->func)) {
int flag = cfunc->flag;
if (flag == METH_O) {
return (*(cfunc->func))(self, arg);
} else if (PY_VERSION_HEX >= 0x030600B1 && flag == METH_FASTCALL) {
if (PY_VERSION_HEX >= 0x030700A0) {
return (*(__Pyx_PyCFunctionFast)(void*)(PyCFunction)cfunc->func)(self, &arg, 1);
} else {
return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL);
}
} else if (PY_VERSION_HEX >= 0x030700A0 && flag == (METH_FASTCALL | METH_KEYWORDS)) {
return (*(__Pyx_PyCFunctionFastWithKeywords)(void*)(PyCFunction)cfunc->func)(self, &arg, 1, NULL);
}
}
return __Pyx__CallUnboundCMethod1(cfunc, self, arg);
}
#endif
static PyObject* __Pyx__CallUnboundCMethod1(__Pyx_CachedCFunction* cfunc, PyObject* self, PyObject* arg){
PyObject *args, *result = NULL;
if (unlikely(!cfunc->func && !cfunc->method) && unlikely(__Pyx_TryUnpackUnboundCMethod(cfunc) < 0)) return NULL;
#if CYTHON_COMPILING_IN_CPYTHON
if (cfunc->func && (cfunc->flag & METH_VARARGS)) {
args = PyTuple_New(1);
if (unlikely(!args)) goto bad;
Py_INCREF(arg);
PyTuple_SET_ITEM(args, 0, arg);
if (cfunc->flag & METH_KEYWORDS)
result = (*(PyCFunctionWithKeywords)(void*)(PyCFunction)cfunc->func)(self, args, NULL);
else
result = (*cfunc->func)(self, args);
} else {
args = PyTuple_New(2);
if (unlikely(!args)) goto bad;
Py_INCREF(self);
PyTuple_SET_ITEM(args, 0, self);
Py_INCREF(arg);
PyTuple_SET_ITEM(args, 1, arg);
result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
}
#else
args = PyTuple_Pack(2, self, arg);
if (unlikely(!args)) goto bad;
result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
#endif
bad:
Py_XDECREF(args);
return result;
}
/* bytes_tailmatch */
static int __Pyx_PyBytes_SingleTailmatch(PyObject* self, PyObject* arg,
Py_ssize_t start, Py_ssize_t end, int direction) {
const char* self_ptr = PyBytes_AS_STRING(self);
Py_ssize_t self_len = PyBytes_GET_SIZE(self);
const char* sub_ptr;
Py_ssize_t sub_len;
int retval;
Py_buffer view;
view.obj = NULL;
if ( PyBytes_Check(arg) ) {
sub_ptr = PyBytes_AS_STRING(arg);
sub_len = PyBytes_GET_SIZE(arg);
}
#if PY_MAJOR_VERSION < 3
else if ( PyUnicode_Check(arg) ) {
return (int) PyUnicode_Tailmatch(self, arg, start, end, direction);
}
#endif
else {
if (unlikely(PyObject_GetBuffer(self, &view, PyBUF_SIMPLE) == -1))
return -1;
sub_ptr = (const char*) view.buf;
sub_len = view.len;
}
if (end > self_len)
end = self_len;
else if (end < 0)
end += self_len;
if (end < 0)
end = 0;
if (start < 0)
start += self_len;
if (start < 0)
start = 0;
if (direction > 0) {
if (end-sub_len > start)
start = end - sub_len;
}
if (start + sub_len <= end)
retval = !memcmp(self_ptr+start, sub_ptr, (size_t)sub_len);
else
retval = 0;
if (view.obj)
PyBuffer_Release(&view);
return retval;
}
static int __Pyx_PyBytes_TailmatchTuple(PyObject* self, PyObject* substrings,
Py_ssize_t start, Py_ssize_t end, int direction) {
Py_ssize_t i, count = PyTuple_GET_SIZE(substrings);
for (i = 0; i < count; i++) {
int result;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
result = __Pyx_PyBytes_SingleTailmatch(self, PyTuple_GET_ITEM(substrings, i),
start, end, direction);
#else
PyObject* sub = PySequence_ITEM(substrings, i);
if (unlikely(!sub)) return -1;
result = __Pyx_PyBytes_SingleTailmatch(self, sub, start, end, direction);
Py_DECREF(sub);
#endif
if (result) {
return result;
}
}
return 0;
}
static int __Pyx_PyBytes_Tailmatch(PyObject* self, PyObject* substr,
Py_ssize_t start, Py_ssize_t end, int direction) {
if (unlikely(PyTuple_Check(substr))) {
return __Pyx_PyBytes_TailmatchTuple(self, substr, start, end, direction);
}
return __Pyx_PyBytes_SingleTailmatch(self, substr, start, end, direction);
}
/* unicode_tailmatch */
static int __Pyx_PyUnicode_TailmatchTuple(PyObject* s, PyObject* substrings,
Py_ssize_t start, Py_ssize_t end, int direction) {
Py_ssize_t i, count = PyTuple_GET_SIZE(substrings);
for (i = 0; i < count; i++) {
Py_ssize_t result;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
result = PyUnicode_Tailmatch(s, PyTuple_GET_ITEM(substrings, i),
start, end, direction);
#else
PyObject* sub = PySequence_ITEM(substrings, i);
if (unlikely(!sub)) return -1;
result = PyUnicode_Tailmatch(s, sub, start, end, direction);
Py_DECREF(sub);
#endif
if (result) {
return (int) result;
}
}
return 0;
}
static int __Pyx_PyUnicode_Tailmatch(PyObject* s, PyObject* substr,
Py_ssize_t start, Py_ssize_t end, int direction) {
if (unlikely(PyTuple_Check(substr))) {
return __Pyx_PyUnicode_TailmatchTuple(s, substr, start, end, direction);
}
return (int) PyUnicode_Tailmatch(s, substr, start, end, direction);
}
/* str_tailmatch */
static CYTHON_INLINE int __Pyx_PyStr_Tailmatch(PyObject* self, PyObject* arg, Py_ssize_t start,
Py_ssize_t end, int direction)
{
if (PY_MAJOR_VERSION < 3)
return __Pyx_PyBytes_Tailmatch(self, arg, start, end, direction);
else
return __Pyx_PyUnicode_Tailmatch(self, arg, start, end, direction);
}
/* GetTopmostException */
#if CYTHON_USE_EXC_INFO_STACK
static _PyErr_StackItem *
__Pyx_PyErr_GetTopmostException(PyThreadState *tstate)
{
_PyErr_StackItem *exc_info = tstate->exc_info;
while ((exc_info->exc_type == NULL || exc_info->exc_type == Py_None) &&
exc_info->previous_item != NULL)
{
exc_info = exc_info->previous_item;
}
return exc_info;
}
#endif
/* SaveResetException */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx__ExceptionSave(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) {
#if CYTHON_USE_EXC_INFO_STACK
_PyErr_StackItem *exc_info = __Pyx_PyErr_GetTopmostException(tstate);
*type = exc_info->exc_type;
*value = exc_info->exc_value;
*tb = exc_info->exc_traceback;
#else
*type = tstate->exc_type;
*value = tstate->exc_value;
*tb = tstate->exc_traceback;
#endif
Py_XINCREF(*type);
Py_XINCREF(*value);
Py_XINCREF(*tb);
}
static CYTHON_INLINE void __Pyx__ExceptionReset(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
PyObject *tmp_type, *tmp_value, *tmp_tb;
#if CYTHON_USE_EXC_INFO_STACK
_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;
#else
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;
#endif
Py_XDECREF(tmp_type);
Py_XDECREF(tmp_value);
Py_XDECREF(tmp_tb);
}
#endif
/* GetException */
#if CYTHON_FAST_THREAD_STATE
static int __Pyx__GetException(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb)
#else
static int __Pyx_GetException(PyObject **type, PyObject **value, PyObject **tb)
#endif
{
PyObject *local_type, *local_value, *local_tb;
#if CYTHON_FAST_THREAD_STATE
PyObject *tmp_type, *tmp_value, *tmp_tb;
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;
#else
PyErr_Fetch(&local_type, &local_value, &local_tb);
#endif
PyErr_NormalizeException(&local_type, &local_value, &local_tb);
#if CYTHON_FAST_THREAD_STATE
if (unlikely(tstate->curexc_type))
#else
if (unlikely(PyErr_Occurred()))
#endif
goto bad;
#if PY_MAJOR_VERSION >= 3
if (local_tb) {
if (unlikely(PyException_SetTraceback(local_value, local_tb) < 0))
goto bad;
}
#endif
Py_XINCREF(local_tb);
Py_XINCREF(local_type);
Py_XINCREF(local_value);
*type = local_type;
*value = local_value;
*tb = local_tb;
#if CYTHON_FAST_THREAD_STATE
#if CYTHON_USE_EXC_INFO_STACK
{
_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 = local_type;
exc_info->exc_value = local_value;
exc_info->exc_traceback = local_tb;
}
#else
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;
#endif
Py_XDECREF(tmp_type);
Py_XDECREF(tmp_value);
Py_XDECREF(tmp_tb);
#else
PyErr_SetExcInfo(local_type, local_value, local_tb);
#endif
return 0;
bad:
*type = 0;
*value = 0;
*tb = 0;
Py_XDECREF(local_type);
Py_XDECREF(local_value);
Py_XDECREF(local_tb);
return -1;
}
/* PyErrFetchRestore */
#if CYTHON_FAST_THREAD_STATE
static CYTHON_INLINE void __Pyx_ErrRestoreInState(PyThreadState *tstate, PyObject *type, PyObject *value, PyObject *tb) {
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) {
*type = tstate->curexc_type;
*value = tstate->curexc_value;
*tb = tstate->curexc_traceback;
tstate->curexc_type = 0;
tstate->curexc_value = 0;
tstate->curexc_traceback = 0;
}
#endif
/* PyErrExceptionMatches */
#if CYTHON_FAST_THREAD_STATE
static int __Pyx_PyErr_ExceptionMatchesTuple(PyObject *exc_type, PyObject *tuple) {
Py_ssize_t i, n;
n = PyTuple_GET_SIZE(tuple);
#if PY_MAJOR_VERSION >= 3
for (i=0; i<n; i++) {
if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
}
#endif
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) {
PyObject *exc_type = tstate->curexc_type;
if (exc_type == err) return 1;
if (unlikely(!exc_type)) return 0;
if (unlikely(PyTuple_Check(err)))
return __Pyx_PyErr_ExceptionMatchesTuple(exc_type, err);
return __Pyx_PyErr_GivenExceptionMatches(exc_type, err);
}
#endif
/* PyObjectGetMethod */
static int __Pyx_PyObject_GetMethod(PyObject *obj, PyObject *name, PyObject **method) {
PyObject *attr;
#if CYTHON_UNPACK_METHODS && CYTHON_COMPILING_IN_CPYTHON && CYTHON_USE_PYTYPE_LOOKUP
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 PY_MAJOR_VERSION >= 3
#ifdef __Pyx_CyFunction_USED
if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type) || __Pyx_CyFunction_Check(descr)))
#else
if (likely(PyFunction_Check(descr) || (Py_TYPE(descr) == &PyMethodDescr_Type)))
#endif
#else
#ifdef __Pyx_CyFunction_USED
if (likely(PyFunction_Check(descr) || __Pyx_CyFunction_Check(descr)))
#else
if (likely(PyFunction_Check(descr)))
#endif
#endif
{
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 (descr != NULL) {
*method = descr;
return 0;
}
PyErr_Format(PyExc_AttributeError,
#if PY_MAJOR_VERSION >= 3
"'%.50s' object has no attribute '%U'",
tp->tp_name, name);
#else
"'%.50s' object has no attribute '%.400s'",
tp->tp_name, PyString_AS_STRING(name));
#endif
return 0;
#else
attr = __Pyx_PyObject_GetAttrStr(obj, name);
goto try_unpack;
#endif
try_unpack:
#if CYTHON_UNPACK_METHODS
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;
}
#endif
*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;
}
/* 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;
#if CYTHON_COMPILING_IN_PYPY
value1 = PySequence_ITEM(tuple, 0); if (unlikely(!value1)) goto bad;
value2 = PySequence_ITEM(tuple, 1); if (unlikely(!value2)) goto bad;
#else
value1 = PyTuple_GET_ITEM(tuple, 0); Py_INCREF(value1);
value2 = PyTuple_GET_ITEM(tuple, 1); Py_INCREF(value2);
#endif
if (decref_tuple) {
Py_DECREF(tuple);
}
*pvalue1 = value1;
*pvalue2 = value2;
return 0;
#if CYTHON_COMPILING_IN_PYPY
bad:
Py_XDECREF(value1);
Py_XDECREF(value2);
if (decref_tuple) { Py_XDECREF(tuple); }
return -1;
#endif
}
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 = Py_TYPE(iter)->tp_iternext;
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) {
#if !CYTHON_COMPILING_IN_PYPY
*p_orig_length = PyDict_Size(iterable);
Py_INCREF(iterable);
return iterable;
#elif PY_MAJOR_VERSION >= 3
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;
}
}
#endif
}
*p_orig_length = 0;
if (method_name) {
PyObject* iter;
iterable = __Pyx_PyObject_CallMethod0(iterable, method_name);
if (!iterable)
return NULL;
#if !CYTHON_COMPILING_IN_PYPY
if (PyTuple_CheckExact(iterable) || PyList_CheckExact(iterable))
return iterable;
#endif
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 !CYTHON_COMPILING_IN_PYPY
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
#endif
{
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 (!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;
}
/* 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;
#if CYTHON_ASSUME_SAFE_MACROS
args = PyTuple_New(1);
if (unlikely(!args)) goto bad;
Py_INCREF(self);
PyTuple_SET_ITEM(args, 0, self);
#else
args = PyTuple_Pack(1, self);
if (unlikely(!args)) goto bad;
#endif
result = __Pyx_PyObject_Call(cfunc->method, args, NULL);
Py_DECREF(args);
bad:
return result;
}
/* py_dict_items */
static CYTHON_INLINE PyObject* __Pyx_PyDict_Items(PyObject* d) {
if (PY_MAJOR_VERSION >= 3)
return __Pyx_CallUnboundCMethod0(&__pyx_umethod_PyDict_Type_items, d);
else
return PyDict_Items(d);
}
/* RaiseException */
#if PY_MAJOR_VERSION < 3
static void __Pyx_Raise(PyObject *type, PyObject *value, PyObject *tb,
CYTHON_UNUSED PyObject *cause) {
__Pyx_PyThreadState_declare
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 CYTHON_COMPILING_IN_PYPY
if (!value) {
Py_INCREF(Py_None);
value = Py_None;
}
#endif
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;
}
#else
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) {
#if CYTHON_COMPILING_IN_PYPY
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);
#else
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);
}
#endif
}
bad:
Py_XDECREF(owned_instance);
return;
}
#endif
/* DictGetItem */
#if PY_MAJOR_VERSION >= 3 && !CYTHON_COMPILING_IN_PYPY
static PyObject *__Pyx_PyDict_GetItem(PyObject *d, PyObject* key) {
PyObject *value;
value = PyDict_GetItemWithError(d, key);
if (unlikely(!value)) {
if (!PyErr_Occurred()) {
if (unlikely(PyTuple_Check(key))) {
PyObject* args = PyTuple_Pack(1, key);
if (likely(args)) {
PyErr_SetObject(PyExc_KeyError, args);
Py_DECREF(args);
}
} else {
PyErr_SetObject(PyExc_KeyError, key);
}
}
return NULL;
}
Py_INCREF(value);
return value;
}
#endif
/* SliceObject */
static CYTHON_INLINE PyObject* __Pyx_PyObject_GetSlice(PyObject* obj,
Py_ssize_t cstart, Py_ssize_t cstop,
PyObject** _py_start, PyObject** _py_stop, PyObject** _py_slice,
int has_cstart, int has_cstop, CYTHON_UNUSED int wraparound) {
#if CYTHON_USE_TYPE_SLOTS
PyMappingMethods* mp;
#if PY_MAJOR_VERSION < 3
PySequenceMethods* ms = Py_TYPE(obj)->tp_as_sequence;
if (likely(ms && ms->sq_slice)) {
if (!has_cstart) {
if (_py_start && (*_py_start != Py_None)) {
cstart = __Pyx_PyIndex_AsSsize_t(*_py_start);
if ((cstart == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
} else
cstart = 0;
}
if (!has_cstop) {
if (_py_stop && (*_py_stop != Py_None)) {
cstop = __Pyx_PyIndex_AsSsize_t(*_py_stop);
if ((cstop == (Py_ssize_t)-1) && PyErr_Occurred()) goto bad;
} else
cstop = PY_SSIZE_T_MAX;
}
if (wraparound && unlikely((cstart < 0) | (cstop < 0)) && likely(ms->sq_length)) {
Py_ssize_t l = ms->sq_length(obj);
if (likely(l >= 0)) {
if (cstop < 0) {
cstop += l;
if (cstop < 0) cstop = 0;
}
if (cstart < 0) {
cstart += l;
if (cstart < 0) cstart = 0;
}
} else {
if (!PyErr_ExceptionMatches(PyExc_OverflowError))
goto bad;
PyErr_Clear();
}
}
return ms->sq_slice(obj, cstart, cstop);
}
#endif
mp = Py_TYPE(obj)->tp_as_mapping;
if (likely(mp && mp->mp_subscript))
#endif
{
PyObject* result;
PyObject *py_slice, *py_start, *py_stop;
if (_py_slice) {
py_slice = *_py_slice;
} else {
PyObject* owned_start = NULL;
PyObject* owned_stop = NULL;
if (_py_start) {
py_start = *_py_start;
} else {
if (has_cstart) {
owned_start = py_start = PyInt_FromSsize_t(cstart);
if (unlikely(!py_start)) goto bad;
} else
py_start = Py_None;
}
if (_py_stop) {
py_stop = *_py_stop;
} else {
if (has_cstop) {
owned_stop = py_stop = PyInt_FromSsize_t(cstop);
if (unlikely(!py_stop)) {
Py_XDECREF(owned_start);
goto bad;
}
} else
py_stop = Py_None;
}
py_slice = PySlice_New(py_start, py_stop, Py_None);
Py_XDECREF(owned_start);
Py_XDECREF(owned_stop);
if (unlikely(!py_slice)) goto bad;
}
#if CYTHON_USE_TYPE_SLOTS
result = mp->mp_subscript(obj, py_slice);
#else
result = PyObject_GetItem(obj, py_slice);
#endif
if (!_py_slice) {
Py_DECREF(py_slice);
}
return result;
}
PyErr_Format(PyExc_TypeError,
"'%.200s' object is unsliceable", Py_TYPE(obj)->tp_name);
bad:
return NULL;
}
/* HasAttr */
static CYTHON_INLINE int __Pyx_HasAttr(PyObject *o, PyObject *n) {
PyObject *r;
if (unlikely(!__Pyx_PyBaseString_Check(n))) {
PyErr_SetString(PyExc_TypeError,
"hasattr(): attribute name must be string");
return -1;
}
r = __Pyx_GetAttr(o, n);
if (unlikely(!r)) {
PyErr_Clear();
return 0;
} else {
Py_DECREF(r);
return 1;
}
}
/* BytesEquals */
static CYTHON_INLINE int __Pyx_PyBytes_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY
return PyObject_RichCompareBool(s1, s2, equals);
#else
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;
#if CYTHON_USE_UNICODE_INTERNALS
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);
}
#endif
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;
}
#endif
}
/* UnicodeEquals */
static CYTHON_INLINE int __Pyx_PyUnicode_Equals(PyObject* s1, PyObject* s2, int equals) {
#if CYTHON_COMPILING_IN_PYPY
return PyObject_RichCompareBool(s1, s2, equals);
#else
#if PY_MAJOR_VERSION < 3
PyObject* owned_ref = NULL;
#endif
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 PY_MAJOR_VERSION < 3
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);
}
#endif
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;
}
#if CYTHON_USE_UNICODE_INTERNALS
{
Py_hash_t hash1, hash2;
#if CYTHON_PEP393_ENABLED
hash1 = ((PyASCIIObject*)s1)->hash;
hash2 = ((PyASCIIObject*)s2)->hash;
#else
hash1 = ((PyUnicodeObject*)s1)->hash;
hash2 = ((PyUnicodeObject*)s2)->hash;
#endif
if (hash1 != hash2 && hash1 != -1 && hash2 != -1) {
goto return_ne;
}
}
#endif
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));
#if PY_MAJOR_VERSION < 3
Py_XDECREF(owned_ref);
#endif
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);
#if PY_MAJOR_VERSION < 3
Py_XDECREF(owned_ref);
#endif
if (!py_result)
return -1;
result = __Pyx_PyObject_IsTrue(py_result);
Py_DECREF(py_result);
return result;
}
return_eq:
#if PY_MAJOR_VERSION < 3
Py_XDECREF(owned_ref);
#endif
return (equals == Py_EQ);
return_ne:
#if PY_MAJOR_VERSION < 3
Py_XDECREF(owned_ref);
#endif
return (equals == Py_NE);
#endif
}
/* JoinPyUnicode */
static PyObject* __Pyx_PyUnicode_Join(PyObject* value_tuple, Py_ssize_t value_count, Py_ssize_t result_ulength,
CYTHON_UNUSED Py_UCS4 max_char) {
#if CYTHON_USE_UNICODE_INTERNALS && CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
PyObject *result_uval;
int result_ukind;
Py_ssize_t i, char_pos;
void *result_udata;
#if CYTHON_PEP393_ENABLED
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;
result_udata = PyUnicode_DATA(result_uval);
#else
result_uval = PyUnicode_FromUnicode(NULL, result_ulength);
if (unlikely(!result_uval)) return NULL;
result_ukind = sizeof(Py_UNICODE);
result_udata = PyUnicode_AS_UNICODE(result_uval);
#endif
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(char_pos + ulength < 0))
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 * result_ukind, udata, (size_t) (ulength * result_ukind));
} else {
#if CYTHON_COMPILING_IN_CPYTHON && PY_VERSION_HEX >= 0x030300F0 || defined(_PyUnicode_FastCopyCharacters)
_PyUnicode_FastCopyCharacters(result_uval, char_pos, uval, 0, ulength);
#else
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);
}
#endif
}
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;
#else
result_ulength++;
value_count++;
return PyUnicode_Join(__pyx_empty_unicode, value_tuple);
#endif
}
/* None */
static CYTHON_INLINE void __Pyx_RaiseClosureNameError(const char *varname) {
PyErr_Format(PyExc_NameError, "free variable '%s' referenced before assignment in enclosing scope", varname);
}
/* FetchCommonType */
static PyTypeObject* __Pyx_FetchCommonType(PyTypeObject* type) {
PyObject* fake_module;
PyTypeObject* cached_type = NULL;
fake_module = PyImport_AddModule((char*) "_cython_" CYTHON_ABI);
if (!fake_module) return NULL;
Py_INCREF(fake_module);
cached_type = (PyTypeObject*) PyObject_GetAttrString(fake_module, type->tp_name);
if (cached_type) {
if (!PyType_Check((PyObject*)cached_type)) {
PyErr_Format(PyExc_TypeError,
"Shared Cython type %.200s is not a type object",
type->tp_name);
goto bad;
}
if (cached_type->tp_basicsize != type->tp_basicsize) {
PyErr_Format(PyExc_TypeError,
"Shared Cython type %.200s has the wrong size, try recompiling",
type->tp_name);
goto bad;
}
} else {
if (!PyErr_ExceptionMatches(PyExc_AttributeError)) goto bad;
PyErr_Clear();
if (PyType_Ready(type) < 0) goto bad;
if (PyObject_SetAttrString(fake_module, type->tp_name, (PyObject*) type) < 0)
goto bad;
Py_INCREF(type);
cached_type = type;
}
done:
Py_DECREF(fake_module);
return cached_type;
bad:
Py_XDECREF(cached_type);
cached_type = NULL;
goto done;
}
/* CythonFunctionShared */
#include <structmember.h>
static PyObject *
__Pyx_CyFunction_get_doc(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *closure)
{
if (unlikely(op->func_doc == NULL)) {
if (op->func.m_ml->ml_doc) {
#if PY_MAJOR_VERSION >= 3
op->func_doc = PyUnicode_FromString(op->func.m_ml->ml_doc);
#else
op->func_doc = PyString_FromString(op->func.m_ml->ml_doc);
#endif
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, CYTHON_UNUSED void *context)
{
PyObject *tmp = op->func_doc;
if (value == NULL) {
value = Py_None;
}
Py_INCREF(value);
op->func_doc = value;
Py_XDECREF(tmp);
return 0;
}
static PyObject *
__Pyx_CyFunction_get_name(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
{
if (unlikely(op->func_name == NULL)) {
#if PY_MAJOR_VERSION >= 3
op->func_name = PyUnicode_InternFromString(op->func.m_ml->ml_name);
#else
op->func_name = PyString_InternFromString(op->func.m_ml->ml_name);
#endif
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, CYTHON_UNUSED void *context)
{
PyObject *tmp;
#if PY_MAJOR_VERSION >= 3
if (unlikely(value == NULL || !PyUnicode_Check(value)))
#else
if (unlikely(value == NULL || !PyString_Check(value)))
#endif
{
PyErr_SetString(PyExc_TypeError,
"__name__ must be set to a string object");
return -1;
}
tmp = op->func_name;
Py_INCREF(value);
op->func_name = value;
Py_XDECREF(tmp);
return 0;
}
static PyObject *
__Pyx_CyFunction_get_qualname(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
{
Py_INCREF(op->func_qualname);
return op->func_qualname;
}
static int
__Pyx_CyFunction_set_qualname(__pyx_CyFunctionObject *op, PyObject *value, CYTHON_UNUSED void *context)
{
PyObject *tmp;
#if PY_MAJOR_VERSION >= 3
if (unlikely(value == NULL || !PyUnicode_Check(value)))
#else
if (unlikely(value == NULL || !PyString_Check(value)))
#endif
{
PyErr_SetString(PyExc_TypeError,
"__qualname__ must be set to a string object");
return -1;
}
tmp = op->func_qualname;
Py_INCREF(value);
op->func_qualname = value;
Py_XDECREF(tmp);
return 0;
}
static PyObject *
__Pyx_CyFunction_get_self(__pyx_CyFunctionObject *m, CYTHON_UNUSED void *closure)
{
PyObject *self;
self = m->func_closure;
if (self == NULL)
self = Py_None;
Py_INCREF(self);
return self;
}
static PyObject *
__Pyx_CyFunction_get_dict(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *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, CYTHON_UNUSED void *context)
{
PyObject *tmp;
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;
}
tmp = op->func_dict;
Py_INCREF(value);
op->func_dict = value;
Py_XDECREF(tmp);
return 0;
}
static PyObject *
__Pyx_CyFunction_get_globals(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
{
Py_INCREF(op->func_globals);
return op->func_globals;
}
static PyObject *
__Pyx_CyFunction_get_closure(CYTHON_UNUSED __pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
{
Py_INCREF(Py_None);
return Py_None;
}
static PyObject *
__Pyx_CyFunction_get_code(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context)
{
PyObject* result = (op->func_code) ? op->func_code : Py_None;
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;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
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);
#else
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;
}
#endif
Py_DECREF(res);
return result;
}
static int
__Pyx_CyFunction_set_defaults(__pyx_CyFunctionObject *op, PyObject* value, CYTHON_UNUSED void *context) {
PyObject* tmp;
if (!value) {
value = Py_None;
} else if (value != Py_None && !PyTuple_Check(value)) {
PyErr_SetString(PyExc_TypeError,
"__defaults__ must be set to a tuple object");
return -1;
}
Py_INCREF(value);
tmp = op->defaults_tuple;
op->defaults_tuple = value;
Py_XDECREF(tmp);
return 0;
}
static PyObject *
__Pyx_CyFunction_get_defaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) {
PyObject* result = op->defaults_tuple;
if (unlikely(!result)) {
if (op->defaults_getter) {
if (__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, CYTHON_UNUSED void *context) {
PyObject* tmp;
if (!value) {
value = Py_None;
} else if (value != Py_None && !PyDict_Check(value)) {
PyErr_SetString(PyExc_TypeError,
"__kwdefaults__ must be set to a dict object");
return -1;
}
Py_INCREF(value);
tmp = op->defaults_kwdict;
op->defaults_kwdict = value;
Py_XDECREF(tmp);
return 0;
}
static PyObject *
__Pyx_CyFunction_get_kwdefaults(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) {
PyObject* result = op->defaults_kwdict;
if (unlikely(!result)) {
if (op->defaults_getter) {
if (__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, CYTHON_UNUSED void *context) {
PyObject* tmp;
if (!value || value == Py_None) {
value = NULL;
} else if (!PyDict_Check(value)) {
PyErr_SetString(PyExc_TypeError,
"__annotations__ must be set to a dict object");
return -1;
}
Py_XINCREF(value);
tmp = op->func_annotations;
op->func_annotations = value;
Py_XDECREF(tmp);
return 0;
}
static PyObject *
__Pyx_CyFunction_get_annotations(__pyx_CyFunctionObject *op, CYTHON_UNUSED void *context) {
PyObject* result = op->func_annotations;
if (unlikely(!result)) {
result = PyDict_New();
if (unlikely(!result)) return NULL;
op->func_annotations = result;
}
Py_INCREF(result);
return result;
}
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 *) "__self__", (getter)__Pyx_CyFunction_get_self, 0, 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},
{0, 0, 0, 0, 0}
};
static PyMemberDef __pyx_CyFunction_members[] = {
{(char *) "__module__", T_OBJECT, offsetof(PyCFunctionObject, m_module), PY_WRITE_RESTRICTED, 0},
{0, 0, 0, 0, 0}
};
static PyObject *
__Pyx_CyFunction_reduce(__pyx_CyFunctionObject *m, CYTHON_UNUSED PyObject *args)
{
#if PY_MAJOR_VERSION >= 3
return PyUnicode_FromString(m->func.m_ml->ml_name);
#else
return PyString_FromString(m->func.m_ml->ml_name);
#endif
}
static PyMethodDef __pyx_CyFunction_methods[] = {
{"__reduce__", (PyCFunction)__Pyx_CyFunction_reduce, METH_VARARGS, 0},
{0, 0, 0, 0}
};
#if PY_VERSION_HEX < 0x030500A0
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func_weakreflist)
#else
#define __Pyx_CyFunction_weakreflist(cyfunc) ((cyfunc)->func.m_weakreflist)
#endif
static PyObject *__Pyx_CyFunction_Init(__pyx_CyFunctionObject *op, PyMethodDef *ml, int flags, PyObject* qualname,
PyObject *closure, PyObject *module, PyObject* globals, PyObject* code) {
if (unlikely(op == NULL))
return NULL;
op->flags = flags;
__Pyx_CyFunction_weakreflist(op) = NULL;
op->func.m_ml = ml;
op->func.m_self = (PyObject *) op;
Py_XINCREF(closure);
op->func_closure = closure;
Py_XINCREF(module);
op->func.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;
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;
return (PyObject *) op;
}
static int
__Pyx_CyFunction_clear(__pyx_CyFunctionObject *m)
{
Py_CLEAR(m->func_closure);
Py_CLEAR(m->func.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(m->func_classobj);
Py_CLEAR(m->defaults_tuple);
Py_CLEAR(m->defaults_kwdict);
Py_CLEAR(m->func_annotations);
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);
PyObject_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(m->func.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(m->func_classobj);
Py_VISIT(m->defaults_tuple);
Py_VISIT(m->defaults_kwdict);
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_descr_get(PyObject *func, PyObject *obj, PyObject *type)
{
#if PY_MAJOR_VERSION < 3
__pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *) func;
if (m->flags & __Pyx_CYFUNCTION_STATICMETHOD) {
Py_INCREF(func);
return func;
}
if (m->flags & __Pyx_CYFUNCTION_CLASSMETHOD) {
if (type == NULL)
type = (PyObject *)(Py_TYPE(obj));
return __Pyx_PyMethod_New(func, type, (PyObject *)(Py_TYPE(type)));
}
if (obj == Py_None)
obj = NULL;
#endif
return __Pyx_PyMethod_New(func, obj, type);
}
static PyObject*
__Pyx_CyFunction_repr(__pyx_CyFunctionObject *op)
{
#if PY_MAJOR_VERSION >= 3
return PyUnicode_FromFormat("<cyfunction %U at %p>",
op->func_qualname, (void *)op);
#else
return PyString_FromFormat("<cyfunction %s at %p>",
PyString_AsString(op->func_qualname), (void *)op);
#endif
}
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;
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
arg0 = PyTuple_GET_ITEM(arg, 0);
#else
arg0 = PySequence_ITEM(arg, 0); if (unlikely(!arg0)) return NULL;
#endif
result = (*meth)(self, arg0);
#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
Py_DECREF(arg0);
#endif
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 in "
"__Pyx_CyFunction_Call. METH_OLDARGS is no "
"longer supported!");
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;
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);
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 PyTypeObject __pyx_CyFunctionType_type = {
PyVarObject_HEAD_INIT(0, 0)
"cython_function_or_method",
sizeof(__pyx_CyFunctionObject),
0,
(destructor) __Pyx_CyFunction_dealloc,
0,
0,
0,
#if PY_MAJOR_VERSION < 3
0,
#else
0,
#endif
(reprfunc) __Pyx_CyFunction_repr,
0,
0,
0,
0,
__Pyx_CyFunction_CallAsMethod,
0,
0,
0,
0,
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_GC,
0,
(traverseproc) __Pyx_CyFunction_traverse,
(inquiry) __Pyx_CyFunction_clear,
0,
#if PY_VERSION_HEX < 0x030500A0
offsetof(__pyx_CyFunctionObject, func_weakreflist),
#else
offsetof(PyCFunctionObject, m_weakreflist),
#endif
0,
0,
__pyx_CyFunction_methods,
__pyx_CyFunction_members,
__pyx_CyFunction_getsets,
0,
0,
__Pyx_CyFunction_descr_get,
0,
offsetof(__pyx_CyFunctionObject, func_dict),
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
#if PY_VERSION_HEX >= 0x030400a1
0,
#endif
#if PY_VERSION_HEX >= 0x030800b1
0,
#endif
#if PY_VERSION_HEX >= 0x030800b4 && PY_VERSION_HEX < 0x03090000
0,
#endif
};
static int __pyx_CyFunction_init(void) {
__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;
}
/* GetItemInt */
static PyObject *__Pyx_GetItemInt_Generic(PyObject *o, PyObject* j) {
PyObject *r;
if (!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) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
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));
#else
return PySequence_GetItem(o, i);
#endif
}
static CYTHON_INLINE PyObject *__Pyx_GetItemInt_Tuple_Fast(PyObject *o, Py_ssize_t i,
CYTHON_NCP_UNUSED int wraparound,
CYTHON_NCP_UNUSED int boundscheck) {
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
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));
#else
return PySequence_GetItem(o, i);
#endif
}
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 CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS && CYTHON_USE_TYPE_SLOTS
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 {
PySequenceMethods *m = Py_TYPE(o)->tp_as_sequence;
if (likely(m && m->sq_item)) {
if (wraparound && unlikely(i < 0) && likely(m->sq_length)) {
Py_ssize_t l = m->sq_length(o);
if (likely(l >= 0)) {
i += l;
} else {
if (!PyErr_ExceptionMatches(PyExc_OverflowError))
return NULL;
PyErr_Clear();
}
}
return m->sq_item(o, i);
}
}
#else
if (is_list || PySequence_Check(o)) {
return PySequence_GetItem(o, i);
}
#endif
return __Pyx_GetItemInt_Generic(o, PyInt_FromSsize_t(i));
}
/* None */
static CYTHON_INLINE void __Pyx_RaiseUnboundLocalError(const char *varname) {
PyErr_Format(PyExc_UnboundLocalError, "local variable '%s' referenced before assignment", varname);
}
/* PyObject_GenericGetAttrNoDict */
#if CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP && PY_VERSION_HEX < 0x03070000
static PyObject *__Pyx_RaiseGenericGetAttributeError(PyTypeObject *tp, PyObject *attr_name) {
PyErr_Format(PyExc_AttributeError,
#if PY_MAJOR_VERSION >= 3
"'%.50s' object has no attribute '%U'",
tp->tp_name, attr_name);
#else
"'%.50s' object has no attribute '%.400s'",
tp->tp_name, PyString_AS_STRING(attr_name));
#endif
return NULL;
}
static CYTHON_INLINE PyObject* __Pyx_PyObject_GenericGetAttrNoDict(PyObject* obj, PyObject* attr_name) {
PyObject *descr;
PyTypeObject *tp = Py_TYPE(obj);
if (unlikely(!PyString_Check(attr_name))) {
return PyObject_GenericGetAttr(obj, attr_name);
}
assert(!tp->tp_dictoffset);
descr = _PyType_Lookup(tp, attr_name);
if (unlikely(!descr)) {
return __Pyx_RaiseGenericGetAttributeError(tp, attr_name);
}
Py_INCREF(descr);
#if PY_MAJOR_VERSION < 3
if (likely(PyType_HasFeature(Py_TYPE(descr), Py_TPFLAGS_HAVE_CLASS)))
#endif
{
descrgetfunc f = Py_TYPE(descr)->tp_descr_get;
if (unlikely(f)) {
PyObject *res = f(descr, obj, (PyObject *)tp);
Py_DECREF(descr);
return res;
}
}
return descr;
}
#endif
/* Import */
static PyObject *__Pyx_Import(PyObject *name, PyObject *from_list, int level) {
PyObject *empty_list = 0;
PyObject *module = 0;
PyObject *global_dict = 0;
PyObject *empty_dict = 0;
PyObject *list;
#if PY_MAJOR_VERSION < 3
PyObject *py_import;
py_import = __Pyx_PyObject_GetAttrStr(__pyx_b, __pyx_n_s_import);
if (!py_import)
goto bad;
#endif
if (from_list)
list = from_list;
else {
empty_list = PyList_New(0);
if (!empty_list)
goto bad;
list = empty_list;
}
global_dict = PyModule_GetDict(__pyx_m);
if (!global_dict)
goto bad;
empty_dict = PyDict_New();
if (!empty_dict)
goto bad;
{
#if PY_MAJOR_VERSION >= 3
if (level == -1) {
if ((1) && (strchr(__Pyx_MODULE_NAME, '.'))) {
module = PyImport_ImportModuleLevelObject(
name, global_dict, empty_dict, list, 1);
if (!module) {
if (!PyErr_ExceptionMatches(PyExc_ImportError))
goto bad;
PyErr_Clear();
}
}
level = 0;
}
#endif
if (!module) {
#if PY_MAJOR_VERSION < 3
PyObject *py_level = PyInt_FromLong(level);
if (!py_level)
goto bad;
module = PyObject_CallFunctionObjArgs(py_import,
name, global_dict, empty_dict, list, py_level, (PyObject *)NULL);
Py_DECREF(py_level);
#else
module = PyImport_ImportModuleLevelObject(
name, global_dict, empty_dict, list, level);
#endif
}
}
bad:
#if PY_MAJOR_VERSION < 3
Py_XDECREF(py_import);
#endif
Py_XDECREF(empty_list);
Py_XDECREF(empty_dict);
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)) {
PyErr_Format(PyExc_ImportError,
#if PY_MAJOR_VERSION < 3
"cannot import name %.230s", PyString_AS_STRING(name));
#else
"cannot import name %S", name);
#endif
}
return value;
}
/* CalculateMetaclass */
static PyObject *__Pyx_CalculateMetaclass(PyTypeObject *metaclass, PyObject *bases) {
Py_ssize_t i, nbases = PyTuple_GET_SIZE(bases);
for (i=0; i < nbases; i++) {
PyTypeObject *tmptype;
PyObject *tmp = PyTuple_GET_ITEM(bases, i);
tmptype = Py_TYPE(tmp);
#if PY_MAJOR_VERSION < 3
if (tmptype == &PyClass_Type)
continue;
#endif
if (!metaclass) {
metaclass = tmptype;
continue;
}
if (PyType_IsSubtype(metaclass, tmptype))
continue;
if (PyType_IsSubtype(tmptype, metaclass)) {
metaclass = tmptype;
continue;
}
PyErr_SetString(PyExc_TypeError,
"metaclass conflict: "
"the metaclass of a derived class "
"must be a (non-strict) subclass "
"of the metaclasses of all its bases");
return NULL;
}
if (!metaclass) {
#if PY_MAJOR_VERSION < 3
metaclass = &PyClass_Type;
#else
metaclass = &PyType_Type;
#endif
}
Py_INCREF((PyObject*) metaclass);
return (PyObject*) metaclass;
}
/* Py3ClassCreate */
static PyObject *__Pyx_Py3MetaclassPrepare(PyObject *metaclass, PyObject *bases, PyObject *name,
PyObject *qualname, PyObject *mkw, PyObject *modname, PyObject *doc) {
PyObject *ns;
if (metaclass) {
PyObject *prep = __Pyx_PyObject_GetAttrStr(metaclass, __pyx_n_s_prepare);
if (prep) {
PyObject *pargs = PyTuple_Pack(2, name, bases);
if (unlikely(!pargs)) {
Py_DECREF(prep);
return NULL;
}
ns = PyObject_Call(prep, pargs, mkw);
Py_DECREF(prep);
Py_DECREF(pargs);
} else {
if (unlikely(!PyErr_ExceptionMatches(PyExc_AttributeError)))
return NULL;
PyErr_Clear();
ns = PyDict_New();
}
} else {
ns = PyDict_New();
}
if (unlikely(!ns))
return NULL;
if (unlikely(PyObject_SetItem(ns, __pyx_n_s_module, modname) < 0)) goto bad;
if (unlikely(PyObject_SetItem(ns, __pyx_n_s_qualname, qualname) < 0)) goto bad;
if (unlikely(doc && PyObject_SetItem(ns, __pyx_n_s_doc, doc) < 0)) goto bad;
return ns;
bad:
Py_DECREF(ns);
return NULL;
}
static PyObject *__Pyx_Py3ClassCreate(PyObject *metaclass, PyObject *name, PyObject *bases,
PyObject *dict, PyObject *mkw,
int calculate_metaclass, int allow_py2_metaclass) {
PyObject *result, *margs;
PyObject *owned_metaclass = NULL;
if (allow_py2_metaclass) {
owned_metaclass = PyObject_GetItem(dict, __pyx_n_s_metaclass);
if (owned_metaclass) {
metaclass = owned_metaclass;
} else if (likely(PyErr_ExceptionMatches(PyExc_KeyError))) {
PyErr_Clear();
} else {
return NULL;
}
}
if (calculate_metaclass && (!metaclass || PyType_Check(metaclass))) {
metaclass = __Pyx_CalculateMetaclass((PyTypeObject*) metaclass, bases);
Py_XDECREF(owned_metaclass);
if (unlikely(!metaclass))
return NULL;
owned_metaclass = metaclass;
}
margs = PyTuple_Pack(3, name, bases, dict);
if (unlikely(!margs)) {
result = NULL;
} else {
result = PyObject_Call(metaclass, margs, mkw);
Py_DECREF(margs);
}
Py_XDECREF(owned_metaclass);
return result;
}
/* CyFunctionClassCell */
static int __Pyx_CyFunction_InitClassCell(PyObject *cyfunctions, PyObject *classobj) {
Py_ssize_t i, count = PyList_GET_SIZE(cyfunctions);
for (i = 0; i < count; i++) {
__pyx_CyFunctionObject *m = (__pyx_CyFunctionObject *)
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
PyList_GET_ITEM(cyfunctions, i);
#else
PySequence_ITEM(cyfunctions, i);
if (unlikely(!m))
return -1;
#endif
Py_INCREF(classobj);
m->func_classobj = classobj;
#if !(CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS)
Py_DECREF((PyObject*)m);
#endif
}
return 0;
}
/* ClassMethod */
static PyObject* __Pyx_Method_ClassMethod(PyObject *method) {
#if CYTHON_COMPILING_IN_PYPY && PYPY_VERSION_NUM <= 0x05080000
if (PyObject_TypeCheck(method, &PyWrapperDescr_Type)) {
return PyClassMethod_New(method);
}
#else
#if CYTHON_COMPILING_IN_PYSTON || CYTHON_COMPILING_IN_PYPY
if (PyMethodDescr_Check(method))
#else
#if PY_MAJOR_VERSION == 2
static PyTypeObject *methoddescr_type = NULL;
if (methoddescr_type == NULL) {
PyObject *meth = PyObject_GetAttrString((PyObject*)&PyList_Type, "append");
if (!meth) return NULL;
methoddescr_type = Py_TYPE(meth);
Py_DECREF(meth);
}
#else
PyTypeObject *methoddescr_type = &PyMethodDescr_Type;
#endif
if (__Pyx_TypeCheck(method, methoddescr_type))
#endif
{
PyMethodDescrObject *descr = (PyMethodDescrObject *)method;
#if PY_VERSION_HEX < 0x03020000
PyTypeObject *d_type = descr->d_type;
#else
PyTypeObject *d_type = descr->d_common.d_type;
#endif
return PyDescr_NewClassMethod(d_type, descr->d_method);
}
#endif
else if (PyMethod_Check(method)) {
return PyClassMethod_New(PyMethod_GET_FUNCTION(method));
}
else {
return PyClassMethod_New(method);
}
}
/* CLineInTraceback */
#ifndef CYTHON_CLINE_IN_TRACEBACK
static int __Pyx_CLineForTraceback(CYTHON_NCP_UNUSED PyThreadState *tstate, int c_line) {
PyObject *use_cline;
PyObject *ptype, *pvalue, *ptraceback;
#if CYTHON_COMPILING_IN_CPYTHON
PyObject **cython_runtime_dict;
#endif
if (unlikely(!__pyx_cython_runtime)) {
return c_line;
}
__Pyx_ErrFetchInState(tstate, &ptype, &pvalue, &ptraceback);
#if CYTHON_COMPILING_IN_CPYTHON
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
#endif
{
PyObject *use_cline_obj = __Pyx_PyObject_GetAttrStr(__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;
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;
}
#endif
/* 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 */
#include "compile.h"
#include "frameobject.h"
#include "traceback.h"
static PyCodeObject* __Pyx_CreateCodeObjectForTraceback(
const char *funcname, int c_line,
int py_line, const char *filename) {
PyCodeObject *py_code = 0;
PyObject *py_srcfile = 0;
PyObject *py_funcname = 0;
#if PY_MAJOR_VERSION < 3
py_srcfile = PyString_FromString(filename);
#else
py_srcfile = PyUnicode_FromString(filename);
#endif
if (!py_srcfile) goto bad;
if (c_line) {
#if PY_MAJOR_VERSION < 3
py_funcname = PyString_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
#else
py_funcname = PyUnicode_FromFormat( "%s (%s:%d)", funcname, __pyx_cfilenm, c_line);
#endif
}
else {
#if PY_MAJOR_VERSION < 3
py_funcname = PyString_FromString(funcname);
#else
py_funcname = PyUnicode_FromString(funcname);
#endif
}
if (!py_funcname) goto bad;
py_code = __Pyx_PyCode_New(
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_DECREF(py_funcname);
return py_code;
bad:
Py_XDECREF(py_srcfile);
Py_XDECREF(py_funcname);
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;
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) {
py_code = __Pyx_CreateCodeObjectForTraceback(
funcname, c_line, py_line, filename);
if (!py_code) goto bad;
__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);
}
/* Print */
#if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION < 3
static PyObject *__Pyx_GetStdout(void) {
PyObject *f = PySys_GetObject((char *)"stdout");
if (!f) {
PyErr_SetString(PyExc_RuntimeError, "lost sys.stdout");
}
return f;
}
static int __Pyx_Print(PyObject* f, PyObject *arg_tuple, int newline) {
int i;
if (!f) {
if (!(f = __Pyx_GetStdout()))
return -1;
}
Py_INCREF(f);
for (i=0; i < PyTuple_GET_SIZE(arg_tuple); i++) {
PyObject* v;
if (PyFile_SoftSpace(f, 1)) {
if (PyFile_WriteString(" ", f) < 0)
goto error;
}
v = PyTuple_GET_ITEM(arg_tuple, i);
if (PyFile_WriteObject(v, f, Py_PRINT_RAW) < 0)
goto error;
if (PyString_Check(v)) {
char *s = PyString_AsString(v);
Py_ssize_t len = PyString_Size(v);
if (len > 0) {
switch (s[len-1]) {
case ' ': break;
case '\f': case '\r': case '\n': case '\t': case '\v':
PyFile_SoftSpace(f, 0);
break;
default: break;
}
}
}
}
if (newline) {
if (PyFile_WriteString("\n", f) < 0)
goto error;
PyFile_SoftSpace(f, 0);
}
Py_DECREF(f);
return 0;
error:
Py_DECREF(f);
return -1;
}
#else
static int __Pyx_Print(PyObject* stream, PyObject *arg_tuple, int newline) {
PyObject* kwargs = 0;
PyObject* result = 0;
PyObject* end_string;
if (unlikely(!__pyx_print)) {
__pyx_print = PyObject_GetAttr(__pyx_b, __pyx_n_s_print);
if (!__pyx_print)
return -1;
}
if (stream) {
kwargs = PyDict_New();
if (unlikely(!kwargs))
return -1;
if (unlikely(PyDict_SetItem(kwargs, __pyx_n_s_file_2, stream) < 0))
goto bad;
if (!newline) {
end_string = PyUnicode_FromStringAndSize(" ", 1);
if (unlikely(!end_string))
goto bad;
if (PyDict_SetItem(kwargs, __pyx_n_s_end, end_string) < 0) {
Py_DECREF(end_string);
goto bad;
}
Py_DECREF(end_string);
}
} else if (!newline) {
if (unlikely(!__pyx_print_kwargs)) {
__pyx_print_kwargs = PyDict_New();
if (unlikely(!__pyx_print_kwargs))
return -1;
end_string = PyUnicode_FromStringAndSize(" ", 1);
if (unlikely(!end_string))
return -1;
if (PyDict_SetItem(__pyx_print_kwargs, __pyx_n_s_end, end_string) < 0) {
Py_DECREF(end_string);
return -1;
}
Py_DECREF(end_string);
}
kwargs = __pyx_print_kwargs;
}
result = PyObject_Call(__pyx_print, arg_tuple, kwargs);
if (unlikely(kwargs) && (kwargs != __pyx_print_kwargs))
Py_DECREF(kwargs);
if (!result)
return -1;
Py_DECREF(result);
return 0;
bad:
if (kwargs != __pyx_print_kwargs)
Py_XDECREF(kwargs);
return -1;
}
#endif
/* CIntFromPyVerify */
#define __PYX_VERIFY_RETURN_INT(target_type, func_type, func_value)\
__PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 0)
#define __PYX_VERIFY_RETURN_INT_EXC(target_type, func_type, func_value)\
__PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, 1)
#define __PYX__VERIFY_RETURN_INT(target_type, func_type, func_value, exc)\
{\
func_type value = func_value;\
if (sizeof(target_type) < sizeof(func_type)) {\
if (unlikely(value != (func_type) (target_type) value)) {\
func_type zero = 0;\
if (exc && unlikely(value == (func_type)-1 && PyErr_Occurred()))\
return (target_type) -1;\
if (is_unsigned && unlikely(value < zero))\
goto raise_neg_overflow;\
else\
goto raise_overflow;\
}\
}\
return (target_type) value;\
}
/* PrintOne */
#if !CYTHON_COMPILING_IN_PYPY && PY_MAJOR_VERSION < 3
static int __Pyx_PrintOne(PyObject* f, PyObject *o) {
if (!f) {
if (!(f = __Pyx_GetStdout()))
return -1;
}
Py_INCREF(f);
if (PyFile_SoftSpace(f, 0)) {
if (PyFile_WriteString(" ", f) < 0)
goto error;
}
if (PyFile_WriteObject(o, f, Py_PRINT_RAW) < 0)
goto error;
if (PyFile_WriteString("\n", f) < 0)
goto error;
Py_DECREF(f);
return 0;
error:
Py_DECREF(f);
return -1;
/* the line below is just to avoid C compiler
* warnings about unused functions */
return __Pyx_Print(f, NULL, 0);
}
#else
static int __Pyx_PrintOne(PyObject* stream, PyObject *o) {
int res;
PyObject* arg_tuple = PyTuple_Pack(1, o);
if (unlikely(!arg_tuple))
return -1;
res = __Pyx_Print(stream, arg_tuple, 1);
Py_DECREF(arg_tuple);
return res;
}
#endif
/* CIntFromPy */
static CYTHON_INLINE int __Pyx_PyInt_As_int(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
const int neg_one = (int) -1, const_zero = (int) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
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
#endif
if (likely(PyLong_Check(x))) {
if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
const digit* digits = ((PyLongObject*)x)->ob_digit;
switch (Py_SIZE(x)) {
case 0: return (int) 0;
case 1: __PYX_VERIFY_RETURN_INT(int, digit, digits[0])
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;
}
#endif
#if CYTHON_COMPILING_IN_CPYTHON
if (unlikely(Py_SIZE(x) < 0)) {
goto raise_neg_overflow;
}
#else
{
int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
if (unlikely(result < 0))
return (int) -1;
if (unlikely(result == 1))
goto raise_neg_overflow;
}
#endif
if (sizeof(int) <= sizeof(unsigned long)) {
__PYX_VERIFY_RETURN_INT_EXC(int, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
} else if (sizeof(int) <= sizeof(unsigned PY_LONG_LONG)) {
__PYX_VERIFY_RETURN_INT_EXC(int, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
}
} else {
#if CYTHON_USE_PYLONG_INTERNALS
const digit* digits = ((PyLongObject*)x)->ob_digit;
switch (Py_SIZE(x)) {
case 0: return (int) 0;
case -1: __PYX_VERIFY_RETURN_INT(int, sdigit, (sdigit) (-(sdigit)digits[0]))
case 1: __PYX_VERIFY_RETURN_INT(int, digit, +digits[0])
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;
}
#endif
if (sizeof(int) <= sizeof(long)) {
__PYX_VERIFY_RETURN_INT_EXC(int, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
} else if (sizeof(int) <= sizeof(PY_LONG_LONG)) {
__PYX_VERIFY_RETURN_INT_EXC(int, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
}
}
{
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
PyErr_SetString(PyExc_RuntimeError,
"_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
int val;
PyObject *v = __Pyx_PyNumber_IntOrLong(x);
#if PY_MAJOR_VERSION < 3
if (likely(v) && !PyLong_Check(v)) {
PyObject *tmp = v;
v = PyNumber_Long(tmp);
Py_DECREF(tmp);
}
#endif
if (likely(v)) {
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
int ret = _PyLong_AsByteArray((PyLongObject *)v,
bytes, sizeof(val),
is_little, !is_unsigned);
Py_DECREF(v);
if (likely(!ret))
return val;
}
#endif
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;
}
/* CIntToPy */
static CYTHON_INLINE PyObject* __Pyx_PyInt_From_long(long value) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
const long neg_one = (long) -1, const_zero = (long) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
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);
#ifdef HAVE_LONG_LONG
} else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
return PyLong_FromUnsignedLongLong((unsigned PY_LONG_LONG) value);
#endif
}
} else {
if (sizeof(long) <= sizeof(long)) {
return PyInt_FromLong((long) value);
#ifdef HAVE_LONG_LONG
} else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
return PyLong_FromLongLong((PY_LONG_LONG) value);
#endif
}
}
{
int one = 1; int little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&value;
return _PyLong_FromByteArray(bytes, sizeof(long),
little, !is_unsigned);
}
}
/* CIntFromPy */
static CYTHON_INLINE long __Pyx_PyInt_As_long(PyObject *x) {
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wconversion"
#endif
const long neg_one = (long) -1, const_zero = (long) 0;
#ifdef __Pyx_HAS_GCC_DIAGNOSTIC
#pragma GCC diagnostic pop
#endif
const int is_unsigned = neg_one > const_zero;
#if PY_MAJOR_VERSION < 3
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
#endif
if (likely(PyLong_Check(x))) {
if (is_unsigned) {
#if CYTHON_USE_PYLONG_INTERNALS
const digit* digits = ((PyLongObject*)x)->ob_digit;
switch (Py_SIZE(x)) {
case 0: return (long) 0;
case 1: __PYX_VERIFY_RETURN_INT(long, digit, digits[0])
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;
}
#endif
#if CYTHON_COMPILING_IN_CPYTHON
if (unlikely(Py_SIZE(x) < 0)) {
goto raise_neg_overflow;
}
#else
{
int result = PyObject_RichCompareBool(x, Py_False, Py_LT);
if (unlikely(result < 0))
return (long) -1;
if (unlikely(result == 1))
goto raise_neg_overflow;
}
#endif
if (sizeof(long) <= sizeof(unsigned long)) {
__PYX_VERIFY_RETURN_INT_EXC(long, unsigned long, PyLong_AsUnsignedLong(x))
#ifdef HAVE_LONG_LONG
} else if (sizeof(long) <= sizeof(unsigned PY_LONG_LONG)) {
__PYX_VERIFY_RETURN_INT_EXC(long, unsigned PY_LONG_LONG, PyLong_AsUnsignedLongLong(x))
#endif
}
} else {
#if CYTHON_USE_PYLONG_INTERNALS
const digit* digits = ((PyLongObject*)x)->ob_digit;
switch (Py_SIZE(x)) {
case 0: return (long) 0;
case -1: __PYX_VERIFY_RETURN_INT(long, sdigit, (sdigit) (-(sdigit)digits[0]))
case 1: __PYX_VERIFY_RETURN_INT(long, digit, +digits[0])
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;
}
#endif
if (sizeof(long) <= sizeof(long)) {
__PYX_VERIFY_RETURN_INT_EXC(long, long, PyLong_AsLong(x))
#ifdef HAVE_LONG_LONG
} else if (sizeof(long) <= sizeof(PY_LONG_LONG)) {
__PYX_VERIFY_RETURN_INT_EXC(long, PY_LONG_LONG, PyLong_AsLongLong(x))
#endif
}
}
{
#if CYTHON_COMPILING_IN_PYPY && !defined(_PyLong_AsByteArray)
PyErr_SetString(PyExc_RuntimeError,
"_PyLong_AsByteArray() not available in PyPy, cannot convert large numbers");
#else
long val;
PyObject *v = __Pyx_PyNumber_IntOrLong(x);
#if PY_MAJOR_VERSION < 3
if (likely(v) && !PyLong_Check(v)) {
PyObject *tmp = v;
v = PyNumber_Long(tmp);
Py_DECREF(tmp);
}
#endif
if (likely(v)) {
int one = 1; int is_little = (int)*(unsigned char *)&one;
unsigned char *bytes = (unsigned char *)&val;
int ret = _PyLong_AsByteArray((PyLongObject *)v,
bytes, sizeof(val),
is_little, !is_unsigned);
Py_DECREF(v);
if (likely(!ret))
return val;
}
#endif
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;
}
/* FastTypeChecks */
#if CYTHON_COMPILING_IN_CPYTHON
static int __Pyx_InBases(PyTypeObject *a, PyTypeObject *b) {
while (a) {
a = a->tp_base;
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);
}
#if PY_MAJOR_VERSION == 2
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;
}
#else
static CYTHON_INLINE int __Pyx_inner_PyErr_GivenExceptionMatches2(PyObject *err, PyObject* exc_type1, PyObject *exc_type2) {
int res = exc_type1 ? __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type1) : 0;
if (!res) {
res = __Pyx_IsSubtype((PyTypeObject*)err, (PyTypeObject*)exc_type2);
}
return res;
}
#endif
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);
#if PY_MAJOR_VERSION >= 3
for (i=0; i<n; i++) {
if (exc_type == PyTuple_GET_ITEM(tuple, i)) return 1;
}
#endif
for (i=0; i<n; i++) {
PyObject *t = PyTuple_GET_ITEM(tuple, i);
#if PY_MAJOR_VERSION < 3
if (likely(exc_type == t)) return 1;
#endif
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));
}
#endif
/* CStringEquals */
static CYTHON_INLINE int __Pyx_StrEq(const char *s1, const char *s2) {
while (*s1 != '\0' && *s1 == *s2) { s1++; s2++; }
return *s1 == *s2;
}
/* CheckBinaryVersion */
static int __Pyx_check_binary_version(void) {
char ctversion[4], rtversion[4];
PyOS_snprintf(ctversion, 4, "%d.%d", PY_MAJOR_VERSION, PY_MINOR_VERSION);
PyOS_snprintf(rtversion, 4, "%s", Py_GetVersion());
if (ctversion[0] != rtversion[0] || ctversion[2] != rtversion[2]) {
char message[200];
PyOS_snprintf(message, sizeof(message),
"compiletime 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_InitStrings(__Pyx_StringTabEntry *t) {
while (t->p) {
#if PY_MAJOR_VERSION < 3
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);
}
#else
if (t->is_unicode | t->is_str) {
if (t->intern) {
*t->p = PyUnicode_InternFromString(t->s);
} else if (t->encoding) {
*t->p = PyUnicode_Decode(t->s, t->n - 1, t->encoding, NULL);
} else {
*t->p = PyUnicode_FromStringAndSize(t->s, t->n - 1);
}
} else {
*t->p = PyBytes_FromStringAndSize(t->s, t->n - 1);
}
#endif
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);
}
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
#if !CYTHON_PEP393_ENABLED
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);
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
{
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;
}
}
}
#endif
*length = PyBytes_GET_SIZE(defenc);
return defenc_c;
}
#else
static CYTHON_INLINE const char* __Pyx_PyUnicode_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
if (unlikely(__Pyx_PyUnicode_READY(o) == -1)) return NULL;
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
if (likely(PyUnicode_IS_ASCII(o))) {
*length = PyUnicode_GET_LENGTH(o);
return PyUnicode_AsUTF8(o);
} else {
PyUnicode_AsASCIIString(o);
return NULL;
}
#else
return PyUnicode_AsUTF8AndSize(o, length);
#endif
}
#endif
#endif
static CYTHON_INLINE const char* __Pyx_PyObject_AsStringAndSize(PyObject* o, Py_ssize_t *length) {
#if __PYX_DEFAULT_STRING_ENCODING_IS_ASCII || __PYX_DEFAULT_STRING_ENCODING_IS_DEFAULT
if (
#if PY_MAJOR_VERSION < 3 && __PYX_DEFAULT_STRING_ENCODING_IS_ASCII
__Pyx_sys_getdefaultencoding_not_ascii &&
#endif
PyUnicode_Check(o)) {
return __Pyx_PyUnicode_AsStringAndSize(o, length);
} else
#endif
#if (!CYTHON_COMPILING_IN_PYPY) || (defined(PyByteArray_AS_STRING) && defined(PyByteArray_GET_SIZE))
if (PyByteArray_Check(o)) {
*length = PyByteArray_GET_SIZE(o);
return PyByteArray_AS_STRING(o);
} else
#endif
{
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) {
#if PY_MAJOR_VERSION >= 3
if (PyLong_Check(result)) {
if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
"__int__ returned non-int (type %.200s). "
"The ability to return an instance of a strict subclass of int "
"is deprecated, and may be removed in a future version of Python.",
Py_TYPE(result)->tp_name)) {
Py_DECREF(result);
return NULL;
}
return result;
}
#endif
PyErr_Format(PyExc_TypeError,
"__%.4s__ returned non-%.4s (type %.200s)",
type_name, type_name, Py_TYPE(result)->tp_name);
Py_DECREF(result);
return NULL;
}
static CYTHON_INLINE PyObject* __Pyx_PyNumber_IntOrLong(PyObject* x) {
#if CYTHON_USE_TYPE_SLOTS
PyNumberMethods *m;
#endif
const char *name = NULL;
PyObject *res = NULL;
#if PY_MAJOR_VERSION < 3
if (likely(PyInt_Check(x) || PyLong_Check(x)))
#else
if (likely(PyLong_Check(x)))
#endif
return __Pyx_NewRef(x);
#if CYTHON_USE_TYPE_SLOTS
m = Py_TYPE(x)->tp_as_number;
#if PY_MAJOR_VERSION < 3
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);
}
#else
if (likely(m && m->nb_int)) {
name = "int";
res = m->nb_int(x);
}
#endif
#else
if (!PyBytes_CheckExact(x) && !PyUnicode_CheckExact(x)) {
res = PyNumber_Int(x);
}
#endif
if (likely(res)) {
#if PY_MAJOR_VERSION < 3
if (unlikely(!PyInt_Check(res) && !PyLong_Check(res))) {
#else
if (unlikely(!PyLong_CheckExact(res))) {
#endif
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 PY_MAJOR_VERSION < 3
if (likely(PyInt_CheckExact(b))) {
if (sizeof(Py_ssize_t) >= sizeof(long))
return PyInt_AS_LONG(b);
else
return PyInt_AsSsize_t(b);
}
#endif
if (likely(PyLong_CheckExact(b))) {
#if CYTHON_USE_PYLONG_INTERNALS
const digit* digits = ((PyLongObject*)b)->ob_digit;
const Py_ssize_t size = Py_SIZE(b);
if (likely(__Pyx_sst_abs(size) <= 1)) {
ival = likely(size) ? digits[0] : 0;
if (size == -1) ival = -ival;
return ival;
} else {
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;
}
}
#endif
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 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);
}
#endif /* Py_PYTHON_H */