summaryrefslogtreecommitdiff
path: root/bs4/css.py
diff options
context:
space:
mode:
Diffstat (limited to 'bs4/css.py')
-rw-r--r--bs4/css.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/bs4/css.py b/bs4/css.py
index b237051..ac89759 100644
--- a/bs4/css.py
+++ b/bs4/css.py
@@ -55,9 +55,9 @@ class CSS(object):
)
return self.api.escape(ident)
- def _ns(self, ns):
+ def _ns(self, ns, select):
"""Normalize a dictionary of namespaces."""
- if ns is None:
+ if not isinstance(select, self.api.SoupSieve) and ns is None:
ns = self.tag._namespaces
return ns
@@ -99,7 +99,7 @@ class CSS(object):
"""
return self.api.select_one(
- select, self.tag, self._ns(namespaces), flags, **kwargs
+ select, self.tag, self._ns(namespaces, select), flags, **kwargs
)
def select(self, select, namespaces=None, limit=0, flags=0, **kwargs):
@@ -133,7 +133,7 @@ class CSS(object):
return self._rs(
self.api.select(
- select, self.tag, self._ns(namespaces), limit, flags,
+ select, self.tag, self._ns(namespaces, select), limit, flags,
**kwargs
)
)
@@ -165,7 +165,7 @@ class CSS(object):
:rtype: types.GeneratorType
"""
return self.api.iselect(
- select, self.tag, self._ns(namespaces), limit, flags, **kwargs
+ select, self.tag, self._ns(namespaces, select), limit, flags, **kwargs
)
def closest(self, select, namespaces=None, flags=0, **kwargs):
@@ -193,7 +193,7 @@ class CSS(object):
"""
return self.api.closest(
- select, self.tag, self._ns(namespaces), flags, **kwargs
+ select, self.tag, self._ns(namespaces, select), flags, **kwargs
)
def match(self, select, namespaces=None, flags=0, **kwargs):
@@ -220,7 +220,7 @@ class CSS(object):
:rtype: bool
"""
return self.api.match(
- select, self.tag, self._ns(namespaces), flags, **kwargs
+ select, self.tag, self._ns(namespaces, select), flags, **kwargs
)
def filter(self, select, namespaces=None, flags=0, **kwargs):
@@ -248,6 +248,6 @@ class CSS(object):
"""
return self._rs(
self.api.filter(
- select, self.tag, self._ns(namespaces), flags, **kwargs
+ select, self.tag, self._ns(namespaces, select), flags, **kwargs
)
)