selectolax 0.3.26__cp313-cp313-macosx_10_13_universal2.whl → 0.3.28__cp313-cp313-macosx_10_13_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/attrs.pxi +2 -1
- selectolax/lexbor/node.pxi +1 -1
- selectolax/lexbor/selection.pxi +12 -10
- selectolax/lexbor.c +1015 -893
- selectolax/lexbor.cpython-313-darwin.so +0 -0
- selectolax/lexbor.pyi +1 -1
- selectolax/lexbor.pyx +4 -2
- selectolax/parser.c +14 -14
- selectolax/parser.cpython-313-darwin.so +0 -0
- selectolax/parser.pyi +2 -2
- selectolax/utils.pxi +1 -1
- {selectolax-0.3.26.dist-info → selectolax-0.3.28.dist-info}/LICENSE +1 -1
- {selectolax-0.3.26.dist-info → selectolax-0.3.28.dist-info}/METADATA +18 -2
- selectolax-0.3.28.dist-info/RECORD +26 -0
- {selectolax-0.3.26.dist-info → selectolax-0.3.28.dist-info}/WHEEL +1 -1
- selectolax-0.3.26.dist-info/RECORD +0 -26
- {selectolax-0.3.26.dist-info → selectolax-0.3.28.dist-info}/top_level.txt +0 -0
|
Binary file
|
selectolax/lexbor.pyi
CHANGED
|
@@ -117,7 +117,7 @@ class LexborNode:
|
|
|
117
117
|
def text_content(self) -> str | None: ...
|
|
118
118
|
|
|
119
119
|
class LexborHTMLParser:
|
|
120
|
-
def __init__(self, html: str): ...
|
|
120
|
+
def __init__(self, html: str| bytes ): ...
|
|
121
121
|
@property
|
|
122
122
|
def selector(self) -> "LexborCSSSelector": ...
|
|
123
123
|
@property
|
selectolax/lexbor.pyx
CHANGED
|
@@ -112,6 +112,7 @@ cdef class LexborHTMLParser:
|
|
|
112
112
|
len(pybyte_name)
|
|
113
113
|
)
|
|
114
114
|
if status != 0x0000:
|
|
115
|
+
lxb_dom_collection_destroy(collection, <bint> True)
|
|
115
116
|
raise SelectolaxError("Can't locate elements.")
|
|
116
117
|
|
|
117
118
|
for i in range(lxb_dom_collection_length_noi(collection)):
|
|
@@ -226,13 +227,14 @@ cdef class LexborHTMLParser:
|
|
|
226
227
|
len(pybyte_name)
|
|
227
228
|
)
|
|
228
229
|
if status != 0x0000:
|
|
230
|
+
lxb_dom_collection_destroy(collection, <bint> True)
|
|
229
231
|
raise SelectolaxError("Can't locate elements.")
|
|
230
232
|
|
|
231
233
|
for i in range(lxb_dom_collection_length_noi(collection)):
|
|
232
234
|
if recursive:
|
|
233
|
-
lxb_dom_node_destroy( <lxb_dom_node_t*> lxb_dom_collection_element_noi(collection, i))
|
|
234
|
-
else:
|
|
235
235
|
lxb_dom_node_destroy_deep( <lxb_dom_node_t*> lxb_dom_collection_element_noi(collection, i))
|
|
236
|
+
else:
|
|
237
|
+
lxb_dom_node_destroy(<lxb_dom_node_t *> lxb_dom_collection_element_noi(collection, i))
|
|
236
238
|
lxb_dom_collection_destroy(collection, <bint> True)
|
|
237
239
|
|
|
238
240
|
def select(self, query=None):
|
selectolax/parser.c
CHANGED
|
@@ -3482,7 +3482,6 @@ static const char __pyx_k_HTMLParser_css[] = "HTMLParser.css";
|
|
|
3482
3482
|
static const char __pyx_k_Node_css_first[] = "Node.css_first";
|
|
3483
3483
|
static const char __pyx_k_Node_decompose[] = "Node.decompose";
|
|
3484
3484
|
static const char __pyx_k_fused_sigindex[] = "_fused_sigindex";
|
|
3485
|
-
static const char __pyx_k_html_body_head[] = "<html|<body|<head";
|
|
3486
3485
|
static const char __pyx_k_parse_fragment[] = "parse_fragment";
|
|
3487
3486
|
static const char __pyx_k_Attributes_keys[] = "_Attributes.keys";
|
|
3488
3487
|
static const char __pyx_k_Attributes_sget[] = "_Attributes.sget";
|
|
@@ -3513,6 +3512,7 @@ static const char __pyx_k_Node_replace_with[] = "Node.replace_with";
|
|
|
3513
3512
|
static const char __pyx_k_any_text_contains[] = "any_text_contains";
|
|
3514
3513
|
static const char __pyx_k_do_parse_fragment[] = "do_parse_fragment";
|
|
3515
3514
|
static const char __pyx_k_get_fragment_type[] = "get_fragment_type";
|
|
3515
|
+
static const char __pyx_k_html_body_head_er[] = "<html|<body|<head(?!er)";
|
|
3516
3516
|
static const char __pyx_k_selectolax_parser[] = "selectolax.parser";
|
|
3517
3517
|
static const char __pyx_k_Can_t_parse_HTML_s[] = "Can't parse HTML:\n%s";
|
|
3518
3518
|
static const char __pyx_k_HTMLParser_chars_s[] = "<HTMLParser chars=%s>";
|
|
@@ -4119,7 +4119,7 @@ typedef struct {
|
|
|
4119
4119
|
PyObject *__pyx_n_u_head_and_body;
|
|
4120
4120
|
PyObject *__pyx_n_s_html;
|
|
4121
4121
|
PyObject *__pyx_kp_u_html_2;
|
|
4122
|
-
PyObject *
|
|
4122
|
+
PyObject *__pyx_kp_u_html_body_head_er;
|
|
4123
4123
|
PyObject *__pyx_n_s_html_len;
|
|
4124
4124
|
PyObject *__pyx_n_s_html_re;
|
|
4125
4125
|
PyObject *__pyx_n_s_html_tree;
|
|
@@ -4663,7 +4663,7 @@ static int __pyx_m_clear(PyObject *m) {
|
|
|
4663
4663
|
Py_CLEAR(clear_module_state->__pyx_n_u_head_and_body);
|
|
4664
4664
|
Py_CLEAR(clear_module_state->__pyx_n_s_html);
|
|
4665
4665
|
Py_CLEAR(clear_module_state->__pyx_kp_u_html_2);
|
|
4666
|
-
Py_CLEAR(clear_module_state->
|
|
4666
|
+
Py_CLEAR(clear_module_state->__pyx_kp_u_html_body_head_er);
|
|
4667
4667
|
Py_CLEAR(clear_module_state->__pyx_n_s_html_len);
|
|
4668
4668
|
Py_CLEAR(clear_module_state->__pyx_n_s_html_re);
|
|
4669
4669
|
Py_CLEAR(clear_module_state->__pyx_n_s_html_tree);
|
|
@@ -5185,7 +5185,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
|
|
|
5185
5185
|
Py_VISIT(traverse_module_state->__pyx_n_u_head_and_body);
|
|
5186
5186
|
Py_VISIT(traverse_module_state->__pyx_n_s_html);
|
|
5187
5187
|
Py_VISIT(traverse_module_state->__pyx_kp_u_html_2);
|
|
5188
|
-
Py_VISIT(traverse_module_state->
|
|
5188
|
+
Py_VISIT(traverse_module_state->__pyx_kp_u_html_body_head_er);
|
|
5189
5189
|
Py_VISIT(traverse_module_state->__pyx_n_s_html_len);
|
|
5190
5190
|
Py_VISIT(traverse_module_state->__pyx_n_s_html_re);
|
|
5191
5191
|
Py_VISIT(traverse_module_state->__pyx_n_s_html_tree);
|
|
@@ -5807,7 +5807,7 @@ static int __pyx_m_traverse(PyObject *m, visitproc visit, void *arg) {
|
|
|
5807
5807
|
#define __pyx_n_u_head_and_body __pyx_mstate_global->__pyx_n_u_head_and_body
|
|
5808
5808
|
#define __pyx_n_s_html __pyx_mstate_global->__pyx_n_s_html
|
|
5809
5809
|
#define __pyx_kp_u_html_2 __pyx_mstate_global->__pyx_kp_u_html_2
|
|
5810
|
-
#define
|
|
5810
|
+
#define __pyx_kp_u_html_body_head_er __pyx_mstate_global->__pyx_kp_u_html_body_head_er
|
|
5811
5811
|
#define __pyx_n_s_html_len __pyx_mstate_global->__pyx_n_s_html_len
|
|
5812
5812
|
#define __pyx_n_s_html_re __pyx_mstate_global->__pyx_n_s_html_re
|
|
5813
5813
|
#define __pyx_n_s_html_tree __pyx_mstate_global->__pyx_n_s_html_tree
|
|
@@ -29017,7 +29017,7 @@ static PyObject *__pyx_pf_10selectolax_6parser_4get_fragment_type(CYTHON_UNUSED
|
|
|
29017
29017
|
* tree = parser_cls(html)
|
|
29018
29018
|
*
|
|
29019
29019
|
* import re # <<<<<<<<<<<<<<
|
|
29020
|
-
* html_re = re.compile(r"<html|<body|<head", re.IGNORECASE)
|
|
29020
|
+
* html_re = re.compile(r"<html|<body|<head(?!er)", re.IGNORECASE)
|
|
29021
29021
|
*
|
|
29022
29022
|
*/
|
|
29023
29023
|
__pyx_t_3 = __Pyx_ImportDottedModule(__pyx_n_s_re, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(5, 36, __pyx_L1_error)
|
|
@@ -29028,7 +29028,7 @@ static PyObject *__pyx_pf_10selectolax_6parser_4get_fragment_type(CYTHON_UNUSED
|
|
|
29028
29028
|
/* "selectolax/utils.pxi":37
|
|
29029
29029
|
*
|
|
29030
29030
|
* import re
|
|
29031
|
-
* html_re = re.compile(r"<html|<body|<head", re.IGNORECASE) # <<<<<<<<<<<<<<
|
|
29031
|
+
* html_re = re.compile(r"<html|<body|<head(?!er)", re.IGNORECASE) # <<<<<<<<<<<<<<
|
|
29032
29032
|
*
|
|
29033
29033
|
* has_html = False
|
|
29034
29034
|
*/
|
|
@@ -29051,7 +29051,7 @@ static PyObject *__pyx_pf_10selectolax_6parser_4get_fragment_type(CYTHON_UNUSED
|
|
|
29051
29051
|
}
|
|
29052
29052
|
#endif
|
|
29053
29053
|
{
|
|
29054
|
-
PyObject *__pyx_callargs[3] = {__pyx_t_7,
|
|
29054
|
+
PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_kp_u_html_body_head_er, __pyx_t_5};
|
|
29055
29055
|
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6);
|
|
29056
29056
|
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
|
|
29057
29057
|
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
|
|
@@ -29063,7 +29063,7 @@ static PyObject *__pyx_pf_10selectolax_6parser_4get_fragment_type(CYTHON_UNUSED
|
|
|
29063
29063
|
__pyx_t_3 = 0;
|
|
29064
29064
|
|
|
29065
29065
|
/* "selectolax/utils.pxi":39
|
|
29066
|
-
* html_re = re.compile(r"<html|<body|<head", re.IGNORECASE)
|
|
29066
|
+
* html_re = re.compile(r"<html|<body|<head(?!er)", re.IGNORECASE)
|
|
29067
29067
|
*
|
|
29068
29068
|
* has_html = False # <<<<<<<<<<<<<<
|
|
29069
29069
|
* has_head = False
|
|
@@ -31536,7 +31536,7 @@ static PyObject *__pyx_pf_10selectolax_6parser_16get_fragment_type(CYTHON_UNUSED
|
|
|
31536
31536
|
* tree = parser_cls(html)
|
|
31537
31537
|
*
|
|
31538
31538
|
* import re # <<<<<<<<<<<<<<
|
|
31539
|
-
* html_re = re.compile(r"<html|<body|<head", re.IGNORECASE)
|
|
31539
|
+
* html_re = re.compile(r"<html|<body|<head(?!er)", re.IGNORECASE)
|
|
31540
31540
|
*
|
|
31541
31541
|
*/
|
|
31542
31542
|
__pyx_t_3 = __Pyx_ImportDottedModule(__pyx_n_s_re, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(7, 36, __pyx_L1_error)
|
|
@@ -31547,7 +31547,7 @@ static PyObject *__pyx_pf_10selectolax_6parser_16get_fragment_type(CYTHON_UNUSED
|
|
|
31547
31547
|
/* "selectolax/utils.pxi":37
|
|
31548
31548
|
*
|
|
31549
31549
|
* import re
|
|
31550
|
-
* html_re = re.compile(r"<html|<body|<head", re.IGNORECASE) # <<<<<<<<<<<<<<
|
|
31550
|
+
* html_re = re.compile(r"<html|<body|<head(?!er)", re.IGNORECASE) # <<<<<<<<<<<<<<
|
|
31551
31551
|
*
|
|
31552
31552
|
* has_html = False
|
|
31553
31553
|
*/
|
|
@@ -31570,7 +31570,7 @@ static PyObject *__pyx_pf_10selectolax_6parser_16get_fragment_type(CYTHON_UNUSED
|
|
|
31570
31570
|
}
|
|
31571
31571
|
#endif
|
|
31572
31572
|
{
|
|
31573
|
-
PyObject *__pyx_callargs[3] = {__pyx_t_7,
|
|
31573
|
+
PyObject *__pyx_callargs[3] = {__pyx_t_7, __pyx_kp_u_html_body_head_er, __pyx_t_5};
|
|
31574
31574
|
__pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 2+__pyx_t_6);
|
|
31575
31575
|
__Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0;
|
|
31576
31576
|
__Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
|
|
@@ -31582,7 +31582,7 @@ static PyObject *__pyx_pf_10selectolax_6parser_16get_fragment_type(CYTHON_UNUSED
|
|
|
31582
31582
|
__pyx_t_3 = 0;
|
|
31583
31583
|
|
|
31584
31584
|
/* "selectolax/utils.pxi":39
|
|
31585
|
-
* html_re = re.compile(r"<html|<body|<head", re.IGNORECASE)
|
|
31585
|
+
* html_re = re.compile(r"<html|<body|<head(?!er)", re.IGNORECASE)
|
|
31586
31586
|
*
|
|
31587
31587
|
* has_html = False # <<<<<<<<<<<<<<
|
|
31588
31588
|
* has_head = False
|
|
@@ -41216,7 +41216,7 @@ static int __Pyx_CreateStringTabAndInitStrings(void) {
|
|
|
41216
41216
|
{&__pyx_n_u_head_and_body, __pyx_k_head_and_body, sizeof(__pyx_k_head_and_body), 0, 1, 0, 1},
|
|
41217
41217
|
{&__pyx_n_s_html, __pyx_k_html, sizeof(__pyx_k_html), 0, 0, 1, 1},
|
|
41218
41218
|
{&__pyx_kp_u_html_2, __pyx_k_html_2, sizeof(__pyx_k_html_2), 0, 1, 0, 0},
|
|
41219
|
-
{&
|
|
41219
|
+
{&__pyx_kp_u_html_body_head_er, __pyx_k_html_body_head_er, sizeof(__pyx_k_html_body_head_er), 0, 1, 0, 0},
|
|
41220
41220
|
{&__pyx_n_s_html_len, __pyx_k_html_len, sizeof(__pyx_k_html_len), 0, 0, 1, 1},
|
|
41221
41221
|
{&__pyx_n_s_html_re, __pyx_k_html_re, sizeof(__pyx_k_html_re), 0, 0, 1, 1},
|
|
41222
41222
|
{&__pyx_n_s_html_tree, __pyx_k_html_tree, sizeof(__pyx_k_html_tree), 0, 0, 1, 1},
|
|
Binary file
|
selectolax/parser.pyi
CHANGED
|
@@ -53,14 +53,14 @@ class Selector:
|
|
|
53
53
|
) -> bool:
|
|
54
54
|
"""Returns True if any node in the current search scope contains specified text"""
|
|
55
55
|
...
|
|
56
|
-
def
|
|
56
|
+
def attribute_longer_than(
|
|
57
57
|
self, text: str, length: int, start: str | None = None
|
|
58
58
|
) -> Selector:
|
|
59
59
|
"""Filter all current matches by attribute length.
|
|
60
60
|
|
|
61
61
|
Similar to string-length in XPath."""
|
|
62
62
|
...
|
|
63
|
-
def
|
|
63
|
+
def any_attribute_longer_than(
|
|
64
64
|
self, text: str, length: int, start: str | None = None
|
|
65
65
|
) -> bool:
|
|
66
66
|
"""Returns True any href attribute longer than a specified length.
|
selectolax/utils.pxi
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
|
|
2
2
|
MIT License
|
|
3
3
|
|
|
4
|
-
Copyright (c) 2018-
|
|
4
|
+
Copyright (c) 2018-2025, Artem Golubin
|
|
5
5
|
|
|
6
6
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
7
7
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.2
|
|
2
2
|
Name: selectolax
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.28
|
|
4
4
|
Summary: Fast HTML5 parser with CSS selectors.
|
|
5
5
|
Home-page: https://github.com/rushter/selectolax
|
|
6
6
|
Author: Artem Golubin
|
|
@@ -26,6 +26,16 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
26
26
|
License-File: LICENSE
|
|
27
27
|
Provides-Extra: cython
|
|
28
28
|
Requires-Dist: Cython==3.0.11; extra == "cython"
|
|
29
|
+
Dynamic: author
|
|
30
|
+
Dynamic: author-email
|
|
31
|
+
Dynamic: classifier
|
|
32
|
+
Dynamic: description
|
|
33
|
+
Dynamic: home-page
|
|
34
|
+
Dynamic: keywords
|
|
35
|
+
Dynamic: license
|
|
36
|
+
Dynamic: project-url
|
|
37
|
+
Dynamic: provides-extra
|
|
38
|
+
Dynamic: summary
|
|
29
39
|
|
|
30
40
|
.. image:: docs/logo.png
|
|
31
41
|
:alt: selectolax logo
|
|
@@ -75,6 +85,10 @@ How to compile selectolax while developing:
|
|
|
75
85
|
Basic examples
|
|
76
86
|
--------------
|
|
77
87
|
|
|
88
|
+
Here are some basic examples to get you started with selectolax:
|
|
89
|
+
|
|
90
|
+
Parsing HTML and extracting text:
|
|
91
|
+
|
|
78
92
|
.. code:: python
|
|
79
93
|
|
|
80
94
|
In [1]: from selectolax.parser import HTMLParser
|
|
@@ -97,6 +111,8 @@ Basic examples
|
|
|
97
111
|
['Lorem Ipsum is simply dummy text of the printing and typesetting industry. ',
|
|
98
112
|
'Lorem ipsum dolor sit amet, consectetur adipiscing elit.']
|
|
99
113
|
|
|
114
|
+
Using advanced CSS selectors:
|
|
115
|
+
|
|
100
116
|
.. code:: python
|
|
101
117
|
|
|
102
118
|
In [1]: html = "<div><p id=p1><p id=p2><p id=p3><a>link</a><p id=p4><p id=p5>text<p id=p6></div>"
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
selectolax-0.3.28.dist-info/RECORD,,
|
|
2
|
+
selectolax-0.3.28.dist-info/LICENSE,sha256=MYCcM-Cv_rC2-lQiwDumin0E-rMXAhK-qIGGA29434Y,1077
|
|
3
|
+
selectolax-0.3.28.dist-info/WHEEL,sha256=orpCz_JJFAUeF0-kUBwYoTzNk-BPTKxnNHa4kLcp-uI,115
|
|
4
|
+
selectolax-0.3.28.dist-info/top_level.txt,sha256=e5MuEM2PrQzoDlWetkFli9uXSlxa_ktW5jJEihhaI1c,11
|
|
5
|
+
selectolax-0.3.28.dist-info/METADATA,sha256=i_MaZlvsWpwfXL4KIPY7L04XUq-72PaCHq70tucayU8,6255
|
|
6
|
+
selectolax/lexbor.pyi,sha256=gf0rPd2B1EZyz_oN6EER-wFojg__Sz18GwjjVYo7SkU,6552
|
|
7
|
+
selectolax/parser.pyx,sha256=o1HkYE_nQr3TS7EPlldJx2-ygU9B5FI2uWYFzdF-VaI,12953
|
|
8
|
+
selectolax/__init__.py,sha256=IhnQaAtBWz03SUIe66y78uQqmWBontg4z13rRupwa7Q,175
|
|
9
|
+
selectolax/lexbor.pxd,sha256=PwygBdb1blWAQcxXubZS5uffhgcXaqgySNMPFMT02-c,20958
|
|
10
|
+
selectolax/lexbor.pyx,sha256=rpb32yQ2E_6nJeaPDQs3kb3GFoALZqQbVCN35kcUM-M,10882
|
|
11
|
+
selectolax/parser.pyi,sha256=qLkvStGG4K3daXChLChzPHGV5w5gmIEMvFwRpC_Q4EM,11561
|
|
12
|
+
selectolax/utils.pxi,sha256=uB0-0naFQPy1JpR2DiIlKnyLyC76yWLnUHSuH11xg6s,3459
|
|
13
|
+
selectolax/lexbor.c,sha256=Yu7Ghf3ujchqqoSVnZr7h6eEaZblx8Aoy0VJUnJZA5A,2359509
|
|
14
|
+
selectolax/parser.cpython-313-darwin.so,sha256=lc8RY2OAI2Ezy8QQFUQdVlYfuknzHkKgBx6k_iS3RHI,6158936
|
|
15
|
+
selectolax/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
+
selectolax/lexbor.cpython-313-darwin.so,sha256=XthPdKe-9apyT66WvNMWtZHmhC2lXk-MvCZL5W169hc,7548832
|
|
17
|
+
selectolax/parser.c,sha256=B6KXGW2ItH2oWhyUpALnCxeuDspYkUHuWEsa4ChfbTE,2214827
|
|
18
|
+
selectolax/base.pxi,sha256=eiPKlY9gG3l49qJoRQVLl1Ljza6z1k0A-met6sDPcqE,89
|
|
19
|
+
selectolax/parser.pxd,sha256=zZlg1vHUg6o4MXaiwKAo5S5hO_DqBGc4_E10qJ2EcM4,24564
|
|
20
|
+
selectolax/modest/selection.pxi,sha256=S55MMxEW2B1oPExB_DRwPM46WoWZU73J3rFRZU1URuQ,6393
|
|
21
|
+
selectolax/modest/util.pxi,sha256=aX9UnRNTITImHVBTlIs9efOd3EyugLq_Lwuo0zVTiuQ,551
|
|
22
|
+
selectolax/modest/node.pxi,sha256=NrMzJnQJDCmgTHpUxpMHDyAfQ_AS_n_Cr_2ryEKjyL0,32550
|
|
23
|
+
selectolax/lexbor/selection.pxi,sha256=FA6npHtXjJjvS8H2_e_LS53i5zbpGYgb5zTh5Tf_XQY,6571
|
|
24
|
+
selectolax/lexbor/util.pxi,sha256=Zq7S-zlyU3wOo49wGHQHnmmhpbkrcJm59ZCTPENcZQA,563
|
|
25
|
+
selectolax/lexbor/node.pxi,sha256=-cqsA4gz9yL6hCte6uGgdQKvhIBZF_BZc_xHJn0rkCM,29340
|
|
26
|
+
selectolax/lexbor/attrs.pxi,sha256=Ol2RNzXZAcWaqJdDBUe0ChOCcA8HC990Hjncj98XAkw,3138
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
selectolax-0.3.26.dist-info/RECORD,,
|
|
2
|
-
selectolax-0.3.26.dist-info/LICENSE,sha256=kYggm2ZJzBgL79x1gCsYsx8rFIYP2IE-BdXRV3Rm0NU,1077
|
|
3
|
-
selectolax-0.3.26.dist-info/WHEEL,sha256=pJyWwqOgS8-_dOw_-yPJJDauxCO1NJCkyPNqxURSoZw,115
|
|
4
|
-
selectolax-0.3.26.dist-info/top_level.txt,sha256=e5MuEM2PrQzoDlWetkFli9uXSlxa_ktW5jJEihhaI1c,11
|
|
5
|
-
selectolax-0.3.26.dist-info/METADATA,sha256=HqNPkDK0NqFA-N4HsTn3QtHYktNEwobUdCj7kw-e4VU,5928
|
|
6
|
-
selectolax/lexbor.pyi,sha256=X2PMQR2XLd2rOPliKSpeFZ_VEf6mOQFTcFm0ChQbzsQ,6544
|
|
7
|
-
selectolax/parser.pyx,sha256=o1HkYE_nQr3TS7EPlldJx2-ygU9B5FI2uWYFzdF-VaI,12953
|
|
8
|
-
selectolax/__init__.py,sha256=r8TrGaSWTYcCt8yNkcf_pH1I7c7IPOMagr3wd9tCgy8,175
|
|
9
|
-
selectolax/lexbor.pxd,sha256=PwygBdb1blWAQcxXubZS5uffhgcXaqgySNMPFMT02-c,20958
|
|
10
|
-
selectolax/lexbor.pyx,sha256=ffEzBnZjGTsI-H5qck7bfjVRE9vteOhQnDp6RjVD7G0,10750
|
|
11
|
-
selectolax/parser.pyi,sha256=kbR5eWvkJEy-9Hx3L_4JmGy3caIl0ki4SiagWz-fnhw,11557
|
|
12
|
-
selectolax/utils.pxi,sha256=rPNMFqS0PRLkQPugwPfj-pnHCzkQzQ2cjIRMPZdR6R8,3453
|
|
13
|
-
selectolax/lexbor.c,sha256=mDFnCQbjAav1zsNLpikrhF1nth0NnhlvHwFzo45-hIc,2353590
|
|
14
|
-
selectolax/parser.cpython-313-darwin.so,sha256=kY8S34tGUaohfdBfzBYnoRFo6_ydkw-3WSKSMFrJUGM,6158936
|
|
15
|
-
selectolax/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
16
|
-
selectolax/lexbor.cpython-313-darwin.so,sha256=mBSRyPhv-nJxeONweF1uRR3Ll2xljzrsOMnDanrGtd0,23079456
|
|
17
|
-
selectolax/parser.c,sha256=W3VyTzjtoNJZAWLNSx9cFaJcn4D4gtQchsz3APG7iiY,2214752
|
|
18
|
-
selectolax/base.pxi,sha256=eiPKlY9gG3l49qJoRQVLl1Ljza6z1k0A-met6sDPcqE,89
|
|
19
|
-
selectolax/parser.pxd,sha256=zZlg1vHUg6o4MXaiwKAo5S5hO_DqBGc4_E10qJ2EcM4,24564
|
|
20
|
-
selectolax/modest/selection.pxi,sha256=S55MMxEW2B1oPExB_DRwPM46WoWZU73J3rFRZU1URuQ,6393
|
|
21
|
-
selectolax/modest/util.pxi,sha256=aX9UnRNTITImHVBTlIs9efOd3EyugLq_Lwuo0zVTiuQ,551
|
|
22
|
-
selectolax/modest/node.pxi,sha256=NrMzJnQJDCmgTHpUxpMHDyAfQ_AS_n_Cr_2ryEKjyL0,32550
|
|
23
|
-
selectolax/lexbor/selection.pxi,sha256=PqjvpL6H9uFcmcQWVGfML8FDsTO7tGoZujpA00g9pWk,6444
|
|
24
|
-
selectolax/lexbor/util.pxi,sha256=Zq7S-zlyU3wOo49wGHQHnmmhpbkrcJm59ZCTPENcZQA,563
|
|
25
|
-
selectolax/lexbor/node.pxi,sha256=1XNzUwCbTYXy4D6rZtHxMpoJ9M-xoprB9wjdsiaWhr0,29346
|
|
26
|
-
selectolax/lexbor/attrs.pxi,sha256=-518D5v70GgMJhtsxWrWcgIMnXg8afECpUubzq8kqqs,3102
|
|
File without changes
|