selectolax 0.3.17__cp38-cp38-macosx_10_9_universal2.whl → 0.3.18__cp38-cp38-macosx_10_9_universal2.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of selectolax might be problematic. Click here for more details.
- selectolax/__init__.py +1 -1
- selectolax/lexbor/selection.pxi +1 -0
- selectolax/lexbor.c +215 -206
- selectolax/lexbor.cpython-38-darwin.so +0 -0
- selectolax/lexbor.pyx +1 -1
- selectolax/parser.cpython-38-darwin.so +0 -0
- {selectolax-0.3.17.dist-info → selectolax-0.3.18.dist-info}/METADATA +1 -1
- {selectolax-0.3.17.dist-info → selectolax-0.3.18.dist-info}/RECORD +11 -11
- {selectolax-0.3.17.dist-info → selectolax-0.3.18.dist-info}/LICENSE +0 -0
- {selectolax-0.3.17.dist-info → selectolax-0.3.18.dist-info}/WHEEL +0 -0
- {selectolax-0.3.17.dist-info → selectolax-0.3.18.dist-info}/top_level.txt +0 -0
selectolax/lexbor.c
CHANGED
|
@@ -1327,7 +1327,7 @@ struct __pyx_obj_10selectolax_6lexbor_TextContainer {
|
|
|
1327
1327
|
};
|
|
1328
1328
|
|
|
1329
1329
|
|
|
1330
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
1330
|
+
/* "selectolax/lexbor/selection.pxi":87
|
|
1331
1331
|
*
|
|
1332
1332
|
*
|
|
1333
1333
|
* cdef class LexborSelector: # <<<<<<<<<<<<<<
|
|
@@ -1491,7 +1491,7 @@ static struct __pyx_vtabstruct_10selectolax_6lexbor_LexborAttributes *__pyx_vtab
|
|
|
1491
1491
|
static struct __pyx_obj_10selectolax_6lexbor_LexborAttributes *__pyx_f_10selectolax_6lexbor_16LexborAttributes_create(lxb_dom_node_t *);
|
|
1492
1492
|
|
|
1493
1493
|
|
|
1494
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
1494
|
+
/* "selectolax/lexbor/selection.pxi":87
|
|
1495
1495
|
*
|
|
1496
1496
|
*
|
|
1497
1497
|
* cdef class LexborSelector: # <<<<<<<<<<<<<<
|
|
@@ -18818,7 +18818,7 @@ static PyObject *__pyx_f_10selectolax_6lexbor_17LexborCSSSelector_any_matches(st
|
|
|
18818
18818
|
* raise SelectolaxError("Can't parse CSS selector.")
|
|
18819
18819
|
* result = bool(self.results) # <<<<<<<<<<<<<<
|
|
18820
18820
|
* self.results = []
|
|
18821
|
-
*
|
|
18821
|
+
* lxb_css_selector_list_destroy_memory(selectors_list)
|
|
18822
18822
|
*/
|
|
18823
18823
|
__pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_7cpython_4bool_bool), __pyx_v_self->results); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 73, __pyx_L1_error)
|
|
18824
18824
|
__Pyx_GOTREF(__pyx_t_1);
|
|
@@ -18829,8 +18829,8 @@ static PyObject *__pyx_f_10selectolax_6lexbor_17LexborCSSSelector_any_matches(st
|
|
|
18829
18829
|
* raise SelectolaxError("Can't parse CSS selector.")
|
|
18830
18830
|
* result = bool(self.results)
|
|
18831
18831
|
* self.results = [] # <<<<<<<<<<<<<<
|
|
18832
|
+
* lxb_css_selector_list_destroy_memory(selectors_list)
|
|
18832
18833
|
* return result
|
|
18833
|
-
*
|
|
18834
18834
|
*/
|
|
18835
18835
|
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 74, __pyx_L1_error)
|
|
18836
18836
|
__Pyx_GOTREF(__pyx_t_1);
|
|
@@ -18843,6 +18843,15 @@ static PyObject *__pyx_f_10selectolax_6lexbor_17LexborCSSSelector_any_matches(st
|
|
|
18843
18843
|
/* "selectolax/lexbor/selection.pxi":75
|
|
18844
18844
|
* result = bool(self.results)
|
|
18845
18845
|
* self.results = []
|
|
18846
|
+
* lxb_css_selector_list_destroy_memory(selectors_list) # <<<<<<<<<<<<<<
|
|
18847
|
+
* return result
|
|
18848
|
+
*
|
|
18849
|
+
*/
|
|
18850
|
+
lxb_css_selector_list_destroy_memory(__pyx_v_selectors_list);
|
|
18851
|
+
|
|
18852
|
+
/* "selectolax/lexbor/selection.pxi":76
|
|
18853
|
+
* self.results = []
|
|
18854
|
+
* lxb_css_selector_list_destroy_memory(selectors_list)
|
|
18846
18855
|
* return result # <<<<<<<<<<<<<<
|
|
18847
18856
|
*
|
|
18848
18857
|
*
|
|
@@ -18973,7 +18982,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_17LexborCSSSelector_4any_matches(
|
|
|
18973
18982
|
return __pyx_r;
|
|
18974
18983
|
}
|
|
18975
18984
|
|
|
18976
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
18985
|
+
/* "selectolax/lexbor/selection.pxi":79
|
|
18977
18986
|
*
|
|
18978
18987
|
*
|
|
18979
18988
|
* def __dealloc__(self): # <<<<<<<<<<<<<<
|
|
@@ -18996,7 +19005,7 @@ static void __pyx_pf_10selectolax_6lexbor_17LexborCSSSelector_6__dealloc__(struc
|
|
|
18996
19005
|
__Pyx_RefNannyDeclarations
|
|
18997
19006
|
__Pyx_RefNannySetupContext("__dealloc__", 0);
|
|
18998
19007
|
|
|
18999
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19008
|
+
/* "selectolax/lexbor/selection.pxi":80
|
|
19000
19009
|
*
|
|
19001
19010
|
* def __dealloc__(self):
|
|
19002
19011
|
* lxb_selectors_destroy(self.selectors, True) # <<<<<<<<<<<<<<
|
|
@@ -19005,7 +19014,7 @@ static void __pyx_pf_10selectolax_6lexbor_17LexborCSSSelector_6__dealloc__(struc
|
|
|
19005
19014
|
*/
|
|
19006
19015
|
(void)(lxb_selectors_destroy(__pyx_v_self->selectors, 1));
|
|
19007
19016
|
|
|
19008
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19017
|
+
/* "selectolax/lexbor/selection.pxi":81
|
|
19009
19018
|
* def __dealloc__(self):
|
|
19010
19019
|
* lxb_selectors_destroy(self.selectors, True)
|
|
19011
19020
|
* lxb_css_parser_destroy(self.parser, True) # <<<<<<<<<<<<<<
|
|
@@ -19014,7 +19023,7 @@ static void __pyx_pf_10selectolax_6lexbor_17LexborCSSSelector_6__dealloc__(struc
|
|
|
19014
19023
|
*/
|
|
19015
19024
|
(void)(lxb_css_parser_destroy(__pyx_v_self->parser, 1));
|
|
19016
19025
|
|
|
19017
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19026
|
+
/* "selectolax/lexbor/selection.pxi":82
|
|
19018
19027
|
* lxb_selectors_destroy(self.selectors, True)
|
|
19019
19028
|
* lxb_css_parser_destroy(self.parser, True)
|
|
19020
19029
|
* lxb_css_selectors_destroy(self.css_selectors, True) # <<<<<<<<<<<<<<
|
|
@@ -19023,7 +19032,7 @@ static void __pyx_pf_10selectolax_6lexbor_17LexborCSSSelector_6__dealloc__(struc
|
|
|
19023
19032
|
*/
|
|
19024
19033
|
(void)(lxb_css_selectors_destroy(__pyx_v_self->css_selectors, 1));
|
|
19025
19034
|
|
|
19026
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19035
|
+
/* "selectolax/lexbor/selection.pxi":79
|
|
19027
19036
|
*
|
|
19028
19037
|
*
|
|
19029
19038
|
* def __dealloc__(self): # <<<<<<<<<<<<<<
|
|
@@ -19366,7 +19375,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_17LexborCSSSelector_10__setstate_
|
|
|
19366
19375
|
return __pyx_r;
|
|
19367
19376
|
}
|
|
19368
19377
|
|
|
19369
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19378
|
+
/* "selectolax/lexbor/selection.pxi":97
|
|
19370
19379
|
* cdef list nodes
|
|
19371
19380
|
*
|
|
19372
19381
|
* def __init__(self, LexborNode node, query): # <<<<<<<<<<<<<<
|
|
@@ -19408,11 +19417,11 @@ static int __pyx_pw_10selectolax_6lexbor_14LexborSelector_1__init__(PyObject *__
|
|
|
19408
19417
|
case 1:
|
|
19409
19418
|
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_query)) != 0)) kw_args--;
|
|
19410
19419
|
else {
|
|
19411
|
-
__Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(5,
|
|
19420
|
+
__Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(5, 97, __pyx_L3_error)
|
|
19412
19421
|
}
|
|
19413
19422
|
}
|
|
19414
19423
|
if (unlikely(kw_args > 0)) {
|
|
19415
|
-
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(5,
|
|
19424
|
+
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(5, 97, __pyx_L3_error)
|
|
19416
19425
|
}
|
|
19417
19426
|
} else if (PyTuple_GET_SIZE(__pyx_args) != 2) {
|
|
19418
19427
|
goto __pyx_L5_argtuple_error;
|
|
@@ -19425,13 +19434,13 @@ static int __pyx_pw_10selectolax_6lexbor_14LexborSelector_1__init__(PyObject *__
|
|
|
19425
19434
|
}
|
|
19426
19435
|
goto __pyx_L4_argument_unpacking_done;
|
|
19427
19436
|
__pyx_L5_argtuple_error:;
|
|
19428
|
-
__Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(5,
|
|
19437
|
+
__Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(5, 97, __pyx_L3_error)
|
|
19429
19438
|
__pyx_L3_error:;
|
|
19430
19439
|
__Pyx_AddTraceback("selectolax.lexbor.LexborSelector.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
|
|
19431
19440
|
__Pyx_RefNannyFinishContext();
|
|
19432
19441
|
return -1;
|
|
19433
19442
|
__pyx_L4_argument_unpacking_done:;
|
|
19434
|
-
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_node), __pyx_ptype_10selectolax_6lexbor_LexborNode, 1, "node", 0))) __PYX_ERR(5,
|
|
19443
|
+
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_node), __pyx_ptype_10selectolax_6lexbor_LexborNode, 1, "node", 0))) __PYX_ERR(5, 97, __pyx_L1_error)
|
|
19435
19444
|
__pyx_r = __pyx_pf_10selectolax_6lexbor_14LexborSelector___init__(((struct __pyx_obj_10selectolax_6lexbor_LexborSelector *)__pyx_v_self), __pyx_v_node, __pyx_v_query);
|
|
19436
19445
|
|
|
19437
19446
|
/* function exit code */
|
|
@@ -19458,7 +19467,7 @@ static int __pyx_pf_10selectolax_6lexbor_14LexborSelector___init__(struct __pyx_
|
|
|
19458
19467
|
int __pyx_clineno = 0;
|
|
19459
19468
|
__Pyx_RefNannySetupContext("__init__", 0);
|
|
19460
19469
|
|
|
19461
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19470
|
+
/* "selectolax/lexbor/selection.pxi":98
|
|
19462
19471
|
*
|
|
19463
19472
|
* def __init__(self, LexborNode node, query):
|
|
19464
19473
|
* self.node = node # <<<<<<<<<<<<<<
|
|
@@ -19471,18 +19480,18 @@ static int __pyx_pf_10selectolax_6lexbor_14LexborSelector___init__(struct __pyx_
|
|
|
19471
19480
|
__Pyx_DECREF(((PyObject *)__pyx_v_self->node));
|
|
19472
19481
|
__pyx_v_self->node = __pyx_v_node;
|
|
19473
19482
|
|
|
19474
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19483
|
+
/* "selectolax/lexbor/selection.pxi":99
|
|
19475
19484
|
* def __init__(self, LexborNode node, query):
|
|
19476
19485
|
* self.node = node
|
|
19477
19486
|
* self.nodes = self.node.parser.selector.find(query, self.node) if query else [node, ] # <<<<<<<<<<<<<<
|
|
19478
19487
|
*
|
|
19479
19488
|
*
|
|
19480
19489
|
*/
|
|
19481
|
-
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_query); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(5,
|
|
19490
|
+
__pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_v_query); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(5, 99, __pyx_L1_error)
|
|
19482
19491
|
if (__pyx_t_2) {
|
|
19483
|
-
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->node->parser), __pyx_n_s_selector); if (unlikely(!__pyx_t_4)) __PYX_ERR(5,
|
|
19492
|
+
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self->node->parser), __pyx_n_s_selector); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 99, __pyx_L1_error)
|
|
19484
19493
|
__Pyx_GOTREF(__pyx_t_4);
|
|
19485
|
-
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_find); if (unlikely(!__pyx_t_5)) __PYX_ERR(5,
|
|
19494
|
+
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_find); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 99, __pyx_L1_error)
|
|
19486
19495
|
__Pyx_GOTREF(__pyx_t_5);
|
|
19487
19496
|
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
19488
19497
|
__pyx_t_4 = NULL;
|
|
@@ -19500,7 +19509,7 @@ static int __pyx_pf_10selectolax_6lexbor_14LexborSelector___init__(struct __pyx_
|
|
|
19500
19509
|
#if CYTHON_FAST_PYCALL
|
|
19501
19510
|
if (PyFunction_Check(__pyx_t_5)) {
|
|
19502
19511
|
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_query, ((PyObject *)__pyx_v_self->node)};
|
|
19503
|
-
__pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(5,
|
|
19512
|
+
__pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 99, __pyx_L1_error)
|
|
19504
19513
|
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
19505
19514
|
__Pyx_GOTREF(__pyx_t_3);
|
|
19506
19515
|
} else
|
|
@@ -19508,13 +19517,13 @@ static int __pyx_pf_10selectolax_6lexbor_14LexborSelector___init__(struct __pyx_
|
|
|
19508
19517
|
#if CYTHON_FAST_PYCCALL
|
|
19509
19518
|
if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) {
|
|
19510
19519
|
PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_v_query, ((PyObject *)__pyx_v_self->node)};
|
|
19511
|
-
__pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(5,
|
|
19520
|
+
__pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 99, __pyx_L1_error)
|
|
19512
19521
|
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
19513
19522
|
__Pyx_GOTREF(__pyx_t_3);
|
|
19514
19523
|
} else
|
|
19515
19524
|
#endif
|
|
19516
19525
|
{
|
|
19517
|
-
__pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(5,
|
|
19526
|
+
__pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(5, 99, __pyx_L1_error)
|
|
19518
19527
|
__Pyx_GOTREF(__pyx_t_7);
|
|
19519
19528
|
if (__pyx_t_4) {
|
|
19520
19529
|
__Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_4); __pyx_t_4 = NULL;
|
|
@@ -19525,16 +19534,16 @@ static int __pyx_pf_10selectolax_6lexbor_14LexborSelector___init__(struct __pyx_
|
|
|
19525
19534
|
__Pyx_INCREF(((PyObject *)__pyx_v_self->node));
|
|
19526
19535
|
__Pyx_GIVEREF(((PyObject *)__pyx_v_self->node));
|
|
19527
19536
|
PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, ((PyObject *)__pyx_v_self->node));
|
|
19528
|
-
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(5,
|
|
19537
|
+
__pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 99, __pyx_L1_error)
|
|
19529
19538
|
__Pyx_GOTREF(__pyx_t_3);
|
|
19530
19539
|
__Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0;
|
|
19531
19540
|
}
|
|
19532
19541
|
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
|
|
19533
|
-
if (!(likely(PyList_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(5,
|
|
19542
|
+
if (!(likely(PyList_CheckExact(__pyx_t_3))||((__pyx_t_3) == Py_None)||((void)PyErr_Format(PyExc_TypeError, "Expected %.16s, got %.200s", "list", Py_TYPE(__pyx_t_3)->tp_name), 0))) __PYX_ERR(5, 99, __pyx_L1_error)
|
|
19534
19543
|
__pyx_t_1 = __pyx_t_3;
|
|
19535
19544
|
__pyx_t_3 = 0;
|
|
19536
19545
|
} else {
|
|
19537
|
-
__pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(5,
|
|
19546
|
+
__pyx_t_3 = PyList_New(1); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 99, __pyx_L1_error)
|
|
19538
19547
|
__Pyx_GOTREF(__pyx_t_3);
|
|
19539
19548
|
__Pyx_INCREF(((PyObject *)__pyx_v_node));
|
|
19540
19549
|
__Pyx_GIVEREF(((PyObject *)__pyx_v_node));
|
|
@@ -19548,7 +19557,7 @@ static int __pyx_pf_10selectolax_6lexbor_14LexborSelector___init__(struct __pyx_
|
|
|
19548
19557
|
__pyx_v_self->nodes = ((PyObject*)__pyx_t_1);
|
|
19549
19558
|
__pyx_t_1 = 0;
|
|
19550
19559
|
|
|
19551
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19560
|
+
/* "selectolax/lexbor/selection.pxi":97
|
|
19552
19561
|
* cdef list nodes
|
|
19553
19562
|
*
|
|
19554
19563
|
* def __init__(self, LexborNode node, query): # <<<<<<<<<<<<<<
|
|
@@ -19572,7 +19581,7 @@ static int __pyx_pf_10selectolax_6lexbor_14LexborSelector___init__(struct __pyx_
|
|
|
19572
19581
|
return __pyx_r;
|
|
19573
19582
|
}
|
|
19574
19583
|
|
|
19575
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19584
|
+
/* "selectolax/lexbor/selection.pxi":102
|
|
19576
19585
|
*
|
|
19577
19586
|
*
|
|
19578
19587
|
* cpdef css(self, str query): # <<<<<<<<<<<<<<
|
|
@@ -19601,7 +19610,7 @@ static PyObject *__pyx_f_10selectolax_6lexbor_14LexborSelector_css(CYTHON_UNUSED
|
|
|
19601
19610
|
if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
|
|
19602
19611
|
PY_UINT64_T __pyx_type_dict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
|
|
19603
19612
|
#endif
|
|
19604
|
-
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_css); if (unlikely(!__pyx_t_1)) __PYX_ERR(5,
|
|
19613
|
+
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_css); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 102, __pyx_L1_error)
|
|
19605
19614
|
__Pyx_GOTREF(__pyx_t_1);
|
|
19606
19615
|
if (!PyCFunction_Check(__pyx_t_1) || (PyCFunction_GET_FUNCTION(__pyx_t_1) != (PyCFunction)(void*)__pyx_pw_10selectolax_6lexbor_14LexborSelector_3css)) {
|
|
19607
19616
|
__Pyx_XDECREF(__pyx_r);
|
|
@@ -19618,7 +19627,7 @@ static PyObject *__pyx_f_10selectolax_6lexbor_14LexborSelector_css(CYTHON_UNUSED
|
|
|
19618
19627
|
}
|
|
19619
19628
|
__pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_query) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_query);
|
|
19620
19629
|
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
19621
|
-
if (unlikely(!__pyx_t_2)) __PYX_ERR(5,
|
|
19630
|
+
if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 102, __pyx_L1_error)
|
|
19622
19631
|
__Pyx_GOTREF(__pyx_t_2);
|
|
19623
19632
|
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
|
|
19624
19633
|
__pyx_r = __pyx_t_2;
|
|
@@ -19639,14 +19648,14 @@ static PyObject *__pyx_f_10selectolax_6lexbor_14LexborSelector_css(CYTHON_UNUSED
|
|
|
19639
19648
|
#endif
|
|
19640
19649
|
}
|
|
19641
19650
|
|
|
19642
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19651
|
+
/* "selectolax/lexbor/selection.pxi":104
|
|
19643
19652
|
* cpdef css(self, str query):
|
|
19644
19653
|
* """Evaluate CSS selector against current scope."""
|
|
19645
19654
|
* raise SelectolaxError("This features is not supported by the lexbor backend. Please use Modest backend.") # <<<<<<<<<<<<<<
|
|
19646
19655
|
*
|
|
19647
19656
|
* @property
|
|
19648
19657
|
*/
|
|
19649
|
-
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_SelectolaxError); if (unlikely(!__pyx_t_2)) __PYX_ERR(5,
|
|
19658
|
+
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_SelectolaxError); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 104, __pyx_L1_error)
|
|
19650
19659
|
__Pyx_GOTREF(__pyx_t_2);
|
|
19651
19660
|
__pyx_t_3 = NULL;
|
|
19652
19661
|
if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) {
|
|
@@ -19660,14 +19669,14 @@ static PyObject *__pyx_f_10selectolax_6lexbor_14LexborSelector_css(CYTHON_UNUSED
|
|
|
19660
19669
|
}
|
|
19661
19670
|
__pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_u_This_features_is_not_supported_b) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_u_This_features_is_not_supported_b);
|
|
19662
19671
|
__Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
|
|
19663
|
-
if (unlikely(!__pyx_t_1)) __PYX_ERR(5,
|
|
19672
|
+
if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 104, __pyx_L1_error)
|
|
19664
19673
|
__Pyx_GOTREF(__pyx_t_1);
|
|
19665
19674
|
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
|
|
19666
19675
|
__Pyx_Raise(__pyx_t_1, 0, 0, 0);
|
|
19667
19676
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
19668
|
-
__PYX_ERR(5,
|
|
19677
|
+
__PYX_ERR(5, 104, __pyx_L1_error)
|
|
19669
19678
|
|
|
19670
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19679
|
+
/* "selectolax/lexbor/selection.pxi":102
|
|
19671
19680
|
*
|
|
19672
19681
|
*
|
|
19673
19682
|
* cpdef css(self, str query): # <<<<<<<<<<<<<<
|
|
@@ -19699,7 +19708,7 @@ static PyObject *__pyx_pw_10selectolax_6lexbor_14LexborSelector_3css(PyObject *_
|
|
|
19699
19708
|
PyObject *__pyx_r = 0;
|
|
19700
19709
|
__Pyx_RefNannyDeclarations
|
|
19701
19710
|
__Pyx_RefNannySetupContext("css (wrapper)", 0);
|
|
19702
|
-
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_query), (&PyUnicode_Type), 1, "query", 1))) __PYX_ERR(5,
|
|
19711
|
+
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_query), (&PyUnicode_Type), 1, "query", 1))) __PYX_ERR(5, 102, __pyx_L1_error)
|
|
19703
19712
|
__pyx_r = __pyx_pf_10selectolax_6lexbor_14LexborSelector_2css(((struct __pyx_obj_10selectolax_6lexbor_LexborSelector *)__pyx_v_self), ((PyObject*)__pyx_v_query));
|
|
19704
19713
|
|
|
19705
19714
|
/* function exit code */
|
|
@@ -19720,7 +19729,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_2css(struct __py
|
|
|
19720
19729
|
int __pyx_clineno = 0;
|
|
19721
19730
|
__Pyx_RefNannySetupContext("css", 0);
|
|
19722
19731
|
__Pyx_XDECREF(__pyx_r);
|
|
19723
|
-
__pyx_t_1 = __pyx_f_10selectolax_6lexbor_14LexborSelector_css(__pyx_v_self, __pyx_v_query, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5,
|
|
19732
|
+
__pyx_t_1 = __pyx_f_10selectolax_6lexbor_14LexborSelector_css(__pyx_v_self, __pyx_v_query, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 102, __pyx_L1_error)
|
|
19724
19733
|
__Pyx_GOTREF(__pyx_t_1);
|
|
19725
19734
|
__pyx_r = __pyx_t_1;
|
|
19726
19735
|
__pyx_t_1 = 0;
|
|
@@ -19737,7 +19746,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_2css(struct __py
|
|
|
19737
19746
|
return __pyx_r;
|
|
19738
19747
|
}
|
|
19739
19748
|
|
|
19740
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19749
|
+
/* "selectolax/lexbor/selection.pxi":107
|
|
19741
19750
|
*
|
|
19742
19751
|
* @property
|
|
19743
19752
|
* def matches(self): # <<<<<<<<<<<<<<
|
|
@@ -19763,7 +19772,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_7matches___get__
|
|
|
19763
19772
|
__Pyx_RefNannyDeclarations
|
|
19764
19773
|
__Pyx_RefNannySetupContext("__get__", 0);
|
|
19765
19774
|
|
|
19766
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19775
|
+
/* "selectolax/lexbor/selection.pxi":109
|
|
19767
19776
|
* def matches(self):
|
|
19768
19777
|
* """Returns all possible matches"""
|
|
19769
19778
|
* return self.nodes # <<<<<<<<<<<<<<
|
|
@@ -19775,7 +19784,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_7matches___get__
|
|
|
19775
19784
|
__pyx_r = __pyx_v_self->nodes;
|
|
19776
19785
|
goto __pyx_L0;
|
|
19777
19786
|
|
|
19778
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19787
|
+
/* "selectolax/lexbor/selection.pxi":107
|
|
19779
19788
|
*
|
|
19780
19789
|
* @property
|
|
19781
19790
|
* def matches(self): # <<<<<<<<<<<<<<
|
|
@@ -19790,7 +19799,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_7matches___get__
|
|
|
19790
19799
|
return __pyx_r;
|
|
19791
19800
|
}
|
|
19792
19801
|
|
|
19793
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19802
|
+
/* "selectolax/lexbor/selection.pxi":112
|
|
19794
19803
|
*
|
|
19795
19804
|
* @property
|
|
19796
19805
|
* def any_matches(self): # <<<<<<<<<<<<<<
|
|
@@ -19820,7 +19829,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_11any_matches___
|
|
|
19820
19829
|
int __pyx_clineno = 0;
|
|
19821
19830
|
__Pyx_RefNannySetupContext("__get__", 0);
|
|
19822
19831
|
|
|
19823
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19832
|
+
/* "selectolax/lexbor/selection.pxi":114
|
|
19824
19833
|
* def any_matches(self):
|
|
19825
19834
|
* """Returns True if there are any matches"""
|
|
19826
19835
|
* return bool(self.nodes) # <<<<<<<<<<<<<<
|
|
@@ -19828,13 +19837,13 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_11any_matches___
|
|
|
19828
19837
|
* def text_contains(self, str text, bool deep=True, str separator='', bool strip=False):
|
|
19829
19838
|
*/
|
|
19830
19839
|
__Pyx_XDECREF(__pyx_r);
|
|
19831
|
-
__pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_7cpython_4bool_bool), __pyx_v_self->nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(5,
|
|
19840
|
+
__pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_7cpython_4bool_bool), __pyx_v_self->nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 114, __pyx_L1_error)
|
|
19832
19841
|
__Pyx_GOTREF(__pyx_t_1);
|
|
19833
19842
|
__pyx_r = __pyx_t_1;
|
|
19834
19843
|
__pyx_t_1 = 0;
|
|
19835
19844
|
goto __pyx_L0;
|
|
19836
19845
|
|
|
19837
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19846
|
+
/* "selectolax/lexbor/selection.pxi":112
|
|
19838
19847
|
*
|
|
19839
19848
|
* @property
|
|
19840
19849
|
* def any_matches(self): # <<<<<<<<<<<<<<
|
|
@@ -19853,7 +19862,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_11any_matches___
|
|
|
19853
19862
|
return __pyx_r;
|
|
19854
19863
|
}
|
|
19855
19864
|
|
|
19856
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19865
|
+
/* "selectolax/lexbor/selection.pxi":116
|
|
19857
19866
|
* return bool(self.nodes)
|
|
19858
19867
|
*
|
|
19859
19868
|
* def text_contains(self, str text, bool deep=True, str separator='', bool strip=False): # <<<<<<<<<<<<<<
|
|
@@ -19921,7 +19930,7 @@ static PyObject *__pyx_pw_10selectolax_6lexbor_14LexborSelector_5text_contains(P
|
|
|
19921
19930
|
}
|
|
19922
19931
|
}
|
|
19923
19932
|
if (unlikely(kw_args > 0)) {
|
|
19924
|
-
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "text_contains") < 0)) __PYX_ERR(5,
|
|
19933
|
+
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "text_contains") < 0)) __PYX_ERR(5, 116, __pyx_L3_error)
|
|
19925
19934
|
}
|
|
19926
19935
|
} else {
|
|
19927
19936
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
@@ -19943,16 +19952,16 @@ static PyObject *__pyx_pw_10selectolax_6lexbor_14LexborSelector_5text_contains(P
|
|
|
19943
19952
|
}
|
|
19944
19953
|
goto __pyx_L4_argument_unpacking_done;
|
|
19945
19954
|
__pyx_L5_argtuple_error:;
|
|
19946
|
-
__Pyx_RaiseArgtupleInvalid("text_contains", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(5,
|
|
19955
|
+
__Pyx_RaiseArgtupleInvalid("text_contains", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(5, 116, __pyx_L3_error)
|
|
19947
19956
|
__pyx_L3_error:;
|
|
19948
19957
|
__Pyx_AddTraceback("selectolax.lexbor.LexborSelector.text_contains", __pyx_clineno, __pyx_lineno, __pyx_filename);
|
|
19949
19958
|
__Pyx_RefNannyFinishContext();
|
|
19950
19959
|
return NULL;
|
|
19951
19960
|
__pyx_L4_argument_unpacking_done:;
|
|
19952
|
-
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_text), (&PyUnicode_Type), 1, "text", 1))) __PYX_ERR(5,
|
|
19953
|
-
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_deep), __pyx_ptype_7cpython_4bool_bool, 1, "deep", 0))) __PYX_ERR(5,
|
|
19954
|
-
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_separator), (&PyUnicode_Type), 1, "separator", 1))) __PYX_ERR(5,
|
|
19955
|
-
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_strip), __pyx_ptype_7cpython_4bool_bool, 1, "strip", 0))) __PYX_ERR(5,
|
|
19961
|
+
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_text), (&PyUnicode_Type), 1, "text", 1))) __PYX_ERR(5, 116, __pyx_L1_error)
|
|
19962
|
+
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_deep), __pyx_ptype_7cpython_4bool_bool, 1, "deep", 0))) __PYX_ERR(5, 116, __pyx_L1_error)
|
|
19963
|
+
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_separator), (&PyUnicode_Type), 1, "separator", 1))) __PYX_ERR(5, 116, __pyx_L1_error)
|
|
19964
|
+
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_strip), __pyx_ptype_7cpython_4bool_bool, 1, "strip", 0))) __PYX_ERR(5, 116, __pyx_L1_error)
|
|
19956
19965
|
__pyx_r = __pyx_pf_10selectolax_6lexbor_14LexborSelector_4text_contains(((struct __pyx_obj_10selectolax_6lexbor_LexborSelector *)__pyx_v_self), __pyx_v_text, __pyx_v_deep, __pyx_v_separator, __pyx_v_strip);
|
|
19957
19966
|
|
|
19958
19967
|
/* function exit code */
|
|
@@ -19984,19 +19993,19 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_4text_contains(s
|
|
|
19984
19993
|
int __pyx_clineno = 0;
|
|
19985
19994
|
__Pyx_RefNannySetupContext("text_contains", 0);
|
|
19986
19995
|
|
|
19987
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
19996
|
+
/* "selectolax/lexbor/selection.pxi":118
|
|
19988
19997
|
* def text_contains(self, str text, bool deep=True, str separator='', bool strip=False):
|
|
19989
19998
|
* """Filter all current matches given text."""
|
|
19990
19999
|
* nodes = [] # <<<<<<<<<<<<<<
|
|
19991
20000
|
* for node in self.nodes:
|
|
19992
20001
|
* node_text = node.text(deep=deep, separator=separator, strip=strip)
|
|
19993
20002
|
*/
|
|
19994
|
-
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(5,
|
|
20003
|
+
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 118, __pyx_L1_error)
|
|
19995
20004
|
__Pyx_GOTREF(__pyx_t_1);
|
|
19996
20005
|
__pyx_v_nodes = ((PyObject*)__pyx_t_1);
|
|
19997
20006
|
__pyx_t_1 = 0;
|
|
19998
20007
|
|
|
19999
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20008
|
+
/* "selectolax/lexbor/selection.pxi":119
|
|
20000
20009
|
* """Filter all current matches given text."""
|
|
20001
20010
|
* nodes = []
|
|
20002
20011
|
* for node in self.nodes: # <<<<<<<<<<<<<<
|
|
@@ -20005,70 +20014,70 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_4text_contains(s
|
|
|
20005
20014
|
*/
|
|
20006
20015
|
if (unlikely(__pyx_v_self->nodes == Py_None)) {
|
|
20007
20016
|
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
|
|
20008
|
-
__PYX_ERR(5,
|
|
20017
|
+
__PYX_ERR(5, 119, __pyx_L1_error)
|
|
20009
20018
|
}
|
|
20010
20019
|
__pyx_t_1 = __pyx_v_self->nodes; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
|
|
20011
20020
|
for (;;) {
|
|
20012
20021
|
if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
|
|
20013
20022
|
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
|
|
20014
|
-
__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(5,
|
|
20023
|
+
__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(5, 119, __pyx_L1_error)
|
|
20015
20024
|
#else
|
|
20016
|
-
__pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(5,
|
|
20025
|
+
__pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 119, __pyx_L1_error)
|
|
20017
20026
|
__Pyx_GOTREF(__pyx_t_3);
|
|
20018
20027
|
#endif
|
|
20019
20028
|
__Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_3);
|
|
20020
20029
|
__pyx_t_3 = 0;
|
|
20021
20030
|
|
|
20022
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20031
|
+
/* "selectolax/lexbor/selection.pxi":120
|
|
20023
20032
|
* nodes = []
|
|
20024
20033
|
* for node in self.nodes:
|
|
20025
20034
|
* node_text = node.text(deep=deep, separator=separator, strip=strip) # <<<<<<<<<<<<<<
|
|
20026
20035
|
* if node_text and text in node_text:
|
|
20027
20036
|
* nodes.append(node)
|
|
20028
20037
|
*/
|
|
20029
|
-
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_text); if (unlikely(!__pyx_t_3)) __PYX_ERR(5,
|
|
20038
|
+
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_text); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 120, __pyx_L1_error)
|
|
20030
20039
|
__Pyx_GOTREF(__pyx_t_3);
|
|
20031
|
-
__pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(5,
|
|
20040
|
+
__pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 120, __pyx_L1_error)
|
|
20032
20041
|
__Pyx_GOTREF(__pyx_t_4);
|
|
20033
|
-
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_deep, ((PyObject *)__pyx_v_deep)) < 0) __PYX_ERR(5,
|
|
20034
|
-
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_separator, __pyx_v_separator) < 0) __PYX_ERR(5,
|
|
20035
|
-
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_strip, ((PyObject *)__pyx_v_strip)) < 0) __PYX_ERR(5,
|
|
20036
|
-
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(5,
|
|
20042
|
+
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_deep, ((PyObject *)__pyx_v_deep)) < 0) __PYX_ERR(5, 120, __pyx_L1_error)
|
|
20043
|
+
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_separator, __pyx_v_separator) < 0) __PYX_ERR(5, 120, __pyx_L1_error)
|
|
20044
|
+
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_strip, ((PyObject *)__pyx_v_strip)) < 0) __PYX_ERR(5, 120, __pyx_L1_error)
|
|
20045
|
+
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 120, __pyx_L1_error)
|
|
20037
20046
|
__Pyx_GOTREF(__pyx_t_5);
|
|
20038
20047
|
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
|
|
20039
20048
|
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
20040
20049
|
__Pyx_XDECREF_SET(__pyx_v_node_text, __pyx_t_5);
|
|
20041
20050
|
__pyx_t_5 = 0;
|
|
20042
20051
|
|
|
20043
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20052
|
+
/* "selectolax/lexbor/selection.pxi":121
|
|
20044
20053
|
* for node in self.nodes:
|
|
20045
20054
|
* node_text = node.text(deep=deep, separator=separator, strip=strip)
|
|
20046
20055
|
* if node_text and text in node_text: # <<<<<<<<<<<<<<
|
|
20047
20056
|
* nodes.append(node)
|
|
20048
20057
|
* self.nodes = nodes
|
|
20049
20058
|
*/
|
|
20050
|
-
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_node_text); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(5,
|
|
20059
|
+
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_node_text); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(5, 121, __pyx_L1_error)
|
|
20051
20060
|
if (__pyx_t_7) {
|
|
20052
20061
|
} else {
|
|
20053
20062
|
__pyx_t_6 = __pyx_t_7;
|
|
20054
20063
|
goto __pyx_L6_bool_binop_done;
|
|
20055
20064
|
}
|
|
20056
|
-
__pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_v_text, __pyx_v_node_text, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(5,
|
|
20065
|
+
__pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_v_text, __pyx_v_node_text, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(5, 121, __pyx_L1_error)
|
|
20057
20066
|
__pyx_t_8 = (__pyx_t_7 != 0);
|
|
20058
20067
|
__pyx_t_6 = __pyx_t_8;
|
|
20059
20068
|
__pyx_L6_bool_binop_done:;
|
|
20060
20069
|
if (__pyx_t_6) {
|
|
20061
20070
|
|
|
20062
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20071
|
+
/* "selectolax/lexbor/selection.pxi":122
|
|
20063
20072
|
* node_text = node.text(deep=deep, separator=separator, strip=strip)
|
|
20064
20073
|
* if node_text and text in node_text:
|
|
20065
20074
|
* nodes.append(node) # <<<<<<<<<<<<<<
|
|
20066
20075
|
* self.nodes = nodes
|
|
20067
20076
|
* return self
|
|
20068
20077
|
*/
|
|
20069
|
-
__pyx_t_9 = __Pyx_PyList_Append(__pyx_v_nodes, __pyx_v_node); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(5,
|
|
20078
|
+
__pyx_t_9 = __Pyx_PyList_Append(__pyx_v_nodes, __pyx_v_node); if (unlikely(__pyx_t_9 == ((int)-1))) __PYX_ERR(5, 122, __pyx_L1_error)
|
|
20070
20079
|
|
|
20071
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20080
|
+
/* "selectolax/lexbor/selection.pxi":121
|
|
20072
20081
|
* for node in self.nodes:
|
|
20073
20082
|
* node_text = node.text(deep=deep, separator=separator, strip=strip)
|
|
20074
20083
|
* if node_text and text in node_text: # <<<<<<<<<<<<<<
|
|
@@ -20077,7 +20086,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_4text_contains(s
|
|
|
20077
20086
|
*/
|
|
20078
20087
|
}
|
|
20079
20088
|
|
|
20080
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20089
|
+
/* "selectolax/lexbor/selection.pxi":119
|
|
20081
20090
|
* """Filter all current matches given text."""
|
|
20082
20091
|
* nodes = []
|
|
20083
20092
|
* for node in self.nodes: # <<<<<<<<<<<<<<
|
|
@@ -20087,7 +20096,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_4text_contains(s
|
|
|
20087
20096
|
}
|
|
20088
20097
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
20089
20098
|
|
|
20090
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20099
|
+
/* "selectolax/lexbor/selection.pxi":123
|
|
20091
20100
|
* if node_text and text in node_text:
|
|
20092
20101
|
* nodes.append(node)
|
|
20093
20102
|
* self.nodes = nodes # <<<<<<<<<<<<<<
|
|
@@ -20100,7 +20109,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_4text_contains(s
|
|
|
20100
20109
|
__Pyx_DECREF(__pyx_v_self->nodes);
|
|
20101
20110
|
__pyx_v_self->nodes = __pyx_v_nodes;
|
|
20102
20111
|
|
|
20103
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20112
|
+
/* "selectolax/lexbor/selection.pxi":124
|
|
20104
20113
|
* nodes.append(node)
|
|
20105
20114
|
* self.nodes = nodes
|
|
20106
20115
|
* return self # <<<<<<<<<<<<<<
|
|
@@ -20112,7 +20121,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_4text_contains(s
|
|
|
20112
20121
|
__pyx_r = ((PyObject *)__pyx_v_self);
|
|
20113
20122
|
goto __pyx_L0;
|
|
20114
20123
|
|
|
20115
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20124
|
+
/* "selectolax/lexbor/selection.pxi":116
|
|
20116
20125
|
* return bool(self.nodes)
|
|
20117
20126
|
*
|
|
20118
20127
|
* def text_contains(self, str text, bool deep=True, str separator='', bool strip=False): # <<<<<<<<<<<<<<
|
|
@@ -20137,7 +20146,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_4text_contains(s
|
|
|
20137
20146
|
return __pyx_r;
|
|
20138
20147
|
}
|
|
20139
20148
|
|
|
20140
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20149
|
+
/* "selectolax/lexbor/selection.pxi":126
|
|
20141
20150
|
* return self
|
|
20142
20151
|
*
|
|
20143
20152
|
* def any_text_contains(self, str text, bool deep=True, str separator='', bool strip=False): # <<<<<<<<<<<<<<
|
|
@@ -20205,7 +20214,7 @@ static PyObject *__pyx_pw_10selectolax_6lexbor_14LexborSelector_7any_text_contai
|
|
|
20205
20214
|
}
|
|
20206
20215
|
}
|
|
20207
20216
|
if (unlikely(kw_args > 0)) {
|
|
20208
|
-
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "any_text_contains") < 0)) __PYX_ERR(5,
|
|
20217
|
+
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "any_text_contains") < 0)) __PYX_ERR(5, 126, __pyx_L3_error)
|
|
20209
20218
|
}
|
|
20210
20219
|
} else {
|
|
20211
20220
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
@@ -20227,16 +20236,16 @@ static PyObject *__pyx_pw_10selectolax_6lexbor_14LexborSelector_7any_text_contai
|
|
|
20227
20236
|
}
|
|
20228
20237
|
goto __pyx_L4_argument_unpacking_done;
|
|
20229
20238
|
__pyx_L5_argtuple_error:;
|
|
20230
|
-
__Pyx_RaiseArgtupleInvalid("any_text_contains", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(5,
|
|
20239
|
+
__Pyx_RaiseArgtupleInvalid("any_text_contains", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(5, 126, __pyx_L3_error)
|
|
20231
20240
|
__pyx_L3_error:;
|
|
20232
20241
|
__Pyx_AddTraceback("selectolax.lexbor.LexborSelector.any_text_contains", __pyx_clineno, __pyx_lineno, __pyx_filename);
|
|
20233
20242
|
__Pyx_RefNannyFinishContext();
|
|
20234
20243
|
return NULL;
|
|
20235
20244
|
__pyx_L4_argument_unpacking_done:;
|
|
20236
|
-
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_text), (&PyUnicode_Type), 1, "text", 1))) __PYX_ERR(5,
|
|
20237
|
-
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_deep), __pyx_ptype_7cpython_4bool_bool, 1, "deep", 0))) __PYX_ERR(5,
|
|
20238
|
-
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_separator), (&PyUnicode_Type), 1, "separator", 1))) __PYX_ERR(5,
|
|
20239
|
-
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_strip), __pyx_ptype_7cpython_4bool_bool, 1, "strip", 0))) __PYX_ERR(5,
|
|
20245
|
+
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_text), (&PyUnicode_Type), 1, "text", 1))) __PYX_ERR(5, 126, __pyx_L1_error)
|
|
20246
|
+
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_deep), __pyx_ptype_7cpython_4bool_bool, 1, "deep", 0))) __PYX_ERR(5, 126, __pyx_L1_error)
|
|
20247
|
+
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_separator), (&PyUnicode_Type), 1, "separator", 1))) __PYX_ERR(5, 126, __pyx_L1_error)
|
|
20248
|
+
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_strip), __pyx_ptype_7cpython_4bool_bool, 1, "strip", 0))) __PYX_ERR(5, 126, __pyx_L1_error)
|
|
20240
20249
|
__pyx_r = __pyx_pf_10selectolax_6lexbor_14LexborSelector_6any_text_contains(((struct __pyx_obj_10selectolax_6lexbor_LexborSelector *)__pyx_v_self), __pyx_v_text, __pyx_v_deep, __pyx_v_separator, __pyx_v_strip);
|
|
20241
20250
|
|
|
20242
20251
|
/* function exit code */
|
|
@@ -20267,19 +20276,19 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_6any_text_contai
|
|
|
20267
20276
|
int __pyx_clineno = 0;
|
|
20268
20277
|
__Pyx_RefNannySetupContext("any_text_contains", 0);
|
|
20269
20278
|
|
|
20270
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20279
|
+
/* "selectolax/lexbor/selection.pxi":128
|
|
20271
20280
|
* def any_text_contains(self, str text, bool deep=True, str separator='', bool strip=False):
|
|
20272
20281
|
* """Returns True if any node in the current search scope contains specified text"""
|
|
20273
20282
|
* nodes = [] # <<<<<<<<<<<<<<
|
|
20274
20283
|
* for node in self.nodes:
|
|
20275
20284
|
* node_text = node.text(deep=deep, separator=separator, strip=strip)
|
|
20276
20285
|
*/
|
|
20277
|
-
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(5,
|
|
20286
|
+
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 128, __pyx_L1_error)
|
|
20278
20287
|
__Pyx_GOTREF(__pyx_t_1);
|
|
20279
20288
|
__pyx_v_nodes = ((PyObject*)__pyx_t_1);
|
|
20280
20289
|
__pyx_t_1 = 0;
|
|
20281
20290
|
|
|
20282
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20291
|
+
/* "selectolax/lexbor/selection.pxi":129
|
|
20283
20292
|
* """Returns True if any node in the current search scope contains specified text"""
|
|
20284
20293
|
* nodes = []
|
|
20285
20294
|
* for node in self.nodes: # <<<<<<<<<<<<<<
|
|
@@ -20288,61 +20297,61 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_6any_text_contai
|
|
|
20288
20297
|
*/
|
|
20289
20298
|
if (unlikely(__pyx_v_self->nodes == Py_None)) {
|
|
20290
20299
|
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
|
|
20291
|
-
__PYX_ERR(5,
|
|
20300
|
+
__PYX_ERR(5, 129, __pyx_L1_error)
|
|
20292
20301
|
}
|
|
20293
20302
|
__pyx_t_1 = __pyx_v_self->nodes; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
|
|
20294
20303
|
for (;;) {
|
|
20295
20304
|
if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
|
|
20296
20305
|
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
|
|
20297
|
-
__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(5,
|
|
20306
|
+
__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(5, 129, __pyx_L1_error)
|
|
20298
20307
|
#else
|
|
20299
|
-
__pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(5,
|
|
20308
|
+
__pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 129, __pyx_L1_error)
|
|
20300
20309
|
__Pyx_GOTREF(__pyx_t_3);
|
|
20301
20310
|
#endif
|
|
20302
20311
|
__Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_3);
|
|
20303
20312
|
__pyx_t_3 = 0;
|
|
20304
20313
|
|
|
20305
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20314
|
+
/* "selectolax/lexbor/selection.pxi":130
|
|
20306
20315
|
* nodes = []
|
|
20307
20316
|
* for node in self.nodes:
|
|
20308
20317
|
* node_text = node.text(deep=deep, separator=separator, strip=strip) # <<<<<<<<<<<<<<
|
|
20309
20318
|
* if node_text and text in node_text:
|
|
20310
20319
|
* return True
|
|
20311
20320
|
*/
|
|
20312
|
-
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_text); if (unlikely(!__pyx_t_3)) __PYX_ERR(5,
|
|
20321
|
+
__pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_text); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 130, __pyx_L1_error)
|
|
20313
20322
|
__Pyx_GOTREF(__pyx_t_3);
|
|
20314
|
-
__pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(5,
|
|
20323
|
+
__pyx_t_4 = __Pyx_PyDict_NewPresized(3); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 130, __pyx_L1_error)
|
|
20315
20324
|
__Pyx_GOTREF(__pyx_t_4);
|
|
20316
|
-
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_deep, ((PyObject *)__pyx_v_deep)) < 0) __PYX_ERR(5,
|
|
20317
|
-
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_separator, __pyx_v_separator) < 0) __PYX_ERR(5,
|
|
20318
|
-
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_strip, ((PyObject *)__pyx_v_strip)) < 0) __PYX_ERR(5,
|
|
20319
|
-
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(5,
|
|
20325
|
+
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_deep, ((PyObject *)__pyx_v_deep)) < 0) __PYX_ERR(5, 130, __pyx_L1_error)
|
|
20326
|
+
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_separator, __pyx_v_separator) < 0) __PYX_ERR(5, 130, __pyx_L1_error)
|
|
20327
|
+
if (PyDict_SetItem(__pyx_t_4, __pyx_n_s_strip, ((PyObject *)__pyx_v_strip)) < 0) __PYX_ERR(5, 130, __pyx_L1_error)
|
|
20328
|
+
__pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_empty_tuple, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 130, __pyx_L1_error)
|
|
20320
20329
|
__Pyx_GOTREF(__pyx_t_5);
|
|
20321
20330
|
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
|
|
20322
20331
|
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
20323
20332
|
__Pyx_XDECREF_SET(__pyx_v_node_text, __pyx_t_5);
|
|
20324
20333
|
__pyx_t_5 = 0;
|
|
20325
20334
|
|
|
20326
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20335
|
+
/* "selectolax/lexbor/selection.pxi":131
|
|
20327
20336
|
* for node in self.nodes:
|
|
20328
20337
|
* node_text = node.text(deep=deep, separator=separator, strip=strip)
|
|
20329
20338
|
* if node_text and text in node_text: # <<<<<<<<<<<<<<
|
|
20330
20339
|
* return True
|
|
20331
20340
|
* return False
|
|
20332
20341
|
*/
|
|
20333
|
-
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_node_text); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(5,
|
|
20342
|
+
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_node_text); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(5, 131, __pyx_L1_error)
|
|
20334
20343
|
if (__pyx_t_7) {
|
|
20335
20344
|
} else {
|
|
20336
20345
|
__pyx_t_6 = __pyx_t_7;
|
|
20337
20346
|
goto __pyx_L6_bool_binop_done;
|
|
20338
20347
|
}
|
|
20339
|
-
__pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_v_text, __pyx_v_node_text, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(5,
|
|
20348
|
+
__pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_v_text, __pyx_v_node_text, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(5, 131, __pyx_L1_error)
|
|
20340
20349
|
__pyx_t_8 = (__pyx_t_7 != 0);
|
|
20341
20350
|
__pyx_t_6 = __pyx_t_8;
|
|
20342
20351
|
__pyx_L6_bool_binop_done:;
|
|
20343
20352
|
if (__pyx_t_6) {
|
|
20344
20353
|
|
|
20345
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20354
|
+
/* "selectolax/lexbor/selection.pxi":132
|
|
20346
20355
|
* node_text = node.text(deep=deep, separator=separator, strip=strip)
|
|
20347
20356
|
* if node_text and text in node_text:
|
|
20348
20357
|
* return True # <<<<<<<<<<<<<<
|
|
@@ -20355,7 +20364,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_6any_text_contai
|
|
|
20355
20364
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
20356
20365
|
goto __pyx_L0;
|
|
20357
20366
|
|
|
20358
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20367
|
+
/* "selectolax/lexbor/selection.pxi":131
|
|
20359
20368
|
* for node in self.nodes:
|
|
20360
20369
|
* node_text = node.text(deep=deep, separator=separator, strip=strip)
|
|
20361
20370
|
* if node_text and text in node_text: # <<<<<<<<<<<<<<
|
|
@@ -20364,7 +20373,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_6any_text_contai
|
|
|
20364
20373
|
*/
|
|
20365
20374
|
}
|
|
20366
20375
|
|
|
20367
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20376
|
+
/* "selectolax/lexbor/selection.pxi":129
|
|
20368
20377
|
* """Returns True if any node in the current search scope contains specified text"""
|
|
20369
20378
|
* nodes = []
|
|
20370
20379
|
* for node in self.nodes: # <<<<<<<<<<<<<<
|
|
@@ -20374,7 +20383,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_6any_text_contai
|
|
|
20374
20383
|
}
|
|
20375
20384
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
20376
20385
|
|
|
20377
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20386
|
+
/* "selectolax/lexbor/selection.pxi":133
|
|
20378
20387
|
* if node_text and text in node_text:
|
|
20379
20388
|
* return True
|
|
20380
20389
|
* return False # <<<<<<<<<<<<<<
|
|
@@ -20386,7 +20395,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_6any_text_contai
|
|
|
20386
20395
|
__pyx_r = Py_False;
|
|
20387
20396
|
goto __pyx_L0;
|
|
20388
20397
|
|
|
20389
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20398
|
+
/* "selectolax/lexbor/selection.pxi":126
|
|
20390
20399
|
* return self
|
|
20391
20400
|
*
|
|
20392
20401
|
* def any_text_contains(self, str text, bool deep=True, str separator='', bool strip=False): # <<<<<<<<<<<<<<
|
|
@@ -20411,7 +20420,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_6any_text_contai
|
|
|
20411
20420
|
return __pyx_r;
|
|
20412
20421
|
}
|
|
20413
20422
|
|
|
20414
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20423
|
+
/* "selectolax/lexbor/selection.pxi":135
|
|
20415
20424
|
* return False
|
|
20416
20425
|
*
|
|
20417
20426
|
* def attribute_longer_than(self, str attribute, int length, str start = None): # <<<<<<<<<<<<<<
|
|
@@ -20458,7 +20467,7 @@ static PyObject *__pyx_pw_10selectolax_6lexbor_14LexborSelector_9attribute_longe
|
|
|
20458
20467
|
case 1:
|
|
20459
20468
|
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_length)) != 0)) kw_args--;
|
|
20460
20469
|
else {
|
|
20461
|
-
__Pyx_RaiseArgtupleInvalid("attribute_longer_than", 0, 2, 3, 1); __PYX_ERR(5,
|
|
20470
|
+
__Pyx_RaiseArgtupleInvalid("attribute_longer_than", 0, 2, 3, 1); __PYX_ERR(5, 135, __pyx_L3_error)
|
|
20462
20471
|
}
|
|
20463
20472
|
CYTHON_FALLTHROUGH;
|
|
20464
20473
|
case 2:
|
|
@@ -20468,7 +20477,7 @@ static PyObject *__pyx_pw_10selectolax_6lexbor_14LexborSelector_9attribute_longe
|
|
|
20468
20477
|
}
|
|
20469
20478
|
}
|
|
20470
20479
|
if (unlikely(kw_args > 0)) {
|
|
20471
|
-
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "attribute_longer_than") < 0)) __PYX_ERR(5,
|
|
20480
|
+
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "attribute_longer_than") < 0)) __PYX_ERR(5, 135, __pyx_L3_error)
|
|
20472
20481
|
}
|
|
20473
20482
|
} else {
|
|
20474
20483
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
@@ -20481,19 +20490,19 @@ static PyObject *__pyx_pw_10selectolax_6lexbor_14LexborSelector_9attribute_longe
|
|
|
20481
20490
|
}
|
|
20482
20491
|
}
|
|
20483
20492
|
__pyx_v_attribute = ((PyObject*)values[0]);
|
|
20484
|
-
__pyx_v_length = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_length == (int)-1) && PyErr_Occurred())) __PYX_ERR(5,
|
|
20493
|
+
__pyx_v_length = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_length == (int)-1) && PyErr_Occurred())) __PYX_ERR(5, 135, __pyx_L3_error)
|
|
20485
20494
|
__pyx_v_start = ((PyObject*)values[2]);
|
|
20486
20495
|
}
|
|
20487
20496
|
goto __pyx_L4_argument_unpacking_done;
|
|
20488
20497
|
__pyx_L5_argtuple_error:;
|
|
20489
|
-
__Pyx_RaiseArgtupleInvalid("attribute_longer_than", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(5,
|
|
20498
|
+
__Pyx_RaiseArgtupleInvalid("attribute_longer_than", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(5, 135, __pyx_L3_error)
|
|
20490
20499
|
__pyx_L3_error:;
|
|
20491
20500
|
__Pyx_AddTraceback("selectolax.lexbor.LexborSelector.attribute_longer_than", __pyx_clineno, __pyx_lineno, __pyx_filename);
|
|
20492
20501
|
__Pyx_RefNannyFinishContext();
|
|
20493
20502
|
return NULL;
|
|
20494
20503
|
__pyx_L4_argument_unpacking_done:;
|
|
20495
|
-
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_attribute), (&PyUnicode_Type), 1, "attribute", 1))) __PYX_ERR(5,
|
|
20496
|
-
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_start), (&PyUnicode_Type), 1, "start", 1))) __PYX_ERR(5,
|
|
20504
|
+
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_attribute), (&PyUnicode_Type), 1, "attribute", 1))) __PYX_ERR(5, 135, __pyx_L1_error)
|
|
20505
|
+
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_start), (&PyUnicode_Type), 1, "start", 1))) __PYX_ERR(5, 135, __pyx_L1_error)
|
|
20497
20506
|
__pyx_r = __pyx_pf_10selectolax_6lexbor_14LexborSelector_8attribute_longer_than(((struct __pyx_obj_10selectolax_6lexbor_LexborSelector *)__pyx_v_self), __pyx_v_attribute, __pyx_v_length, __pyx_v_start);
|
|
20498
20507
|
|
|
20499
20508
|
/* function exit code */
|
|
@@ -20526,19 +20535,19 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_8attribute_longe
|
|
|
20526
20535
|
int __pyx_clineno = 0;
|
|
20527
20536
|
__Pyx_RefNannySetupContext("attribute_longer_than", 0);
|
|
20528
20537
|
|
|
20529
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20538
|
+
/* "selectolax/lexbor/selection.pxi":140
|
|
20530
20539
|
* Similar to `string-length` in XPath.
|
|
20531
20540
|
* """
|
|
20532
20541
|
* nodes = [] # <<<<<<<<<<<<<<
|
|
20533
20542
|
* for node in self.nodes:
|
|
20534
20543
|
* attr = node.attributes.get(attribute)
|
|
20535
20544
|
*/
|
|
20536
|
-
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(5,
|
|
20545
|
+
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 140, __pyx_L1_error)
|
|
20537
20546
|
__Pyx_GOTREF(__pyx_t_1);
|
|
20538
20547
|
__pyx_v_nodes = ((PyObject*)__pyx_t_1);
|
|
20539
20548
|
__pyx_t_1 = 0;
|
|
20540
20549
|
|
|
20541
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20550
|
+
/* "selectolax/lexbor/selection.pxi":141
|
|
20542
20551
|
* """
|
|
20543
20552
|
* nodes = []
|
|
20544
20553
|
* for node in self.nodes: # <<<<<<<<<<<<<<
|
|
@@ -20547,30 +20556,30 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_8attribute_longe
|
|
|
20547
20556
|
*/
|
|
20548
20557
|
if (unlikely(__pyx_v_self->nodes == Py_None)) {
|
|
20549
20558
|
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
|
|
20550
|
-
__PYX_ERR(5,
|
|
20559
|
+
__PYX_ERR(5, 141, __pyx_L1_error)
|
|
20551
20560
|
}
|
|
20552
20561
|
__pyx_t_1 = __pyx_v_self->nodes; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
|
|
20553
20562
|
for (;;) {
|
|
20554
20563
|
if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
|
|
20555
20564
|
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
|
|
20556
|
-
__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(5,
|
|
20565
|
+
__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(5, 141, __pyx_L1_error)
|
|
20557
20566
|
#else
|
|
20558
|
-
__pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(5,
|
|
20567
|
+
__pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 141, __pyx_L1_error)
|
|
20559
20568
|
__Pyx_GOTREF(__pyx_t_3);
|
|
20560
20569
|
#endif
|
|
20561
20570
|
__Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_3);
|
|
20562
20571
|
__pyx_t_3 = 0;
|
|
20563
20572
|
|
|
20564
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20573
|
+
/* "selectolax/lexbor/selection.pxi":142
|
|
20565
20574
|
* nodes = []
|
|
20566
20575
|
* for node in self.nodes:
|
|
20567
20576
|
* attr = node.attributes.get(attribute) # <<<<<<<<<<<<<<
|
|
20568
20577
|
* if attr and start and start in attr:
|
|
20569
20578
|
* attr = attr[attr.find(start) + len(start):]
|
|
20570
20579
|
*/
|
|
20571
|
-
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_attributes_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5,
|
|
20580
|
+
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_attributes_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 142, __pyx_L1_error)
|
|
20572
20581
|
__Pyx_GOTREF(__pyx_t_4);
|
|
20573
|
-
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) __PYX_ERR(5,
|
|
20582
|
+
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 142, __pyx_L1_error)
|
|
20574
20583
|
__Pyx_GOTREF(__pyx_t_5);
|
|
20575
20584
|
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
20576
20585
|
__pyx_t_4 = NULL;
|
|
@@ -20585,20 +20594,20 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_8attribute_longe
|
|
|
20585
20594
|
}
|
|
20586
20595
|
__pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_v_attribute) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_attribute);
|
|
20587
20596
|
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
20588
|
-
if (unlikely(!__pyx_t_3)) __PYX_ERR(5,
|
|
20597
|
+
if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 142, __pyx_L1_error)
|
|
20589
20598
|
__Pyx_GOTREF(__pyx_t_3);
|
|
20590
20599
|
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
|
|
20591
20600
|
__Pyx_XDECREF_SET(__pyx_v_attr, __pyx_t_3);
|
|
20592
20601
|
__pyx_t_3 = 0;
|
|
20593
20602
|
|
|
20594
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20603
|
+
/* "selectolax/lexbor/selection.pxi":143
|
|
20595
20604
|
* for node in self.nodes:
|
|
20596
20605
|
* attr = node.attributes.get(attribute)
|
|
20597
20606
|
* if attr and start and start in attr: # <<<<<<<<<<<<<<
|
|
20598
20607
|
* attr = attr[attr.find(start) + len(start):]
|
|
20599
20608
|
* if len(attr) > length:
|
|
20600
20609
|
*/
|
|
20601
|
-
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_attr); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(5,
|
|
20610
|
+
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_attr); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(5, 143, __pyx_L1_error)
|
|
20602
20611
|
if (__pyx_t_7) {
|
|
20603
20612
|
} else {
|
|
20604
20613
|
__pyx_t_6 = __pyx_t_7;
|
|
@@ -20610,20 +20619,20 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_8attribute_longe
|
|
|
20610
20619
|
__pyx_t_6 = __pyx_t_7;
|
|
20611
20620
|
goto __pyx_L6_bool_binop_done;
|
|
20612
20621
|
}
|
|
20613
|
-
__pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_v_start, __pyx_v_attr, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(5,
|
|
20622
|
+
__pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_v_start, __pyx_v_attr, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(5, 143, __pyx_L1_error)
|
|
20614
20623
|
__pyx_t_8 = (__pyx_t_7 != 0);
|
|
20615
20624
|
__pyx_t_6 = __pyx_t_8;
|
|
20616
20625
|
__pyx_L6_bool_binop_done:;
|
|
20617
20626
|
if (__pyx_t_6) {
|
|
20618
20627
|
|
|
20619
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20628
|
+
/* "selectolax/lexbor/selection.pxi":144
|
|
20620
20629
|
* attr = node.attributes.get(attribute)
|
|
20621
20630
|
* if attr and start and start in attr:
|
|
20622
20631
|
* attr = attr[attr.find(start) + len(start):] # <<<<<<<<<<<<<<
|
|
20623
20632
|
* if len(attr) > length:
|
|
20624
20633
|
* nodes.append(node)
|
|
20625
20634
|
*/
|
|
20626
|
-
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_find); if (unlikely(!__pyx_t_5)) __PYX_ERR(5,
|
|
20635
|
+
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_find); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 144, __pyx_L1_error)
|
|
20627
20636
|
__Pyx_GOTREF(__pyx_t_5);
|
|
20628
20637
|
__pyx_t_4 = NULL;
|
|
20629
20638
|
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
|
|
@@ -20637,27 +20646,27 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_8attribute_longe
|
|
|
20637
20646
|
}
|
|
20638
20647
|
__pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_v_start) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_start);
|
|
20639
20648
|
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
20640
|
-
if (unlikely(!__pyx_t_3)) __PYX_ERR(5,
|
|
20649
|
+
if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 144, __pyx_L1_error)
|
|
20641
20650
|
__Pyx_GOTREF(__pyx_t_3);
|
|
20642
20651
|
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
|
|
20643
20652
|
if (unlikely(__pyx_v_start == Py_None)) {
|
|
20644
20653
|
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
|
|
20645
|
-
__PYX_ERR(5,
|
|
20654
|
+
__PYX_ERR(5, 144, __pyx_L1_error)
|
|
20646
20655
|
}
|
|
20647
|
-
__pyx_t_9 = __Pyx_PyUnicode_GET_LENGTH(__pyx_v_start); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(5,
|
|
20648
|
-
__pyx_t_5 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(5,
|
|
20656
|
+
__pyx_t_9 = __Pyx_PyUnicode_GET_LENGTH(__pyx_v_start); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(5, 144, __pyx_L1_error)
|
|
20657
|
+
__pyx_t_5 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 144, __pyx_L1_error)
|
|
20649
20658
|
__Pyx_GOTREF(__pyx_t_5);
|
|
20650
|
-
__pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(5,
|
|
20659
|
+
__pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 144, __pyx_L1_error)
|
|
20651
20660
|
__Pyx_GOTREF(__pyx_t_4);
|
|
20652
20661
|
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
|
|
20653
20662
|
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
|
|
20654
|
-
__pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_attr, 0, 0, &__pyx_t_4, NULL, NULL, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(5,
|
|
20663
|
+
__pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_attr, 0, 0, &__pyx_t_4, NULL, NULL, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 144, __pyx_L1_error)
|
|
20655
20664
|
__Pyx_GOTREF(__pyx_t_5);
|
|
20656
20665
|
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
20657
20666
|
__Pyx_DECREF_SET(__pyx_v_attr, __pyx_t_5);
|
|
20658
20667
|
__pyx_t_5 = 0;
|
|
20659
20668
|
|
|
20660
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20669
|
+
/* "selectolax/lexbor/selection.pxi":143
|
|
20661
20670
|
* for node in self.nodes:
|
|
20662
20671
|
* attr = node.attributes.get(attribute)
|
|
20663
20672
|
* if attr and start and start in attr: # <<<<<<<<<<<<<<
|
|
@@ -20666,27 +20675,27 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_8attribute_longe
|
|
|
20666
20675
|
*/
|
|
20667
20676
|
}
|
|
20668
20677
|
|
|
20669
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20678
|
+
/* "selectolax/lexbor/selection.pxi":145
|
|
20670
20679
|
* if attr and start and start in attr:
|
|
20671
20680
|
* attr = attr[attr.find(start) + len(start):]
|
|
20672
20681
|
* if len(attr) > length: # <<<<<<<<<<<<<<
|
|
20673
20682
|
* nodes.append(node)
|
|
20674
20683
|
* self.nodes = nodes
|
|
20675
20684
|
*/
|
|
20676
|
-
__pyx_t_9 = PyObject_Length(__pyx_v_attr); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(5,
|
|
20685
|
+
__pyx_t_9 = PyObject_Length(__pyx_v_attr); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(5, 145, __pyx_L1_error)
|
|
20677
20686
|
__pyx_t_6 = ((__pyx_t_9 > __pyx_v_length) != 0);
|
|
20678
20687
|
if (__pyx_t_6) {
|
|
20679
20688
|
|
|
20680
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20689
|
+
/* "selectolax/lexbor/selection.pxi":146
|
|
20681
20690
|
* attr = attr[attr.find(start) + len(start):]
|
|
20682
20691
|
* if len(attr) > length:
|
|
20683
20692
|
* nodes.append(node) # <<<<<<<<<<<<<<
|
|
20684
20693
|
* self.nodes = nodes
|
|
20685
20694
|
* return self
|
|
20686
20695
|
*/
|
|
20687
|
-
__pyx_t_10 = __Pyx_PyList_Append(__pyx_v_nodes, __pyx_v_node); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(5,
|
|
20696
|
+
__pyx_t_10 = __Pyx_PyList_Append(__pyx_v_nodes, __pyx_v_node); if (unlikely(__pyx_t_10 == ((int)-1))) __PYX_ERR(5, 146, __pyx_L1_error)
|
|
20688
20697
|
|
|
20689
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20698
|
+
/* "selectolax/lexbor/selection.pxi":145
|
|
20690
20699
|
* if attr and start and start in attr:
|
|
20691
20700
|
* attr = attr[attr.find(start) + len(start):]
|
|
20692
20701
|
* if len(attr) > length: # <<<<<<<<<<<<<<
|
|
@@ -20695,7 +20704,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_8attribute_longe
|
|
|
20695
20704
|
*/
|
|
20696
20705
|
}
|
|
20697
20706
|
|
|
20698
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20707
|
+
/* "selectolax/lexbor/selection.pxi":141
|
|
20699
20708
|
* """
|
|
20700
20709
|
* nodes = []
|
|
20701
20710
|
* for node in self.nodes: # <<<<<<<<<<<<<<
|
|
@@ -20705,7 +20714,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_8attribute_longe
|
|
|
20705
20714
|
}
|
|
20706
20715
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
20707
20716
|
|
|
20708
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20717
|
+
/* "selectolax/lexbor/selection.pxi":147
|
|
20709
20718
|
* if len(attr) > length:
|
|
20710
20719
|
* nodes.append(node)
|
|
20711
20720
|
* self.nodes = nodes # <<<<<<<<<<<<<<
|
|
@@ -20718,7 +20727,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_8attribute_longe
|
|
|
20718
20727
|
__Pyx_DECREF(__pyx_v_self->nodes);
|
|
20719
20728
|
__pyx_v_self->nodes = __pyx_v_nodes;
|
|
20720
20729
|
|
|
20721
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20730
|
+
/* "selectolax/lexbor/selection.pxi":148
|
|
20722
20731
|
* nodes.append(node)
|
|
20723
20732
|
* self.nodes = nodes
|
|
20724
20733
|
* return self # <<<<<<<<<<<<<<
|
|
@@ -20730,7 +20739,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_8attribute_longe
|
|
|
20730
20739
|
__pyx_r = ((PyObject *)__pyx_v_self);
|
|
20731
20740
|
goto __pyx_L0;
|
|
20732
20741
|
|
|
20733
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20742
|
+
/* "selectolax/lexbor/selection.pxi":135
|
|
20734
20743
|
* return False
|
|
20735
20744
|
*
|
|
20736
20745
|
* def attribute_longer_than(self, str attribute, int length, str start = None): # <<<<<<<<<<<<<<
|
|
@@ -20755,7 +20764,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_8attribute_longe
|
|
|
20755
20764
|
return __pyx_r;
|
|
20756
20765
|
}
|
|
20757
20766
|
|
|
20758
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20767
|
+
/* "selectolax/lexbor/selection.pxi":150
|
|
20759
20768
|
* return self
|
|
20760
20769
|
*
|
|
20761
20770
|
* def any_attribute_longer_than(self, str attribute, int length, str start = None): # <<<<<<<<<<<<<<
|
|
@@ -20802,7 +20811,7 @@ static PyObject *__pyx_pw_10selectolax_6lexbor_14LexborSelector_11any_attribute_
|
|
|
20802
20811
|
case 1:
|
|
20803
20812
|
if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_length)) != 0)) kw_args--;
|
|
20804
20813
|
else {
|
|
20805
|
-
__Pyx_RaiseArgtupleInvalid("any_attribute_longer_than", 0, 2, 3, 1); __PYX_ERR(5,
|
|
20814
|
+
__Pyx_RaiseArgtupleInvalid("any_attribute_longer_than", 0, 2, 3, 1); __PYX_ERR(5, 150, __pyx_L3_error)
|
|
20806
20815
|
}
|
|
20807
20816
|
CYTHON_FALLTHROUGH;
|
|
20808
20817
|
case 2:
|
|
@@ -20812,7 +20821,7 @@ static PyObject *__pyx_pw_10selectolax_6lexbor_14LexborSelector_11any_attribute_
|
|
|
20812
20821
|
}
|
|
20813
20822
|
}
|
|
20814
20823
|
if (unlikely(kw_args > 0)) {
|
|
20815
|
-
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "any_attribute_longer_than") < 0)) __PYX_ERR(5,
|
|
20824
|
+
if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "any_attribute_longer_than") < 0)) __PYX_ERR(5, 150, __pyx_L3_error)
|
|
20816
20825
|
}
|
|
20817
20826
|
} else {
|
|
20818
20827
|
switch (PyTuple_GET_SIZE(__pyx_args)) {
|
|
@@ -20825,19 +20834,19 @@ static PyObject *__pyx_pw_10selectolax_6lexbor_14LexborSelector_11any_attribute_
|
|
|
20825
20834
|
}
|
|
20826
20835
|
}
|
|
20827
20836
|
__pyx_v_attribute = ((PyObject*)values[0]);
|
|
20828
|
-
__pyx_v_length = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_length == (int)-1) && PyErr_Occurred())) __PYX_ERR(5,
|
|
20837
|
+
__pyx_v_length = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_length == (int)-1) && PyErr_Occurred())) __PYX_ERR(5, 150, __pyx_L3_error)
|
|
20829
20838
|
__pyx_v_start = ((PyObject*)values[2]);
|
|
20830
20839
|
}
|
|
20831
20840
|
goto __pyx_L4_argument_unpacking_done;
|
|
20832
20841
|
__pyx_L5_argtuple_error:;
|
|
20833
|
-
__Pyx_RaiseArgtupleInvalid("any_attribute_longer_than", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(5,
|
|
20842
|
+
__Pyx_RaiseArgtupleInvalid("any_attribute_longer_than", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(5, 150, __pyx_L3_error)
|
|
20834
20843
|
__pyx_L3_error:;
|
|
20835
20844
|
__Pyx_AddTraceback("selectolax.lexbor.LexborSelector.any_attribute_longer_than", __pyx_clineno, __pyx_lineno, __pyx_filename);
|
|
20836
20845
|
__Pyx_RefNannyFinishContext();
|
|
20837
20846
|
return NULL;
|
|
20838
20847
|
__pyx_L4_argument_unpacking_done:;
|
|
20839
|
-
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_attribute), (&PyUnicode_Type), 1, "attribute", 1))) __PYX_ERR(5,
|
|
20840
|
-
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_start), (&PyUnicode_Type), 1, "start", 1))) __PYX_ERR(5,
|
|
20848
|
+
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_attribute), (&PyUnicode_Type), 1, "attribute", 1))) __PYX_ERR(5, 150, __pyx_L1_error)
|
|
20849
|
+
if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_start), (&PyUnicode_Type), 1, "start", 1))) __PYX_ERR(5, 150, __pyx_L1_error)
|
|
20841
20850
|
__pyx_r = __pyx_pf_10selectolax_6lexbor_14LexborSelector_10any_attribute_longer_than(((struct __pyx_obj_10selectolax_6lexbor_LexborSelector *)__pyx_v_self), __pyx_v_attribute, __pyx_v_length, __pyx_v_start);
|
|
20842
20851
|
|
|
20843
20852
|
/* function exit code */
|
|
@@ -20869,19 +20878,19 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_10any_attribute_
|
|
|
20869
20878
|
int __pyx_clineno = 0;
|
|
20870
20879
|
__Pyx_RefNannySetupContext("any_attribute_longer_than", 0);
|
|
20871
20880
|
|
|
20872
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20881
|
+
/* "selectolax/lexbor/selection.pxi":155
|
|
20873
20882
|
* Similar to `string-length` in XPath.
|
|
20874
20883
|
* """
|
|
20875
20884
|
* nodes = [] # <<<<<<<<<<<<<<
|
|
20876
20885
|
* for node in self.nodes:
|
|
20877
20886
|
* attr = node.attributes.get(attribute)
|
|
20878
20887
|
*/
|
|
20879
|
-
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(5,
|
|
20888
|
+
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 155, __pyx_L1_error)
|
|
20880
20889
|
__Pyx_GOTREF(__pyx_t_1);
|
|
20881
20890
|
__pyx_v_nodes = ((PyObject*)__pyx_t_1);
|
|
20882
20891
|
__pyx_t_1 = 0;
|
|
20883
20892
|
|
|
20884
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20893
|
+
/* "selectolax/lexbor/selection.pxi":156
|
|
20885
20894
|
* """
|
|
20886
20895
|
* nodes = []
|
|
20887
20896
|
* for node in self.nodes: # <<<<<<<<<<<<<<
|
|
@@ -20890,30 +20899,30 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_10any_attribute_
|
|
|
20890
20899
|
*/
|
|
20891
20900
|
if (unlikely(__pyx_v_self->nodes == Py_None)) {
|
|
20892
20901
|
PyErr_SetString(PyExc_TypeError, "'NoneType' object is not iterable");
|
|
20893
|
-
__PYX_ERR(5,
|
|
20902
|
+
__PYX_ERR(5, 156, __pyx_L1_error)
|
|
20894
20903
|
}
|
|
20895
20904
|
__pyx_t_1 = __pyx_v_self->nodes; __Pyx_INCREF(__pyx_t_1); __pyx_t_2 = 0;
|
|
20896
20905
|
for (;;) {
|
|
20897
20906
|
if (__pyx_t_2 >= PyList_GET_SIZE(__pyx_t_1)) break;
|
|
20898
20907
|
#if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS
|
|
20899
|
-
__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(5,
|
|
20908
|
+
__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(5, 156, __pyx_L1_error)
|
|
20900
20909
|
#else
|
|
20901
|
-
__pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(5,
|
|
20910
|
+
__pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_2); __pyx_t_2++; if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 156, __pyx_L1_error)
|
|
20902
20911
|
__Pyx_GOTREF(__pyx_t_3);
|
|
20903
20912
|
#endif
|
|
20904
20913
|
__Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_3);
|
|
20905
20914
|
__pyx_t_3 = 0;
|
|
20906
20915
|
|
|
20907
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20916
|
+
/* "selectolax/lexbor/selection.pxi":157
|
|
20908
20917
|
* nodes = []
|
|
20909
20918
|
* for node in self.nodes:
|
|
20910
20919
|
* attr = node.attributes.get(attribute) # <<<<<<<<<<<<<<
|
|
20911
20920
|
* if attr and start and start in attr:
|
|
20912
20921
|
* attr = attr[attr.find(start) + len(start):]
|
|
20913
20922
|
*/
|
|
20914
|
-
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_attributes_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5,
|
|
20923
|
+
__pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_node, __pyx_n_s_attributes_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 157, __pyx_L1_error)
|
|
20915
20924
|
__Pyx_GOTREF(__pyx_t_4);
|
|
20916
|
-
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) __PYX_ERR(5,
|
|
20925
|
+
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_get); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 157, __pyx_L1_error)
|
|
20917
20926
|
__Pyx_GOTREF(__pyx_t_5);
|
|
20918
20927
|
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
20919
20928
|
__pyx_t_4 = NULL;
|
|
@@ -20928,20 +20937,20 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_10any_attribute_
|
|
|
20928
20937
|
}
|
|
20929
20938
|
__pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_v_attribute) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_attribute);
|
|
20930
20939
|
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
20931
|
-
if (unlikely(!__pyx_t_3)) __PYX_ERR(5,
|
|
20940
|
+
if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 157, __pyx_L1_error)
|
|
20932
20941
|
__Pyx_GOTREF(__pyx_t_3);
|
|
20933
20942
|
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
|
|
20934
20943
|
__Pyx_XDECREF_SET(__pyx_v_attr, __pyx_t_3);
|
|
20935
20944
|
__pyx_t_3 = 0;
|
|
20936
20945
|
|
|
20937
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20946
|
+
/* "selectolax/lexbor/selection.pxi":158
|
|
20938
20947
|
* for node in self.nodes:
|
|
20939
20948
|
* attr = node.attributes.get(attribute)
|
|
20940
20949
|
* if attr and start and start in attr: # <<<<<<<<<<<<<<
|
|
20941
20950
|
* attr = attr[attr.find(start) + len(start):]
|
|
20942
20951
|
* if len(attr) > length:
|
|
20943
20952
|
*/
|
|
20944
|
-
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_attr); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(5,
|
|
20953
|
+
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_attr); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(5, 158, __pyx_L1_error)
|
|
20945
20954
|
if (__pyx_t_7) {
|
|
20946
20955
|
} else {
|
|
20947
20956
|
__pyx_t_6 = __pyx_t_7;
|
|
@@ -20953,20 +20962,20 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_10any_attribute_
|
|
|
20953
20962
|
__pyx_t_6 = __pyx_t_7;
|
|
20954
20963
|
goto __pyx_L6_bool_binop_done;
|
|
20955
20964
|
}
|
|
20956
|
-
__pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_v_start, __pyx_v_attr, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(5,
|
|
20965
|
+
__pyx_t_7 = (__Pyx_PySequence_ContainsTF(__pyx_v_start, __pyx_v_attr, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(5, 158, __pyx_L1_error)
|
|
20957
20966
|
__pyx_t_8 = (__pyx_t_7 != 0);
|
|
20958
20967
|
__pyx_t_6 = __pyx_t_8;
|
|
20959
20968
|
__pyx_L6_bool_binop_done:;
|
|
20960
20969
|
if (__pyx_t_6) {
|
|
20961
20970
|
|
|
20962
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
20971
|
+
/* "selectolax/lexbor/selection.pxi":159
|
|
20963
20972
|
* attr = node.attributes.get(attribute)
|
|
20964
20973
|
* if attr and start and start in attr:
|
|
20965
20974
|
* attr = attr[attr.find(start) + len(start):] # <<<<<<<<<<<<<<
|
|
20966
20975
|
* if len(attr) > length:
|
|
20967
20976
|
* return True
|
|
20968
20977
|
*/
|
|
20969
|
-
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_find); if (unlikely(!__pyx_t_5)) __PYX_ERR(5,
|
|
20978
|
+
__pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_attr, __pyx_n_s_find); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 159, __pyx_L1_error)
|
|
20970
20979
|
__Pyx_GOTREF(__pyx_t_5);
|
|
20971
20980
|
__pyx_t_4 = NULL;
|
|
20972
20981
|
if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) {
|
|
@@ -20980,27 +20989,27 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_10any_attribute_
|
|
|
20980
20989
|
}
|
|
20981
20990
|
__pyx_t_3 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_4, __pyx_v_start) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_start);
|
|
20982
20991
|
__Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
20983
|
-
if (unlikely(!__pyx_t_3)) __PYX_ERR(5,
|
|
20992
|
+
if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 159, __pyx_L1_error)
|
|
20984
20993
|
__Pyx_GOTREF(__pyx_t_3);
|
|
20985
20994
|
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
|
|
20986
20995
|
if (unlikely(__pyx_v_start == Py_None)) {
|
|
20987
20996
|
PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
|
|
20988
|
-
__PYX_ERR(5,
|
|
20997
|
+
__PYX_ERR(5, 159, __pyx_L1_error)
|
|
20989
20998
|
}
|
|
20990
|
-
__pyx_t_9 = __Pyx_PyUnicode_GET_LENGTH(__pyx_v_start); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(5,
|
|
20991
|
-
__pyx_t_5 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(5,
|
|
20999
|
+
__pyx_t_9 = __Pyx_PyUnicode_GET_LENGTH(__pyx_v_start); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(5, 159, __pyx_L1_error)
|
|
21000
|
+
__pyx_t_5 = PyInt_FromSsize_t(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 159, __pyx_L1_error)
|
|
20992
21001
|
__Pyx_GOTREF(__pyx_t_5);
|
|
20993
|
-
__pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(5,
|
|
21002
|
+
__pyx_t_4 = PyNumber_Add(__pyx_t_3, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(5, 159, __pyx_L1_error)
|
|
20994
21003
|
__Pyx_GOTREF(__pyx_t_4);
|
|
20995
21004
|
__Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
|
|
20996
21005
|
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
|
|
20997
|
-
__pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_attr, 0, 0, &__pyx_t_4, NULL, NULL, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(5,
|
|
21006
|
+
__pyx_t_5 = __Pyx_PyObject_GetSlice(__pyx_v_attr, 0, 0, &__pyx_t_4, NULL, NULL, 0, 0, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(5, 159, __pyx_L1_error)
|
|
20998
21007
|
__Pyx_GOTREF(__pyx_t_5);
|
|
20999
21008
|
__Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
|
|
21000
21009
|
__Pyx_DECREF_SET(__pyx_v_attr, __pyx_t_5);
|
|
21001
21010
|
__pyx_t_5 = 0;
|
|
21002
21011
|
|
|
21003
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21012
|
+
/* "selectolax/lexbor/selection.pxi":158
|
|
21004
21013
|
* for node in self.nodes:
|
|
21005
21014
|
* attr = node.attributes.get(attribute)
|
|
21006
21015
|
* if attr and start and start in attr: # <<<<<<<<<<<<<<
|
|
@@ -21009,18 +21018,18 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_10any_attribute_
|
|
|
21009
21018
|
*/
|
|
21010
21019
|
}
|
|
21011
21020
|
|
|
21012
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21021
|
+
/* "selectolax/lexbor/selection.pxi":160
|
|
21013
21022
|
* if attr and start and start in attr:
|
|
21014
21023
|
* attr = attr[attr.find(start) + len(start):]
|
|
21015
21024
|
* if len(attr) > length: # <<<<<<<<<<<<<<
|
|
21016
21025
|
* return True
|
|
21017
21026
|
* return False
|
|
21018
21027
|
*/
|
|
21019
|
-
__pyx_t_9 = PyObject_Length(__pyx_v_attr); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(5,
|
|
21028
|
+
__pyx_t_9 = PyObject_Length(__pyx_v_attr); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(5, 160, __pyx_L1_error)
|
|
21020
21029
|
__pyx_t_6 = ((__pyx_t_9 > __pyx_v_length) != 0);
|
|
21021
21030
|
if (__pyx_t_6) {
|
|
21022
21031
|
|
|
21023
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21032
|
+
/* "selectolax/lexbor/selection.pxi":161
|
|
21024
21033
|
* attr = attr[attr.find(start) + len(start):]
|
|
21025
21034
|
* if len(attr) > length:
|
|
21026
21035
|
* return True # <<<<<<<<<<<<<<
|
|
@@ -21033,7 +21042,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_10any_attribute_
|
|
|
21033
21042
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
21034
21043
|
goto __pyx_L0;
|
|
21035
21044
|
|
|
21036
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21045
|
+
/* "selectolax/lexbor/selection.pxi":160
|
|
21037
21046
|
* if attr and start and start in attr:
|
|
21038
21047
|
* attr = attr[attr.find(start) + len(start):]
|
|
21039
21048
|
* if len(attr) > length: # <<<<<<<<<<<<<<
|
|
@@ -21042,7 +21051,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_10any_attribute_
|
|
|
21042
21051
|
*/
|
|
21043
21052
|
}
|
|
21044
21053
|
|
|
21045
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21054
|
+
/* "selectolax/lexbor/selection.pxi":156
|
|
21046
21055
|
* """
|
|
21047
21056
|
* nodes = []
|
|
21048
21057
|
* for node in self.nodes: # <<<<<<<<<<<<<<
|
|
@@ -21052,7 +21061,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_10any_attribute_
|
|
|
21052
21061
|
}
|
|
21053
21062
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
21054
21063
|
|
|
21055
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21064
|
+
/* "selectolax/lexbor/selection.pxi":162
|
|
21056
21065
|
* if len(attr) > length:
|
|
21057
21066
|
* return True
|
|
21058
21067
|
* return False # <<<<<<<<<<<<<<
|
|
@@ -21064,7 +21073,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_10any_attribute_
|
|
|
21064
21073
|
__pyx_r = Py_False;
|
|
21065
21074
|
goto __pyx_L0;
|
|
21066
21075
|
|
|
21067
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21076
|
+
/* "selectolax/lexbor/selection.pxi":150
|
|
21068
21077
|
* return self
|
|
21069
21078
|
*
|
|
21070
21079
|
* def any_attribute_longer_than(self, str attribute, int length, str start = None): # <<<<<<<<<<<<<<
|
|
@@ -21089,7 +21098,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_10any_attribute_
|
|
|
21089
21098
|
return __pyx_r;
|
|
21090
21099
|
}
|
|
21091
21100
|
|
|
21092
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21101
|
+
/* "selectolax/lexbor/selection.pxi":164
|
|
21093
21102
|
* return False
|
|
21094
21103
|
*
|
|
21095
21104
|
* def __bool__(self): # <<<<<<<<<<<<<<
|
|
@@ -21120,21 +21129,21 @@ static int __pyx_pf_10selectolax_6lexbor_14LexborSelector_12__bool__(struct __py
|
|
|
21120
21129
|
int __pyx_clineno = 0;
|
|
21121
21130
|
__Pyx_RefNannySetupContext("__bool__", 0);
|
|
21122
21131
|
|
|
21123
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21132
|
+
/* "selectolax/lexbor/selection.pxi":165
|
|
21124
21133
|
*
|
|
21125
21134
|
* def __bool__(self):
|
|
21126
21135
|
* return bool(self.nodes) # <<<<<<<<<<<<<<
|
|
21127
21136
|
*
|
|
21128
21137
|
*
|
|
21129
21138
|
*/
|
|
21130
|
-
__pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_7cpython_4bool_bool), __pyx_v_self->nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(5,
|
|
21139
|
+
__pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)__pyx_ptype_7cpython_4bool_bool), __pyx_v_self->nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 165, __pyx_L1_error)
|
|
21131
21140
|
__Pyx_GOTREF(__pyx_t_1);
|
|
21132
|
-
__pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(5,
|
|
21141
|
+
__pyx_t_2 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(5, 165, __pyx_L1_error)
|
|
21133
21142
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
21134
21143
|
__pyx_r = __pyx_t_2;
|
|
21135
21144
|
goto __pyx_L0;
|
|
21136
21145
|
|
|
21137
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21146
|
+
/* "selectolax/lexbor/selection.pxi":164
|
|
21138
21147
|
* return False
|
|
21139
21148
|
*
|
|
21140
21149
|
* def __bool__(self): # <<<<<<<<<<<<<<
|
|
@@ -21461,7 +21470,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_14LexborSelector_16__setstate_cyt
|
|
|
21461
21470
|
return __pyx_r;
|
|
21462
21471
|
}
|
|
21463
21472
|
|
|
21464
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21473
|
+
/* "selectolax/lexbor/selection.pxi":168
|
|
21465
21474
|
*
|
|
21466
21475
|
*
|
|
21467
21476
|
* cdef lxb_status_t css_finder_callback(lxb_dom_node_t *node, lxb_css_selector_specificity_t *spec, void *ctx): # <<<<<<<<<<<<<<
|
|
@@ -21482,7 +21491,7 @@ static lxb_status_t __pyx_f_10selectolax_6lexbor_css_finder_callback(lxb_dom_nod
|
|
|
21482
21491
|
int __pyx_clineno = 0;
|
|
21483
21492
|
__Pyx_RefNannySetupContext("css_finder_callback", 0);
|
|
21484
21493
|
|
|
21485
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21494
|
+
/* "selectolax/lexbor/selection.pxi":171
|
|
21486
21495
|
* cdef LexborNode lxb_node
|
|
21487
21496
|
* cdef object cls
|
|
21488
21497
|
* cls = <object> ctx # <<<<<<<<<<<<<<
|
|
@@ -21494,49 +21503,49 @@ static lxb_status_t __pyx_f_10selectolax_6lexbor_css_finder_callback(lxb_dom_nod
|
|
|
21494
21503
|
__pyx_v_cls = __pyx_t_1;
|
|
21495
21504
|
__pyx_t_1 = 0;
|
|
21496
21505
|
|
|
21497
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21506
|
+
/* "selectolax/lexbor/selection.pxi":172
|
|
21498
21507
|
* cdef object cls
|
|
21499
21508
|
* cls = <object> ctx
|
|
21500
21509
|
* lxb_node = LexborNode() # <<<<<<<<<<<<<<
|
|
21501
21510
|
* lxb_node._cinit(<lxb_dom_node_t *> node, cls.current_node.parser)
|
|
21502
21511
|
* cls.results.append(lxb_node)
|
|
21503
21512
|
*/
|
|
21504
|
-
__pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_10selectolax_6lexbor_LexborNode)); if (unlikely(!__pyx_t_1)) __PYX_ERR(5,
|
|
21513
|
+
__pyx_t_1 = __Pyx_PyObject_CallNoArg(((PyObject *)__pyx_ptype_10selectolax_6lexbor_LexborNode)); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 172, __pyx_L1_error)
|
|
21505
21514
|
__Pyx_GOTREF(__pyx_t_1);
|
|
21506
21515
|
__pyx_v_lxb_node = ((struct __pyx_obj_10selectolax_6lexbor_LexborNode *)__pyx_t_1);
|
|
21507
21516
|
__pyx_t_1 = 0;
|
|
21508
21517
|
|
|
21509
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21518
|
+
/* "selectolax/lexbor/selection.pxi":173
|
|
21510
21519
|
* cls = <object> ctx
|
|
21511
21520
|
* lxb_node = LexborNode()
|
|
21512
21521
|
* lxb_node._cinit(<lxb_dom_node_t *> node, cls.current_node.parser) # <<<<<<<<<<<<<<
|
|
21513
21522
|
* cls.results.append(lxb_node)
|
|
21514
21523
|
* return LXB_STATUS_OK
|
|
21515
21524
|
*/
|
|
21516
|
-
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_current_node); if (unlikely(!__pyx_t_1)) __PYX_ERR(5,
|
|
21525
|
+
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_current_node); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 173, __pyx_L1_error)
|
|
21517
21526
|
__Pyx_GOTREF(__pyx_t_1);
|
|
21518
|
-
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_parser); if (unlikely(!__pyx_t_2)) __PYX_ERR(5,
|
|
21527
|
+
__pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_parser); if (unlikely(!__pyx_t_2)) __PYX_ERR(5, 173, __pyx_L1_error)
|
|
21519
21528
|
__Pyx_GOTREF(__pyx_t_2);
|
|
21520
21529
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
21521
|
-
if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_10selectolax_6lexbor_LexborHTMLParser))))) __PYX_ERR(5,
|
|
21522
|
-
__pyx_t_1 = __pyx_f_10selectolax_6lexbor_10LexborNode__cinit(__pyx_v_lxb_node, ((lxb_dom_node_t *)__pyx_v_node), ((struct __pyx_obj_10selectolax_6lexbor_LexborHTMLParser *)__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(5,
|
|
21530
|
+
if (!(likely(((__pyx_t_2) == Py_None) || likely(__Pyx_TypeTest(__pyx_t_2, __pyx_ptype_10selectolax_6lexbor_LexborHTMLParser))))) __PYX_ERR(5, 173, __pyx_L1_error)
|
|
21531
|
+
__pyx_t_1 = __pyx_f_10selectolax_6lexbor_10LexborNode__cinit(__pyx_v_lxb_node, ((lxb_dom_node_t *)__pyx_v_node), ((struct __pyx_obj_10selectolax_6lexbor_LexborHTMLParser *)__pyx_t_2)); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 173, __pyx_L1_error)
|
|
21523
21532
|
__Pyx_GOTREF(__pyx_t_1);
|
|
21524
21533
|
__Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
|
|
21525
21534
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
21526
21535
|
|
|
21527
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21536
|
+
/* "selectolax/lexbor/selection.pxi":174
|
|
21528
21537
|
* lxb_node = LexborNode()
|
|
21529
21538
|
* lxb_node._cinit(<lxb_dom_node_t *> node, cls.current_node.parser)
|
|
21530
21539
|
* cls.results.append(lxb_node) # <<<<<<<<<<<<<<
|
|
21531
21540
|
* return LXB_STATUS_OK
|
|
21532
21541
|
*
|
|
21533
21542
|
*/
|
|
21534
|
-
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_results); if (unlikely(!__pyx_t_1)) __PYX_ERR(5,
|
|
21543
|
+
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_results); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 174, __pyx_L1_error)
|
|
21535
21544
|
__Pyx_GOTREF(__pyx_t_1);
|
|
21536
|
-
__pyx_t_3 = __Pyx_PyObject_Append(__pyx_t_1, ((PyObject *)__pyx_v_lxb_node)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(5,
|
|
21545
|
+
__pyx_t_3 = __Pyx_PyObject_Append(__pyx_t_1, ((PyObject *)__pyx_v_lxb_node)); if (unlikely(__pyx_t_3 == ((int)-1))) __PYX_ERR(5, 174, __pyx_L1_error)
|
|
21537
21546
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
21538
21547
|
|
|
21539
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21548
|
+
/* "selectolax/lexbor/selection.pxi":175
|
|
21540
21549
|
* lxb_node._cinit(<lxb_dom_node_t *> node, cls.current_node.parser)
|
|
21541
21550
|
* cls.results.append(lxb_node)
|
|
21542
21551
|
* return LXB_STATUS_OK # <<<<<<<<<<<<<<
|
|
@@ -21546,7 +21555,7 @@ static lxb_status_t __pyx_f_10selectolax_6lexbor_css_finder_callback(lxb_dom_nod
|
|
|
21546
21555
|
__pyx_r = LXB_STATUS_OK;
|
|
21547
21556
|
goto __pyx_L0;
|
|
21548
21557
|
|
|
21549
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21558
|
+
/* "selectolax/lexbor/selection.pxi":168
|
|
21550
21559
|
*
|
|
21551
21560
|
*
|
|
21552
21561
|
* cdef lxb_status_t css_finder_callback(lxb_dom_node_t *node, lxb_css_selector_specificity_t *spec, void *ctx): # <<<<<<<<<<<<<<
|
|
@@ -21567,7 +21576,7 @@ static lxb_status_t __pyx_f_10selectolax_6lexbor_css_finder_callback(lxb_dom_nod
|
|
|
21567
21576
|
return __pyx_r;
|
|
21568
21577
|
}
|
|
21569
21578
|
|
|
21570
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21579
|
+
/* "selectolax/lexbor/selection.pxi":177
|
|
21571
21580
|
* return LXB_STATUS_OK
|
|
21572
21581
|
*
|
|
21573
21582
|
* cdef lxb_status_t css_matcher_callback(lxb_dom_node_t *node, lxb_css_selector_specificity_t *spec, void *ctx): # <<<<<<<<<<<<<<
|
|
@@ -21586,7 +21595,7 @@ static lxb_status_t __pyx_f_10selectolax_6lexbor_css_matcher_callback(CYTHON_UNU
|
|
|
21586
21595
|
int __pyx_clineno = 0;
|
|
21587
21596
|
__Pyx_RefNannySetupContext("css_matcher_callback", 0);
|
|
21588
21597
|
|
|
21589
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21598
|
+
/* "selectolax/lexbor/selection.pxi":180
|
|
21590
21599
|
* cdef LexborNode lxb_node
|
|
21591
21600
|
* cdef object cls
|
|
21592
21601
|
* cls = <object> ctx # <<<<<<<<<<<<<<
|
|
@@ -21598,18 +21607,18 @@ static lxb_status_t __pyx_f_10selectolax_6lexbor_css_matcher_callback(CYTHON_UNU
|
|
|
21598
21607
|
__pyx_v_cls = __pyx_t_1;
|
|
21599
21608
|
__pyx_t_1 = 0;
|
|
21600
21609
|
|
|
21601
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21610
|
+
/* "selectolax/lexbor/selection.pxi":181
|
|
21602
21611
|
* cdef object cls
|
|
21603
21612
|
* cls = <object> ctx
|
|
21604
21613
|
* cls.results.append(True) # <<<<<<<<<<<<<<
|
|
21605
21614
|
* return LXB_STATUS_STOP
|
|
21606
21615
|
*/
|
|
21607
|
-
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_results); if (unlikely(!__pyx_t_1)) __PYX_ERR(5,
|
|
21616
|
+
__pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_cls, __pyx_n_s_results); if (unlikely(!__pyx_t_1)) __PYX_ERR(5, 181, __pyx_L1_error)
|
|
21608
21617
|
__Pyx_GOTREF(__pyx_t_1);
|
|
21609
|
-
__pyx_t_2 = __Pyx_PyObject_Append(__pyx_t_1, Py_True); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5,
|
|
21618
|
+
__pyx_t_2 = __Pyx_PyObject_Append(__pyx_t_1, Py_True); if (unlikely(__pyx_t_2 == ((int)-1))) __PYX_ERR(5, 181, __pyx_L1_error)
|
|
21610
21619
|
__Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
|
|
21611
21620
|
|
|
21612
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21621
|
+
/* "selectolax/lexbor/selection.pxi":182
|
|
21613
21622
|
* cls = <object> ctx
|
|
21614
21623
|
* cls.results.append(True)
|
|
21615
21624
|
* return LXB_STATUS_STOP # <<<<<<<<<<<<<<
|
|
@@ -21617,7 +21626,7 @@ static lxb_status_t __pyx_f_10selectolax_6lexbor_css_matcher_callback(CYTHON_UNU
|
|
|
21617
21626
|
__pyx_r = LXB_STATUS_STOP;
|
|
21618
21627
|
goto __pyx_L0;
|
|
21619
21628
|
|
|
21620
|
-
/* "selectolax/lexbor/selection.pxi":
|
|
21629
|
+
/* "selectolax/lexbor/selection.pxi":177
|
|
21621
21630
|
* return LXB_STATUS_OK
|
|
21622
21631
|
*
|
|
21623
21632
|
* cdef lxb_status_t css_matcher_callback(lxb_dom_node_t *node, lxb_css_selector_specificity_t *spec, void *ctx): # <<<<<<<<<<<<<<
|
|
@@ -23950,7 +23959,7 @@ static PyObject *__pyx_pf_10selectolax_6lexbor_16LexborHTMLParser_14strip_tags(s
|
|
|
23950
23959
|
|
|
23951
23960
|
/* Python wrapper */
|
|
23952
23961
|
static PyObject *__pyx_pw_10selectolax_6lexbor_16LexborHTMLParser_17select(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
|
|
23953
|
-
static char __pyx_doc_10selectolax_6lexbor_16LexborHTMLParser_16select[] = "LexborHTMLParser.select(self, query=None)\nSelect nodes give a CSS selector.\n\n Works similarly to the
|
|
23962
|
+
static char __pyx_doc_10selectolax_6lexbor_16LexborHTMLParser_16select[] = "LexborHTMLParser.select(self, query=None)\nSelect nodes give a CSS selector.\n\n Works similarly to the ``css`` method, but supports chained filtering and extra features.\n\n Parameters\n ----------\n query : str or None\n The CSS selector to use when searching for nodes.\n\n Returns\n -------\n selector : The `Selector` class.\n ";
|
|
23954
23963
|
static PyObject *__pyx_pw_10selectolax_6lexbor_16LexborHTMLParser_17select(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
|
|
23955
23964
|
PyObject *__pyx_v_query = 0;
|
|
23956
23965
|
int __pyx_lineno = 0;
|
|
@@ -28388,16 +28397,16 @@ static int __Pyx_modinit_type_init_code(void) {
|
|
|
28388
28397
|
__pyx_ptype_10selectolax_6lexbor_TextContainer = &__pyx_type_10selectolax_6lexbor_TextContainer;
|
|
28389
28398
|
__pyx_vtabptr_10selectolax_6lexbor_LexborSelector = &__pyx_vtable_10selectolax_6lexbor_LexborSelector;
|
|
28390
28399
|
__pyx_vtable_10selectolax_6lexbor_LexborSelector.css = (PyObject *(*)(struct __pyx_obj_10selectolax_6lexbor_LexborSelector *, PyObject *, int __pyx_skip_dispatch))__pyx_f_10selectolax_6lexbor_14LexborSelector_css;
|
|
28391
|
-
if (PyType_Ready(&__pyx_type_10selectolax_6lexbor_LexborSelector) < 0) __PYX_ERR(5,
|
|
28400
|
+
if (PyType_Ready(&__pyx_type_10selectolax_6lexbor_LexborSelector) < 0) __PYX_ERR(5, 87, __pyx_L1_error)
|
|
28392
28401
|
#if PY_VERSION_HEX < 0x030800B1
|
|
28393
28402
|
__pyx_type_10selectolax_6lexbor_LexborSelector.tp_print = 0;
|
|
28394
28403
|
#endif
|
|
28395
28404
|
if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_10selectolax_6lexbor_LexborSelector.tp_dictoffset && __pyx_type_10selectolax_6lexbor_LexborSelector.tp_getattro == PyObject_GenericGetAttr)) {
|
|
28396
28405
|
__pyx_type_10selectolax_6lexbor_LexborSelector.tp_getattro = __Pyx_PyObject_GenericGetAttr;
|
|
28397
28406
|
}
|
|
28398
|
-
if (__Pyx_SetVtable(__pyx_type_10selectolax_6lexbor_LexborSelector.tp_dict, __pyx_vtabptr_10selectolax_6lexbor_LexborSelector) < 0) __PYX_ERR(5,
|
|
28399
|
-
if (PyObject_SetAttr(__pyx_m, __pyx_n_s_LexborSelector, (PyObject *)&__pyx_type_10selectolax_6lexbor_LexborSelector) < 0) __PYX_ERR(5,
|
|
28400
|
-
if (__Pyx_setup_reduce((PyObject*)&__pyx_type_10selectolax_6lexbor_LexborSelector) < 0) __PYX_ERR(5,
|
|
28407
|
+
if (__Pyx_SetVtable(__pyx_type_10selectolax_6lexbor_LexborSelector.tp_dict, __pyx_vtabptr_10selectolax_6lexbor_LexborSelector) < 0) __PYX_ERR(5, 87, __pyx_L1_error)
|
|
28408
|
+
if (PyObject_SetAttr(__pyx_m, __pyx_n_s_LexborSelector, (PyObject *)&__pyx_type_10selectolax_6lexbor_LexborSelector) < 0) __PYX_ERR(5, 87, __pyx_L1_error)
|
|
28409
|
+
if (__Pyx_setup_reduce((PyObject*)&__pyx_type_10selectolax_6lexbor_LexborSelector) < 0) __PYX_ERR(5, 87, __pyx_L1_error)
|
|
28401
28410
|
__pyx_ptype_10selectolax_6lexbor_LexborSelector = &__pyx_type_10selectolax_6lexbor_LexborSelector;
|
|
28402
28411
|
if (PyType_Ready(&__pyx_type_10selectolax_6lexbor___pyx_scope_struct____iter__) < 0) __PYX_ERR(1, 15, __pyx_L1_error)
|
|
28403
28412
|
#if PY_VERSION_HEX < 0x030800B1
|