From 81f853622f808fba7cd89d02ec524abc8588f196 Mon Sep 17 00:00:00 2001 From: Leonard Richardson Date: Sat, 21 Jul 2018 12:50:29 -0400 Subject: Clarified the deprecation warning when accessing tag.fooTag, to cover the possibility that you might really have been looking for a tag called 'fooTag'. --- NEWS.txt | 4 ++++ bs4/element.py | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/NEWS.txt b/NEWS.txt index ecaccad..1aa0a42 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -36,6 +36,10 @@ an attribute like 'name' that would otherwise be masked by another argument of new_tag. [bug=1779276] +* Clarified the deprecation warning when accessing tag.fooTag, to cover + the possibility that you might really have been looking for a tag + called 'fooTag'. + = 4.6.0 (20170507) = * Added the `Tag.get_attribute_list` method, which acts like `Tag.get` for diff --git a/bs4/element.py b/bs4/element.py index f010833..c431a97 100644 --- a/bs4/element.py +++ b/bs4/element.py @@ -1106,8 +1106,10 @@ class Tag(PageElement): # BS3: soup.aTag -> "soup.find("a") tag_name = tag[:-3] warnings.warn( - '.%sTag is deprecated, use .find("%s") instead.' % ( - tag_name, tag_name)) + '.%(name)sTag is deprecated, use .find("%(name)s") instead. If you really were looking for a tag called %(name)sTag, use .find("%(name)sTag")' % dict( + name=tag_name + ) + ) return self.find(tag_name) # We special case contents to avoid recursion. elif not tag.startswith("__") and not tag == "contents": -- cgit v1.2.1