Generated by Cython 3.0a6
Yellow lines hint at Python interaction.
Click on a line that starts with a "+
" to see the C code that Cython generated for it.
Raw output: ultragen.cpp
+001: # cython: c_string_type=unicode, c_string_encoding=utf8, language_level=3str
__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;
002: # distutils: language=c++
+003: import json
__pyx_t_1 = __Pyx_ImportDottedModule(__pyx_n_s_json, NULL); 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_json, __pyx_t_1) < 0) __PYX_ERR(0, 3, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
004:
005: cimport cython
006: from libcpp.string cimport string
007: from libc.stdio cimport printf, sprintf
008:
+009: from hypergen.core import context as c
__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_context); __Pyx_GIVEREF(__pyx_n_s_context); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_context); __pyx_t_2 = __Pyx_Import(__pyx_n_s_hypergen_core, __pyx_t_1, 0); 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_context); 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_c, __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;
010:
011: cdef:
+012: string T = <char*>"__TERM__" # Terminate list of strings
__pyx_v_8hypergen_8ultragen_T = ((char *)((char *)"__TERM__"));
+013: string* TT = [T]
__pyx_t_3[0] = __pyx_v_8hypergen_8ultragen_T; __pyx_v_8hypergen_8ultragen_TT = __pyx_t_3;
014:
015:
016: # Hypergen state passed around to everything
+017: cdef Hpg make_hpg():
static struct __pyx_t_8hypergen_8ultragen_Hpg __pyx_f_8hypergen_8ultragen_make_hpg(void) { struct __pyx_t_8hypergen_8ultragen_Hpg __pyx_r; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("make_hpg", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_WriteUnraisable("hypergen.ultragen.make_hpg", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __Pyx_pretend_to_initialize(&__pyx_r); __pyx_L0:; __Pyx_RefNannyFinishContext(); return __pyx_r; }
+018: return Hpg("", "{")
__pyx_t_2 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b_); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 18, __pyx_L1_error) __pyx_t_1.html = __pyx_t_2; __pyx_t_2 = __pyx_convert_string_from_py_std__in_string(__pyx_kp_b__2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 18, __pyx_L1_error) __pyx_t_1.event_handler_callback_str = __pyx_t_2; __pyx_r = __pyx_t_1; goto __pyx_L0;
019:
+020: cdef void commit(Hpg &hpg):
static void __pyx_f_8hypergen_8ultragen_commit(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("commit", 0); /* … */ /* function exit code */ goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_WriteUnraisable("hypergen.ultragen.commit", __pyx_clineno, __pyx_lineno, __pyx_filename, 1, 0); __pyx_L0:; __Pyx_RefNannyFinishContext(); }
021: # TODO: Dont double encode json, use something like this instead:
022: # https://stackoverflow.com/questions/12397279/custom-json-encoder-in-python-with-precomputed-literal-json
+023: hpg.event_handler_callback_str.append("}")
(void)(__pyx_v_hpg.event_handler_callback_str.append(((char const *)"}")));
+024: c.hypergen.into.append(hpg.html)
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_hypergen); 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_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_into); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __pyx_convert_PyUnicode_string_to_py_std__in_string(__pyx_v_hpg.html); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 24, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_Append(__pyx_t_1, __pyx_t_2); if (unlikely(__pyx_t_3 == ((int)-1))) __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;
+025: c.hypergen.event_handler_callbacks.update(json.loads(hpg.event_handler_callback_str))
__Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_c); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_hypergen); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_event_handler_callbacks); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_update); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 25, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_json); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 25, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_loads); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 25, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __pyx_convert_PyUnicode_string_to_py_std__in_string(__pyx_v_hpg.event_handler_callback_str); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 25, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_7 = NULL; __pyx_t_8 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_7 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_7)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); __pyx_t_8 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_7, __pyx_t_5}; __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_6, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 25, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __pyx_t_6 = NULL; __pyx_t_8 = 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_8 = 1; } } { PyObject *__pyx_callargs[2] = {__pyx_t_6, __pyx_t_1}; __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_8, 1+__pyx_t_8); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 25, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
026:
027: # Server callback
+028: cdef string cb(Hpg &hpg, string id_, string attr_name, string url, string* args=TT, int blocks=False,
static std::string __pyx_f_8hypergen_8ultragen_cb(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, std::string __pyx_v_id_, std::string __pyx_v_attr_name, std::string __pyx_v_url, struct __pyx_opt_args_8hypergen_8ultragen_cb *__pyx_optional_args) { std::string *__pyx_v_args = __pyx_k__3; int __pyx_v_blocks = ((int)0); int __pyx_v_debounce = ((int)0); /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* … */ __pyx_k__3 = __pyx_v_8hypergen_8ultragen_TT;
+029: string confirm=<char*>"", int debounce=0, int clear=False, int upload_files=False) nogil:
int __pyx_v_clear = ((int)0); int __pyx_v_upload_files = ((int)0); std::string __pyx_v_html; std::string __pyx_v_client_state_key; std::string __pyx_v_event_handler_callback; int __pyx_v_i; std::string __pyx_v_arg; std::string __pyx_r; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_args = __pyx_optional_args->args; if (__pyx_optional_args->__pyx_n > 1) { __pyx_v_blocks = __pyx_optional_args->blocks; if (__pyx_optional_args->__pyx_n > 3) { __pyx_v_debounce = __pyx_optional_args->debounce; if (__pyx_optional_args->__pyx_n > 4) { __pyx_v_clear = __pyx_optional_args->clear; if (__pyx_optional_args->__pyx_n > 5) { __pyx_v_upload_files = __pyx_optional_args->upload_files; } } } } } } /* … */ __pyx_k__30 = ((char *)((char *)""));
030: cdef:
031: string html
032: string client_state_key
033: string event_handler_callback
034: int i
035:
+036: client_state_key.append(id_)
(void)(__pyx_v_client_state_key.append(__pyx_v_id_));
+037: client_state_key.append("__")
(void)(__pyx_v_client_state_key.append(((char const *)"__")));
+038: client_state_key.append(attr_name)
(void)(__pyx_v_client_state_key.append(__pyx_v_attr_name));
039:
+040: html.append("e(event,'")
(void)(__pyx_v_html.append(((char const *)"e(event,'")));
+041: html.append(client_state_key)
(void)(__pyx_v_html.append(__pyx_v_client_state_key));
+042: html.append("')")
(void)(__pyx_v_html.append(((char const *)"')")));
043:
+044: if hpg.event_handler_callback_str != <char*> "{":
__pyx_t_1 = ((__pyx_v_hpg.event_handler_callback_str != ((char *)((char *)"{"))) != 0); if (__pyx_t_1) { /* … */ }
+045: event_handler_callback.append(',')
(void)(__pyx_v_event_handler_callback.append(((char const *)",")));
+046: event_handler_callback.append('"')
(void)(__pyx_v_event_handler_callback.append(((char const *)"\"")));
+047: event_handler_callback.append(client_state_key)
(void)(__pyx_v_event_handler_callback.append(__pyx_v_client_state_key));
+048: event_handler_callback.append('":')
(void)(__pyx_v_event_handler_callback.append(((char const *)"\":")));
049:
+050: event_handler_callback.append('["hypergen.callback", "')
(void)(__pyx_v_event_handler_callback.append(((char const *)"[\"hypergen.callback\", \"")));
+051: event_handler_callback.append(url)
(void)(__pyx_v_event_handler_callback.append(__pyx_v_url));
+052: event_handler_callback.append('",')
(void)(__pyx_v_event_handler_callback.append(((char const *)"\",")));
053:
+054: event_handler_callback.append('[')
(void)(__pyx_v_event_handler_callback.append(((char const *)"[")));
+055: for i in range(100):
for (__pyx_t_2 = 0; __pyx_t_2 < 0x64; __pyx_t_2+=1) { __pyx_v_i = __pyx_t_2;
+056: arg = args[i]
__pyx_v_arg = (__pyx_v_args[__pyx_v_i]);
+057: if arg == T:
__pyx_t_1 = ((__pyx_v_arg == __pyx_v_8hypergen_8ultragen_T) != 0); if (__pyx_t_1) { /* … */ }
+058: break
goto __pyx_L5_break;
+059: elif i != 0:
__pyx_t_1 = ((__pyx_v_i != 0) != 0); if (__pyx_t_1) { /* … */ }
+060: event_handler_callback.append(",")
(void)(__pyx_v_event_handler_callback.append(((char const *)",")));
+061: event_handler_callback.append(arg)
(void)(__pyx_v_event_handler_callback.append(__pyx_v_arg)); } __pyx_L5_break:;
+062: event_handler_callback.append(']')
(void)(__pyx_v_event_handler_callback.append(((char const *)"]")));
063:
+064: event_handler_callback.append(', {')
(void)(__pyx_v_event_handler_callback.append(((char const *)", {")));
+065: event_handler_callback.append('"blocks":')
(void)(__pyx_v_event_handler_callback.append(((char const *)"\"blocks\":")));
+066: event_handler_callback.append("true") if blocks is True else event_handler_callback.append("false")
if (((__pyx_v_blocks == 1) != 0)) { __pyx_t_3 = __pyx_v_event_handler_callback.append(((char const *)"true")); } else { __pyx_t_3 = __pyx_v_event_handler_callback.append(((char const *)"false")); }
+067: event_handler_callback.append(',"debounce":')
(void)(__pyx_v_event_handler_callback.append(((char const *)",\"debounce\":")));
+068: event_handler_callback.append(n2s(debounce))
(void)(__pyx_v_event_handler_callback.append(__pyx_fuse_0__pyx_f_8hypergen_8ultragen_n2s(__pyx_v_debounce, NULL)));
+069: event_handler_callback.append(',"clear":')
(void)(__pyx_v_event_handler_callback.append(((char const *)",\"clear\":")));
+070: event_handler_callback.append("true") if clear is True else event_handler_callback.append("false")
if (((__pyx_v_clear == 1) != 0)) { __pyx_t_4 = __pyx_v_event_handler_callback.append(((char const *)"true")); } else { __pyx_t_4 = __pyx_v_event_handler_callback.append(((char const *)"false")); }
+071: event_handler_callback.append(',"elementId":"')
(void)(__pyx_v_event_handler_callback.append(((char const *)",\"elementId\":\"")));
+072: event_handler_callback.append(id_)
(void)(__pyx_v_event_handler_callback.append(__pyx_v_id_));
+073: event_handler_callback.append('"')
(void)(__pyx_v_event_handler_callback.append(((char const *)"\"")));
+074: event_handler_callback.append(',"uploadFiles":')
(void)(__pyx_v_event_handler_callback.append(((char const *)",\"uploadFiles\":")));
+075: event_handler_callback.append("true") if upload_files is True else event_handler_callback.append("false")
if (((__pyx_v_upload_files == 1) != 0)) { __pyx_t_5 = __pyx_v_event_handler_callback.append(((char const *)"true")); } else { __pyx_t_5 = __pyx_v_event_handler_callback.append(((char const *)"false")); }
076:
+077: event_handler_callback.append('}')
(void)(__pyx_v_event_handler_callback.append(((char const *)"}")));
+078: event_handler_callback.append("]")
(void)(__pyx_v_event_handler_callback.append(((char const *)"]")));
079:
+080: hpg.event_handler_callback_str.append(event_handler_callback)
(void)(__pyx_v_hpg.event_handler_callback_str.append(__pyx_v_event_handler_callback));
081:
+082: return html
__pyx_r = __pyx_v_html; goto __pyx_L0;
083:
084: # Convert an int or float to a string
085:
+086: cdef string n2s(number v, int float_precision=-1) nogil:
static std::string __pyx_fuse_0__pyx_f_8hypergen_8ultragen_n2s(int __pyx_v_v, struct __pyx_fuse_0__pyx_opt_args_8hypergen_8ultragen_n2s *__pyx_optional_args) { char __pyx_v_s[0x64]; std::string __pyx_r; if (__pyx_optional_args) { } /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; } static std::string __pyx_fuse_1__pyx_f_8hypergen_8ultragen_n2s(double __pyx_v_v, struct __pyx_fuse_1__pyx_opt_args_8hypergen_8ultragen_n2s *__pyx_optional_args) { int __pyx_v_float_precision = __pyx_k__4; char __pyx_v_s[0x64]; char __pyx_v_double_fmt[20]; std::string __pyx_r; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_float_precision = __pyx_optional_args->float_precision; } } /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* … */ __pyx_k__31 = -1L; __pyx_k__4 = -1L; /* … */ struct __pyx_fuse_0__pyx_opt_args_8hypergen_8ultragen_n2s { int __pyx_n; int float_precision; }; struct __pyx_fuse_1__pyx_opt_args_8hypergen_8ultragen_n2s { int __pyx_n; int float_precision; };
087: cdef:
088: char s[100]
089: char double_fmt[20]
090: if number is cython.int:
+091: sprintf(s, "%d", v)
(void)(sprintf(__pyx_v_s, ((char const *)"%d"), __pyx_v_v));
092: elif number is cython.double:
+093: if float_precision == -1:
__pyx_t_1 = ((__pyx_v_float_precision == -1L) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+094: sprintf(s, "%f", v)
(void)(sprintf(__pyx_v_s, ((char const *)"%f"), __pyx_v_v));
095: else:
+096: sprintf(double_fmt, "%%.%df", float_precision)
/*else*/ { (void)(sprintf(__pyx_v_double_fmt, ((char const *)"%%.%df"), __pyx_v_float_precision));
+097: sprintf(s, double_fmt, v)
(void)(sprintf(__pyx_v_s, __pyx_v_double_fmt, __pyx_v_v)); } __pyx_L3:;
098: else:
099: raise Exception("Unknown type")
100:
+101: return <string>s
__pyx_r = ((std::string)__pyx_v_s); goto __pyx_L0; /* … */ __pyx_r = ((std::string)__pyx_v_s); goto __pyx_L0;
102:
+103: cdef string arg(whatever v) nogil:
static std::string __pyx_fuse_0__pyx_f_8hypergen_8ultragen_arg(int __pyx_v_v) { char __pyx_v_s[20]; std::string __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; } static std::string __pyx_fuse_1__pyx_f_8hypergen_8ultragen_arg(double __pyx_v_v) { char __pyx_v_s[20]; std::string __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; } static std::string __pyx_fuse_2__pyx_f_8hypergen_8ultragen_arg(char *__pyx_v_v) { std::string __pyx_v_cs; std::string __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; } static std::string __pyx_fuse_3__pyx_f_8hypergen_8ultragen_arg(std::string __pyx_v_v) { std::string __pyx_r; /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; }
104: cdef char s[20]
105: cdef string cs
106: if whatever is cython.int:
+107: sprintf(s, "%d", v)
(void)(sprintf(__pyx_v_s, ((char const *)"%d"), __pyx_v_v));
+108: return <string> s
__pyx_r = ((std::string)__pyx_v_s); goto __pyx_L0;
109: elif whatever is cython.double:
+110: sprintf(s, "%f", v)
(void)(sprintf(__pyx_v_s, ((char const *)"%f"), __pyx_v_v));
+111: return <string> s
__pyx_r = ((std::string)__pyx_v_s); goto __pyx_L0;
112: elif whatever is cython.p_char:
+113: cs.append('"')
(void)(__pyx_v_cs.append(((char const *)"\"")));
+114: cs.append(v)
(void)(__pyx_v_cs.append(__pyx_v_v));
+115: cs.append('"')
(void)(__pyx_v_cs.append(((char const *)"\"")));
+116: return cs
__pyx_r = __pyx_v_cs; goto __pyx_L0;
117: elif whatever is string:
+118: return v
__pyx_r = __pyx_v_v; goto __pyx_L0;
119: else:
120: raise Exception("Bad type")
121:
122:
+123: cdef string arg_el(string id_, string value_func=<char*>"hypergen.read.value", string coerce_func=<char*>"null") nogil:
static std::string __pyx_f_8hypergen_8ultragen_arg_el(std::string __pyx_v_id_, struct __pyx_opt_args_8hypergen_8ultragen_arg_el *__pyx_optional_args) { std::string __pyx_v_value_func = __pyx_k__5; std::string __pyx_v_coerce_func = __pyx_k__6; std::string __pyx_v_s; std::string __pyx_r; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_value_func = __pyx_optional_args->value_func; if (__pyx_optional_args->__pyx_n > 1) { __pyx_v_coerce_func = __pyx_optional_args->coerce_func; } } } /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* … */ __pyx_k__5 = ((char *)((char *)"hypergen.read.value")); __pyx_k__6 = ((char *)((char *)"null"));
124: cdef string s
+125: s.append('["_","element_value",["')
(void)(__pyx_v_s.append(((char const *)"[\"_\",\"element_value\",[\"")));
+126: s.append(value_func)
(void)(__pyx_v_s.append(__pyx_v_value_func));
+127: s.append('", ')
(void)(__pyx_v_s.append(((char const *)"\", ")));
+128: if coerce_func == <char*>"null":
__pyx_t_1 = ((__pyx_v_coerce_func == ((char *)((char *)"null"))) != 0); if (__pyx_t_1) { /* … */ goto __pyx_L3; }
+129: s.append("null")
(void)(__pyx_v_s.append(((char const *)"null")));
130: else:
+131: s.append('"')
/*else*/ { (void)(__pyx_v_s.append(((char const *)"\"")));
+132: s.append(coerce_func)
(void)(__pyx_v_s.append(__pyx_v_coerce_func));
+133: s.append('"')
(void)(__pyx_v_s.append(((char const *)"\""))); } __pyx_L3:;
134:
+135: s.append(', "')
(void)(__pyx_v_s.append(((char const *)", \"")));
+136: s.append(id_)
(void)(__pyx_v_s.append(__pyx_v_id_));
+137: s.append('"]]')
(void)(__pyx_v_s.append(((char const *)"\"]]")));
138:
+139: return s
__pyx_r = __pyx_v_s; goto __pyx_L0;
140:
141: # Base HTML element
+142: cdef void element(string tag, Hpg &hpg, whatever s, string* attrs=TT) nogil:
static void __pyx_fuse_0__pyx_f_8hypergen_8ultragen_element(std::string __pyx_v_tag, struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, int __pyx_v_s, struct __pyx_fuse_0__pyx_opt_args_8hypergen_8ultragen_element *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__7; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } static void __pyx_fuse_1__pyx_f_8hypergen_8ultragen_element(std::string __pyx_v_tag, struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, double __pyx_v_s, struct __pyx_fuse_1__pyx_opt_args_8hypergen_8ultragen_element *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__8; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } static void __pyx_fuse_2__pyx_f_8hypergen_8ultragen_element(std::string __pyx_v_tag, struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, char *__pyx_v_s, struct __pyx_fuse_2__pyx_opt_args_8hypergen_8ultragen_element *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__9; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } static void __pyx_fuse_3__pyx_f_8hypergen_8ultragen_element(std::string __pyx_v_tag, struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, std::string __pyx_v_s, struct __pyx_fuse_3__pyx_opt_args_8hypergen_8ultragen_element *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__10; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } /* … */ __pyx_k__7 = __pyx_v_8hypergen_8ultragen_TT; __pyx_k__8 = __pyx_v_8hypergen_8ultragen_TT; __pyx_k__9 = __pyx_v_8hypergen_8ultragen_TT; __pyx_k__10 = __pyx_v_8hypergen_8ultragen_TT; /* … */ struct __pyx_fuse_0__pyx_opt_args_8hypergen_8ultragen_element { int __pyx_n; std::string *attrs; }; struct __pyx_fuse_1__pyx_opt_args_8hypergen_8ultragen_element { int __pyx_n; std::string *attrs; }; struct __pyx_fuse_2__pyx_opt_args_8hypergen_8ultragen_element { int __pyx_n; std::string *attrs; }; struct __pyx_fuse_3__pyx_opt_args_8hypergen_8ultragen_element { int __pyx_n; std::string *attrs; };
+143: element_open(tag, hpg, attrs)
__pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_f_8hypergen_8ultragen_element_open(__pyx_v_tag, __pyx_v_hpg, &__pyx_t_1); /* … */ __pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_f_8hypergen_8ultragen_element_open(__pyx_v_tag, __pyx_v_hpg, &__pyx_t_1); /* … */ __pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_f_8hypergen_8ultragen_element_open(__pyx_v_tag, __pyx_v_hpg, &__pyx_t_1); /* … */ __pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_f_8hypergen_8ultragen_element_open(__pyx_v_tag, __pyx_v_hpg, &__pyx_t_1);
144: if whatever is cython.int:
+145: hpg.html.append(n2s(s))
(void)(__pyx_v_hpg.html.append(__pyx_fuse_0__pyx_f_8hypergen_8ultragen_n2s(__pyx_v_s, NULL)));
146: elif whatever is cython.double:
+147: hpg.html.append(n2s(s))
(void)(__pyx_v_hpg.html.append(__pyx_fuse_1__pyx_f_8hypergen_8ultragen_n2s(__pyx_v_s, NULL)));
148: elif whatever is cython.p_char:
+149: hpg.html.append(s)
(void)(__pyx_v_hpg.html.append(__pyx_v_s));
150: elif whatever is string:
+151: hpg.html.append(s)
(void)(__pyx_v_hpg.html.append(__pyx_v_s));
152: # elif whatever is unicode:
153: # with gil:
154: # hpg.html.append(<string>s)
155: else:
156: raise Exception("Bad type")
+157: element_close(tag, hpg)
__pyx_f_8hypergen_8ultragen_element_close(__pyx_v_tag, __pyx_v_hpg); /* … */ __pyx_f_8hypergen_8ultragen_element_close(__pyx_v_tag, __pyx_v_hpg); /* … */ __pyx_f_8hypergen_8ultragen_element_close(__pyx_v_tag, __pyx_v_hpg); /* … */ __pyx_f_8hypergen_8ultragen_element_close(__pyx_v_tag, __pyx_v_hpg);
158:
+159: cdef void element_open(string tag, Hpg &hpg, string* attrs=TT) nogil:
static void __pyx_f_8hypergen_8ultragen_element_open(std::string __pyx_v_tag, struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, struct __pyx_opt_args_8hypergen_8ultragen_element_open *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__11; int __pyx_v_i; int __pyx_v_j; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } /* … */ __pyx_k__11 = __pyx_v_8hypergen_8ultragen_TT; /* … */ struct __pyx_opt_args_8hypergen_8ultragen_element_open { int __pyx_n; std::string *attrs; };
160: cdef int i, j
+161: hpg.html.append('<')
(void)(__pyx_v_hpg.html.append(((char const *)"<")));
+162: hpg.html.append(tag)
(void)(__pyx_v_hpg.html.append(__pyx_v_tag));
163:
+164: if attrs[0] != T:
__pyx_t_1 = (((__pyx_v_attrs[0]) != __pyx_v_8hypergen_8ultragen_T) != 0); if (__pyx_t_1) { /* … */ }
+165: for i in range(0, 100, 2):
for (__pyx_t_2 = 0; __pyx_t_2 < 0x64; __pyx_t_2+=2) { __pyx_v_i = __pyx_t_2;
+166: j = i + 1
__pyx_v_j = (__pyx_v_i + 1);
+167: if attrs[i] == T:
__pyx_t_1 = (((__pyx_v_attrs[__pyx_v_i]) == __pyx_v_8hypergen_8ultragen_T) != 0); if (__pyx_t_1) { /* … */ }
+168: break
goto __pyx_L5_break;
169: else:
+170: hpg.html.append(" ")
/*else*/ { (void)(__pyx_v_hpg.html.append(((char const *)" ")));
+171: hpg.html.append(attrs[i])
(void)(__pyx_v_hpg.html.append((__pyx_v_attrs[__pyx_v_i])));
+172: hpg.html.append('="')
(void)(__pyx_v_hpg.html.append(((char const *)"=\"")));
+173: hpg.html.append(attrs[j])
(void)(__pyx_v_hpg.html.append((__pyx_v_attrs[__pyx_v_j])));
+174: hpg.html.append('"')
(void)(__pyx_v_hpg.html.append(((char const *)"\""))); } } __pyx_L5_break:;
175:
+176: hpg.html.append('>')
(void)(__pyx_v_hpg.html.append(((char const *)">")));
177:
+178: cdef void element_close(string tag, Hpg &hpg) nogil:
static void __pyx_f_8hypergen_8ultragen_element_close(std::string __pyx_v_tag, struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg) { /* … */ /* function exit code */ }
+179: hpg.html.append('</')
(void)(__pyx_v_hpg.html.append(((char const *)"</")));
+180: hpg.html.append(tag)
(void)(__pyx_v_hpg.html.append(__pyx_v_tag));
+181: hpg.html.append('>\n')
(void)(__pyx_v_hpg.html.append(((char const *)">\n")));
182:
183: # HTML elements
+184: cdef inline void div(Hpg &hpg, whatever s, string* attrs=TT) nogil:
static CYTHON_INLINE void __pyx_fuse_0__pyx_f_8hypergen_8ultragen_div(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, int __pyx_v_s, struct __pyx_fuse_0__pyx_opt_args_8hypergen_8ultragen_div *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__12; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } static CYTHON_INLINE void __pyx_fuse_1__pyx_f_8hypergen_8ultragen_div(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, double __pyx_v_s, struct __pyx_fuse_1__pyx_opt_args_8hypergen_8ultragen_div *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__13; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } static CYTHON_INLINE void __pyx_fuse_2__pyx_f_8hypergen_8ultragen_div(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, char *__pyx_v_s, struct __pyx_fuse_2__pyx_opt_args_8hypergen_8ultragen_div *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__14; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } static CYTHON_INLINE void __pyx_fuse_3__pyx_f_8hypergen_8ultragen_div(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, std::string __pyx_v_s, struct __pyx_fuse_3__pyx_opt_args_8hypergen_8ultragen_div *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__15; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } /* … */ __pyx_k__12 = __pyx_v_8hypergen_8ultragen_TT; __pyx_k__13 = __pyx_v_8hypergen_8ultragen_TT; __pyx_k__14 = __pyx_v_8hypergen_8ultragen_TT; __pyx_k__15 = __pyx_v_8hypergen_8ultragen_TT; /* … */ struct __pyx_fuse_0__pyx_opt_args_8hypergen_8ultragen_div { int __pyx_n; std::string *attrs; }; struct __pyx_fuse_1__pyx_opt_args_8hypergen_8ultragen_div { int __pyx_n; std::string *attrs; }; struct __pyx_fuse_2__pyx_opt_args_8hypergen_8ultragen_div { int __pyx_n; std::string *attrs; }; struct __pyx_fuse_3__pyx_opt_args_8hypergen_8ultragen_div { int __pyx_n; std::string *attrs; };
+185: element(<char*>"div", hpg, s, attrs)
__pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_fuse_0__pyx_f_8hypergen_8ultragen_element(((char *)((char *)"div")), __pyx_v_hpg, __pyx_v_s, &__pyx_t_1); /* … */ __pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_fuse_1__pyx_f_8hypergen_8ultragen_element(((char *)((char *)"div")), __pyx_v_hpg, __pyx_v_s, &__pyx_t_1); /* … */ __pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_fuse_2__pyx_f_8hypergen_8ultragen_element(((char *)((char *)"div")), __pyx_v_hpg, __pyx_v_s, &__pyx_t_1); /* … */ __pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_fuse_3__pyx_f_8hypergen_8ultragen_element(((char *)((char *)"div")), __pyx_v_hpg, __pyx_v_s, &__pyx_t_1);
186:
+187: cdef inline void p(Hpg &hpg, whatever s, string* attrs=TT) nogil:
static CYTHON_INLINE void __pyx_fuse_0__pyx_f_8hypergen_8ultragen_p(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, int __pyx_v_s, struct __pyx_fuse_0__pyx_opt_args_8hypergen_8ultragen_p *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__16; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } static CYTHON_INLINE void __pyx_fuse_1__pyx_f_8hypergen_8ultragen_p(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, double __pyx_v_s, struct __pyx_fuse_1__pyx_opt_args_8hypergen_8ultragen_p *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__17; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } static CYTHON_INLINE void __pyx_fuse_2__pyx_f_8hypergen_8ultragen_p(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, char *__pyx_v_s, struct __pyx_fuse_2__pyx_opt_args_8hypergen_8ultragen_p *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__18; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } static CYTHON_INLINE void __pyx_fuse_3__pyx_f_8hypergen_8ultragen_p(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, std::string __pyx_v_s, struct __pyx_fuse_3__pyx_opt_args_8hypergen_8ultragen_p *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__19; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } /* … */ __pyx_k__16 = __pyx_v_8hypergen_8ultragen_TT; __pyx_k__17 = __pyx_v_8hypergen_8ultragen_TT; __pyx_k__18 = __pyx_v_8hypergen_8ultragen_TT; __pyx_k__19 = __pyx_v_8hypergen_8ultragen_TT; /* … */ struct __pyx_fuse_0__pyx_opt_args_8hypergen_8ultragen_p { int __pyx_n; std::string *attrs; }; struct __pyx_fuse_1__pyx_opt_args_8hypergen_8ultragen_p { int __pyx_n; std::string *attrs; }; struct __pyx_fuse_2__pyx_opt_args_8hypergen_8ultragen_p { int __pyx_n; std::string *attrs; };
+188: element(<char*>"p", hpg, s, attrs)
__pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_fuse_0__pyx_f_8hypergen_8ultragen_element(((char *)((char *)"p")), __pyx_v_hpg, __pyx_v_s, &__pyx_t_1); /* … */ __pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_fuse_1__pyx_f_8hypergen_8ultragen_element(((char *)((char *)"p")), __pyx_v_hpg, __pyx_v_s, &__pyx_t_1); /* … */ __pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_fuse_2__pyx_f_8hypergen_8ultragen_element(((char *)((char *)"p")), __pyx_v_hpg, __pyx_v_s, &__pyx_t_1); /* … */ __pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_fuse_3__pyx_f_8hypergen_8ultragen_element(((char *)((char *)"p")), __pyx_v_hpg, __pyx_v_s, &__pyx_t_1);
189:
+190: cdef inline void a(Hpg &hpg, string s, string* attrs=TT) nogil:
static CYTHON_INLINE void __pyx_f_8hypergen_8ultragen_a(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, std::string __pyx_v_s, struct __pyx_opt_args_8hypergen_8ultragen_a *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__20; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } /* … */ __pyx_k__20 = __pyx_v_8hypergen_8ultragen_TT;
+191: element(<char*>"a", hpg, s, attrs)
__pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_fuse_3__pyx_f_8hypergen_8ultragen_element(((char *)((char *)"a")), __pyx_v_hpg, __pyx_v_s, &__pyx_t_1);
192:
+193: cdef inline void h1(Hpg &hpg, string s, string* attrs=TT) nogil:
static CYTHON_INLINE void __pyx_f_8hypergen_8ultragen_h1(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, std::string __pyx_v_s, struct __pyx_opt_args_8hypergen_8ultragen_h1 *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__21; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } /* … */ __pyx_k__21 = __pyx_v_8hypergen_8ultragen_TT;
+194: element(<char*>"h1", hpg, s, attrs)
__pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_fuse_3__pyx_f_8hypergen_8ultragen_element(((char *)((char *)"h1")), __pyx_v_hpg, __pyx_v_s, &__pyx_t_1);
195:
+196: cdef inline void b(Hpg &hpg, string s, string* attrs=TT) nogil:
static CYTHON_INLINE void __pyx_f_8hypergen_8ultragen_b(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, std::string __pyx_v_s, struct __pyx_opt_args_8hypergen_8ultragen_b *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__22; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } /* … */ __pyx_k__22 = __pyx_v_8hypergen_8ultragen_TT;
+197: element(<char*>"b", hpg, s, attrs)
__pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_fuse_3__pyx_f_8hypergen_8ultragen_element(((char *)((char *)"b")), __pyx_v_hpg, __pyx_v_s, &__pyx_t_1);
198:
+199: cdef inline void button(Hpg &hpg, string s, string* attrs=TT) nogil:
static CYTHON_INLINE void __pyx_f_8hypergen_8ultragen_button(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, std::string __pyx_v_s, struct __pyx_opt_args_8hypergen_8ultragen_button *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__23; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } /* … */ __pyx_k__23 = __pyx_v_8hypergen_8ultragen_TT;
+200: element(<char*>"button", hpg, s, attrs)
__pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_fuse_3__pyx_f_8hypergen_8ultragen_element(((char *)((char *)"button")), __pyx_v_hpg, __pyx_v_s, &__pyx_t_1);
201:
+202: cdef inline int table_o(Hpg &hpg, string* attrs=TT) nogil:
static CYTHON_INLINE int __pyx_f_8hypergen_8ultragen_table_o(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, struct __pyx_opt_args_8hypergen_8ultragen_table_o *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__24; int __pyx_r; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* … */ __pyx_k__24 = __pyx_v_8hypergen_8ultragen_TT;
+203: element_open(<char*>"table", hpg, attrs)
__pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_f_8hypergen_8ultragen_element_open(((char *)((char *)"table")), __pyx_v_hpg, &__pyx_t_1);
+204: return True
__pyx_r = 1; goto __pyx_L0;
205:
+206: cdef inline void table_c(Hpg &hpg) nogil:
static CYTHON_INLINE void __pyx_f_8hypergen_8ultragen_table_c(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg) { /* … */ /* function exit code */ }
+207: element_close(<char*>"table", hpg)
__pyx_f_8hypergen_8ultragen_element_close(((char *)((char *)"table")), __pyx_v_hpg);
208:
+209: cdef inline void tr(Hpg &hpg, string s, string* attrs=TT) nogil:
static CYTHON_INLINE void __pyx_f_8hypergen_8ultragen_tr(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, std::string __pyx_v_s, struct __pyx_opt_args_8hypergen_8ultragen_tr *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__25; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } /* … */ __pyx_k__25 = __pyx_v_8hypergen_8ultragen_TT;
+210: element(<char*>"tr", hpg, s, attrs)
__pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_fuse_3__pyx_f_8hypergen_8ultragen_element(((char *)((char *)"tr")), __pyx_v_hpg, __pyx_v_s, &__pyx_t_1);
211:
+212: cdef inline int tr_o(Hpg &hpg, string* attrs=TT) nogil:
static CYTHON_INLINE int __pyx_f_8hypergen_8ultragen_tr_o(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, struct __pyx_opt_args_8hypergen_8ultragen_tr_o *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__26; int __pyx_r; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ __pyx_L0:; return __pyx_r; } /* … */ __pyx_k__26 = __pyx_v_8hypergen_8ultragen_TT;
+213: element_open(<char*>"tr", hpg, attrs)
__pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_f_8hypergen_8ultragen_element_open(((char *)((char *)"tr")), __pyx_v_hpg, &__pyx_t_1);
+214: return True
__pyx_r = 1; goto __pyx_L0;
215:
+216: cdef inline void tr_c(Hpg &hpg) nogil:
static CYTHON_INLINE void __pyx_f_8hypergen_8ultragen_tr_c(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg) { /* … */ /* function exit code */ }
+217: element_close(<char*>"tr", hpg)
__pyx_f_8hypergen_8ultragen_element_close(((char *)((char *)"tr")), __pyx_v_hpg);
218:
+219: cdef inline void td(Hpg &hpg, string s, string* attrs=TT) nogil:
static CYTHON_INLINE void __pyx_f_8hypergen_8ultragen_td(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, std::string __pyx_v_s, struct __pyx_opt_args_8hypergen_8ultragen_td *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__27; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } /* … */ __pyx_k__27 = __pyx_v_8hypergen_8ultragen_TT;
+220: element(<char*>"td", hpg, s, attrs)
__pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_fuse_3__pyx_f_8hypergen_8ultragen_element(((char *)((char *)"td")), __pyx_v_hpg, __pyx_v_s, &__pyx_t_1);
221:
+222: cdef inline void textarea(Hpg &hpg, string s, string* attrs=TT) nogil:
static CYTHON_INLINE void __pyx_f_8hypergen_8ultragen_textarea(struct __pyx_t_8hypergen_8ultragen_Hpg &__pyx_v_hpg, std::string __pyx_v_s, struct __pyx_opt_args_8hypergen_8ultragen_textarea *__pyx_optional_args) { std::string *__pyx_v_attrs = __pyx_k__28; if (__pyx_optional_args) { if (__pyx_optional_args->__pyx_n > 0) { __pyx_v_attrs = __pyx_optional_args->attrs; } } /* … */ /* function exit code */ } /* … */ __pyx_k__28 = __pyx_v_8hypergen_8ultragen_TT;
+223: element(<char*>"textarea", hpg, s, attrs)
__pyx_t_1.__pyx_n = 1; __pyx_t_1.attrs = __pyx_v_attrs; __pyx_fuse_3__pyx_f_8hypergen_8ultragen_element(((char *)((char *)"textarea")), __pyx_v_hpg, __pyx_v_s, &__pyx_t_1);