selectolax 0.3.29__cp311-cp311-macosx_10_9_x86_64.whl → 0.3.30__cp311-cp311-macosx_10_9_x86_64.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 CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  __author__ = """Artem Golubin"""
5
5
  __email__ = 'me@rushter.com'
6
- __version__ = '0.3.29'
6
+ __version__ = '0.3.30'
7
7
 
8
8
  from . import parser
9
9
  from . import lexbor
@@ -6,16 +6,16 @@ _TAG_TO_NAME = {
6
6
  0x0004: "-comment",
7
7
  }
8
8
  ctypedef fused str_or_LexborNode:
9
- basestring
9
+ str
10
10
  bytes
11
11
  LexborNode
12
12
 
13
13
  cdef inline bytes to_bytes(str_or_LexborNode value):
14
14
  cdef bytes bytes_val
15
- if isinstance(value, (str, unicode)):
16
- bytes_val = value.encode(_ENCODING)
15
+ if isinstance(value, unicode):
16
+ bytes_val = <bytes>value.encode("utf-8")
17
17
  elif isinstance(value, bytes):
18
- bytes_val = <char*> value
18
+ bytes_val = <bytes>value
19
19
  return bytes_val
20
20
 
21
21
  @cython.final
@@ -431,7 +431,7 @@ cdef class LexborNode:
431
431
  >>> tree.css_first('i').unwrap()
432
432
  >>> tree.html
433
433
  '<html><head></head><body><div>Hello world!</div></body></html>'
434
-
434
+
435
435
  Note: by default, empty tags are ignored, use "delete_empty" to change this.
436
436
  """
437
437
  if self.node.first_child == NULL:
@@ -472,7 +472,7 @@ cdef class LexborNode:
472
472
  >>> tree.body.unwrap_tags(['i','a'])
473
473
  >>> tree.body.html
474
474
  '<body><div>Hello world!</div></body>'
475
-
475
+
476
476
  Note: by default, empty tags are ignored, use "delete_empty" to change this.
477
477
  """
478
478
 
@@ -38,6 +38,9 @@ cdef class LexborCSSSelector:
38
38
  cdef lxb_char_t* c_selector
39
39
  cdef lxb_css_selector_list_t * selectors_list
40
40
 
41
+ if not isinstance(query, str):
42
+ raise TypeError("Query must be a string.")
43
+
41
44
  bytes_query = query.encode(_ENCODING)
42
45
  selectors_list = lxb_css_selectors_parse(self.parser, <lxb_char_t *> bytes_query, <size_t>len(query))
43
46
 
@@ -59,6 +62,9 @@ cdef class LexborCSSSelector:
59
62
  cdef lxb_char_t * c_selector
60
63
  cdef lxb_css_selector_list_t * selectors_list
61
64
 
65
+ if not isinstance(query, str):
66
+ raise TypeError("Query must be a string.")
67
+
62
68
  bytes_query = query.encode(_ENCODING)
63
69
  selectors_list = lxb_css_selectors_parse(self.parser, <lxb_char_t *> bytes_query, <size_t> len(query))
64
70