<86>May 9 10:39:02 userdel[1723412]: delete user 'rooter' <86>May 9 10:39:02 userdel[1723412]: removed group 'rooter' owned by 'rooter' <86>May 9 10:39:02 groupadd[1723417]: group added to /etc/group: name=rooter, GID=639 <86>May 9 10:39:02 groupadd[1723417]: group added to /etc/gshadow: name=rooter <86>May 9 10:39:02 groupadd[1723417]: new group: name=rooter, GID=639 <86>May 9 10:39:02 useradd[1723423]: new user: name=rooter, UID=639, GID=639, home=/root, shell=/bin/bash <86>May 9 10:39:02 userdel[1723429]: delete user 'builder' <86>May 9 10:39:02 userdel[1723429]: removed group 'builder' owned by 'builder' <86>May 9 10:39:02 userdel[1723429]: removed shadow group 'builder' owned by 'builder' <86>May 9 10:39:02 groupadd[1723434]: group added to /etc/group: name=builder, GID=640 <86>May 9 10:39:02 groupadd[1723434]: group added to /etc/gshadow: name=builder <86>May 9 10:39:02 groupadd[1723434]: new group: name=builder, GID=640 <86>May 9 10:39:02 useradd[1723440]: new user: name=builder, UID=640, GID=640, home=/usr/src, shell=/bin/bash <13>May 9 10:39:03 rpmi: libgdbm-1.8.3-alt10 1454943334 installed <13>May 9 10:39:03 rpmi: libexpat-2.2.10-alt1 p9+261554.100.1.1 1605103337 installed <13>May 9 10:39:03 rpmi: libp11-kit-0.23.15-alt2 p9+254920.2400.19.1 1601385903 installed <13>May 9 10:39:03 rpmi: libtasn1-4.14-alt1 p9+235792.100.2.1 1565425233 installed <13>May 9 10:39:03 rpmi: rpm-macros-alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed <13>May 9 10:39:03 rpmi: alternatives-0.5.1-alt1 sisyphus+226946.100.1.1 1554830426 installed <13>May 9 10:39:04 rpmi: ca-certificates-2020.06.29-alt1 p9+258899.100.3.1 1601998604 installed <13>May 9 10:39:04 rpmi: ca-trust-0.1.2-alt1 p9+233349.100.1.1 1561655062 installed <13>May 9 10:39:04 rpmi: p11-kit-trust-0.23.15-alt2 p9+254920.2400.19.1 1601385903 installed <13>May 9 10:39:04 rpmi: libcrypto1.1-1.1.1k-alt1 p9+268376.100.3.1 1616721011 installed <13>May 9 10:39:04 rpmi: libssl1.1-1.1.1k-alt1 p9+268376.100.3.1 1616721011 installed <13>May 9 10:39:04 rpmi: python3-3.7.4-alt3 p9+249932.100.2.1 1587127349 installed <13>May 9 10:39:04 rpmi: libpython3-3.7.4-alt3 p9+249932.100.2.1 1587127349 installed <13>May 9 10:39:05 rpmi: python3-base-3.7.4-alt3 p9+249932.100.2.1 1587127349 installed <13>May 9 10:39:05 rpmi: tests-for-installed-python3-pkgs-0.1.13.1-alt2 1535450458 installed <13>May 9 10:39:05 rpmi: rpm-build-python3-0.1.13.1-alt2 1535450458 installed <13>May 9 10:39:07 rpmi: python3-module-six-1.12.0-alt1 sisyphus+219665.100.2.1 1548148570 installed <13>May 9 10:39:07 rpmi: python3-module-pluggy-0.11.0-alt1 sisyphus+229116.100.1.1 1557316655 installed <13>May 9 10:39:07 rpmi: python3-module-pkg_resources-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed <13>May 9 10:39:07 rpmi: python3-module-more-itertools-7.0.0-alt3 sisyphus+226536.100.1.1 1554329928 installed <13>May 9 10:39:07 rpmi: python3-module-iniconfig-1.0.0-alt1 sisyphus+227494.1100.1.3 1555839106 installed <13>May 9 10:39:07 rpmi: python3-module-attrs-19.3.0-alt1 p9+266900.5140.22.1 1618153287 installed <13>May 9 10:39:07 rpmi: python3-module-atomicwrites-1.3.0-alt1 sisyphus+227473.2000.1.3 1555763467 installed <13>May 9 10:39:07 rpmi: python3-module-apipkg-1.5-alt1 sisyphus+227465.1100.1.2 1555756555 installed <13>May 9 10:39:07 rpmi: python3-module-py-1.8.0-alt2 sisyphus+228349.1400.4.1 1556631070 installed <13>May 9 10:39:07 rpmi: python-module-iniconfig-1.0.0-alt1 sisyphus+227494.1100.1.3 1555839106 installed <13>May 9 10:39:07 rpmi: python-module-apipkg-1.5-alt1 1531926894 installed <13>May 9 10:39:07 rpmi: python-modules-curses-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:07 rpmi: libtinfo-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686226 installed <13>May 9 10:39:07 rpmi: libncurses-devel-6.1.20180407-alt2 sisyphus+222164.200.1.1 1550686226 installed <13>May 9 10:39:07 rpmi: libverto-0.3.0-alt1_7 sisyphus+225932.100.1.1 1553994919 installed <13>May 9 10:39:07 rpmi: libkeyutils-1.6-alt2 sisyphus+226520.100.2.1 1554512089 installed <13>May 9 10:39:07 rpmi: libcom_err-1.44.6-alt1 sisyphus+224154.100.1.1 1552091678 installed <86>May 9 10:39:07 groupadd[1725965]: group added to /etc/group: name=_keytab, GID=499 <86>May 9 10:39:07 groupadd[1725965]: group added to /etc/gshadow: name=_keytab <86>May 9 10:39:07 groupadd[1725965]: new group: name=_keytab, GID=499 <13>May 9 10:39:07 rpmi: libkrb5-1.17.2-alt1 p9+262110.100.3.1 1606242416 installed <13>May 9 10:39:07 rpmi: libtirpc-1.0.3-alt1 1532008017 installed <13>May 9 10:39:07 rpmi: libnsl2-1.1.0-alt1_1 1511548749 installed <13>May 9 10:39:07 rpmi: python-modules-compiler-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:07 rpmi: python-modules-email-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:07 rpmi: python-modules-unittest-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:07 rpmi: python-modules-encodings-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:08 rpmi: python-modules-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:08 rpmi: python-modules-nis-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:08 rpmi: python-module-six-1.12.0-alt1 sisyphus+219665.100.2.1 1548148570 installed <13>May 9 10:39:08 rpmi: python-modules-ctypes-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:08 rpmi: python-modules-multiprocessing-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:08 rpmi: python-modules-logging-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:08 rpmi: python-module-more-itertools-1:5.0.0-alt2 sisyphus+226536.200.1.1 1554329977 installed <13>May 9 10:39:08 rpmi: python-modules-xml-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:08 rpmi: python-modules-hotshot-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:08 rpmi: python-modules-bsddb-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:08 rpmi: python-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:08 rpmi: python-modules-distutils-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:08 rpmi: python-strict-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003646 installed <13>May 9 10:39:08 rpmi: python-module-attrs-19.3.0-alt1 p9+266900.5140.22.1 1618153287 installed <13>May 9 10:39:08 rpmi: python-module-atomicwrites-1.3.0-alt1 sisyphus+227473.2000.1.3 1555763467 installed <13>May 9 10:39:08 rpmi: python-module-funcsigs-1.0.2-alt2 sisyphus+228355.2600.2.1 1556560236 installed <13>May 9 10:39:08 rpmi: python-module-scandir-1.10.0-alt1 sisyphus+225192.100.1.2 1552968870 installed <13>May 9 10:39:08 rpmi: python-module-pathlib2-2.3.3-alt1 sisyphus+228364.300.4.1 1556886257 installed <13>May 9 10:39:08 rpmi: python-module-pkg_resources-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed <13>May 9 10:39:08 rpmi: python-module-py-1.8.0-alt2 sisyphus+228349.1400.4.1 1556631070 installed <13>May 9 10:39:08 rpmi: python-modules-json-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:08 rpmi: python-module-pluggy-0.11.0-alt1 sisyphus+229116.100.1.1 1557316655 installed <13>May 9 10:39:08 rpmi: libnsl2-devel-1.1.0-alt1_1 1511548749 installed <13>May 9 10:39:08 rpmi: python-dev-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:08 rpmi: python-module-pytest-3.10.1-alt5 sisyphus+228366.2000.2.3 1556707871 installed <13>May 9 10:39:08 rpmi: python3-module-pytest-3.10.1-alt5 sisyphus+228366.2000.2.3 1556707871 installed Building target platforms: i586 Building for target i586 Wrote: /usr/src/in/nosrpm/python-module-BeautifulSoup4-4.6.3-alt1.nosrc.rpm (w1.gzdio) <13>May 9 10:39:11 rpmi: python3-dev-3.7.4-alt3 p9+249932.100.2.1 1587127349 installed <13>May 9 10:39:11 rpmi: python-tools-2to3-2.7.16-alt1.M90P.2 p9+260393.40.3.1 1604003681 installed <13>May 9 10:39:11 rpmi: python-module-setuptools-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed <13>May 9 10:39:11 rpmi: python3-module-setuptools-1:40.8.0-alt2 sisyphus+229158.200.2.1 1557735221 installed Installing python-module-BeautifulSoup4-4.6.3-alt1.src.rpm Building target platforms: i586 Building for target i586 Executing(%prep): /bin/sh -e /usr/src/tmp/rpm-tmp.59074 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + rm -rf beautifulsoup4-4.6.3 + echo 'Source #0 (beautifulsoup4-4.6.3.tar.gz):' Source #0 (beautifulsoup4-4.6.3.tar.gz): + /bin/gzip -dc /usr/src/RPM/SOURCES/beautifulsoup4-4.6.3.tar.gz + /bin/tar -xf - + cd beautifulsoup4-4.6.3 + /bin/chmod -c -Rf u+rwX,go-w . + rm -rf ../python3 + cp -a . ../python3 + exit 0 Executing(%build): /bin/sh -e /usr/src/tmp/rpm-tmp.59074 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd beautifulsoup4-4.6.3 + export LC_ALL=en_US.UTF-8 + LC_ALL=en_US.UTF-8 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export FFLAGS + /usr/bin/python2.7 setup.py build running build running build_py creating build creating build/lib creating build/lib/bs4 copying bs4/testing.py -> build/lib/bs4 copying bs4/element.py -> build/lib/bs4 copying bs4/diagnose.py -> build/lib/bs4 copying bs4/dammit.py -> build/lib/bs4 copying bs4/__init__.py -> build/lib/bs4 creating build/lib/bs4/tests copying bs4/tests/test_tree.py -> build/lib/bs4/tests copying bs4/tests/test_soup.py -> build/lib/bs4/tests copying bs4/tests/test_lxml.py -> build/lib/bs4/tests copying bs4/tests/test_htmlparser.py -> build/lib/bs4/tests copying bs4/tests/test_html5lib.py -> build/lib/bs4/tests copying bs4/tests/test_docs.py -> build/lib/bs4/tests copying bs4/tests/test_builder_registry.py -> build/lib/bs4/tests copying bs4/tests/__init__.py -> build/lib/bs4/tests creating build/lib/bs4/builder copying bs4/builder/_lxml.py -> build/lib/bs4/builder copying bs4/builder/_htmlparser.py -> build/lib/bs4/builder copying bs4/builder/_html5lib.py -> build/lib/bs4/builder copying bs4/builder/__init__.py -> build/lib/bs4/builder + pushd ../python3 ~/RPM/BUILD/python3 ~/RPM/BUILD/beautifulsoup4-4.6.3 + find -type f -name '*.py' -exec 2to3 -w '{}' + RefactoringTool: Skipping optional fixer: buffer RefactoringTool: Skipping optional fixer: idioms RefactoringTool: Skipping optional fixer: set_literal RefactoringTool: Skipping optional fixer: ws_comma RefactoringTool: No changes to ./setup.py RefactoringTool: Refactored ./scripts/demonstrate_parser_differences.py RefactoringTool: Refactored ./doc/source/conf.py RefactoringTool: Refactored ./doc.zh/source/conf.py --- ./scripts/demonstrate_parser_differences.py (original) +++ ./scripts/demonstrate_parser_differences.py (refactored) @@ -22,13 +22,13 @@ try: from bs4.builder import _lxml parsers.append('lxml') -except ImportError, e: +except ImportError as e: pass try: from bs4.builder import _html5lib parsers.append('html5lib') -except ImportError, e: +except ImportError as e: pass class Demonstration(object): @@ -47,7 +47,7 @@ output = soup.div else: output = soup - except Exception, e: + except Exception as e: output = "[EXCEPTION] %s" % str(e) self.results[parser] = output if previous_output is None: @@ -57,15 +57,15 @@ return uniform_results def dump(self): - print "%s: %s" % ("Markup".rjust(13), self.markup.encode("utf8")) - for parser, output in self.results.items(): - print "%s: %s" % (parser.rjust(13), output.encode("utf8")) + print("%s: %s" % ("Markup".rjust(13), self.markup.encode("utf8"))) + for parser, output in list(self.results.items()): + print("%s: %s" % (parser.rjust(13), output.encode("utf8"))) different_results = [] uniform_results = [] -print "= Testing the following parsers: %s =" % ", ".join(parsers) -print +print("= Testing the following parsers: %s =" % ", ".join(parsers)) +print() input_file = sys.stdin if sys.stdin.isatty(): @@ -83,13 +83,13 @@ else: different_results.append(demo) -print "== Markup that's handled the same in every parser ==" -print +print("== Markup that's handled the same in every parser ==") +print() for demo in uniform_results: demo.dump() - print -print "== Markup that's not handled the same in every parser ==" -print + print() +print("== Markup that's not handled the same in every parser ==") +print() for demo in different_results: demo.dump() - print + print() --- ./doc/source/conf.py (original) +++ ./doc/source/conf.py (refactored) @@ -40,8 +40,8 @@ master_doc = 'index' # General information about the project. -project = u'Beautiful Soup' -copyright = u'2004-2015, Leonard Richardson' +project = 'Beautiful Soup' +copyright = '2004-2015, Leonard Richardson' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -178,8 +178,8 @@ # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ - ('index', 'BeautifulSoup.tex', u'Beautiful Soup Documentation', - u'Leonard Richardson', 'manual'), + ('index', 'BeautifulSoup.tex', 'Beautiful Soup Documentation', + 'Leonard Richardson', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -211,18 +211,18 @@ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'beautifulsoup', u'Beautiful Soup Documentation', - [u'Leonard Richardson'], 1) + ('index', 'beautifulsoup', 'Beautiful Soup Documentation', + ['Leonard Richardson'], 1) ] # -- Options for Epub output --------------------------------------------------- # Bibliographic Dublin Core info. -epub_title = u'Beautiful Soup' -epub_author = u'Leonard Richardson' -epub_publisher = u'Leonard Richardson' -epub_copyright = u'2012, Leonard Richardson' +epub_title = 'Beautiful Soup' +epub_author = 'Leonard Richardson' +epub_publisher = 'Leonard Richardson' +epub_copyright = '2012, Leonard Richardson' # The language of the text. It defaults to the language option # or en if the language is not set. --- ./doc.zh/source/conf.py (original) +++ ./doc.zh/source/conf.py (refactored) @@ -40,8 +40,8 @@ master_doc = 'index' # General information about the project. -project = u'Beautiful Soup' -copyright = u'2012, Leonard Richardson' +project = 'Beautiful Soup' +copRefactoringTool: Refactored ./bs4/tests/test_tree.py WARNING: couldn't encode ./bs4/tests/test_tree.py's diff for your terminal RefactoringTool: Refactored ./bs4/tests/test_soup.py WARNING: couldn't encode ./bs4/tests/test_soup.py's diff for your terminal RefactoringTool: Refactored ./bs4/tests/test_lxml.py RefactoringTool: No changes to ./bs4/tests/test_htmlparser.py RefactoringTool: Refactored ./bs4/tests/test_html5lib.py yright = '2012, Leonard Richardson' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the @@ -178,8 +178,8 @@ # Grouping the document tree into LaTeX files. List of tuples # (source start file, target name, title, author, documentclass [howto/manual]). latex_documents = [ - ('index', 'BeautifulSoup.tex', u'Beautiful Soup Documentation', - u'Leonard Richardson', 'manual'), + ('index', 'BeautifulSoup.tex', 'Beautiful Soup Documentation', + 'Leonard Richardson', 'manual'), ] # The name of an image file (relative to this directory) to place at the top of @@ -211,18 +211,18 @@ # One entry per manual page. List of tuples # (source start file, name, description, authors, manual section). man_pages = [ - ('index', 'beautifulsoup', u'Beautiful Soup Documentation', - [u'Leonard Richardson'], 1) + ('index', 'beautifulsoup', 'Beautiful Soup Documentation', + ['Leonard Richardson'], 1) ] # -- Options for Epub output --------------------------------------------------- # Bibliographic Dublin Core info. -epub_title = u'Beautiful Soup' -epub_author = u'Leonard Richardson' -epub_publisher = u'Leonard Richardson' -epub_copyright = u'2012, Leonard Richardson' +epub_title = 'Beautiful Soup' +epub_author = 'Leonard Richardson' +epub_publisher = 'Leonard Richardson' +epub_copyright = '2012, Leonard Richardson' # The language of the text. It defaults to the language option # or en if the language is not set. --- ./bs4/tests/test_tree.py (original) +++ ./bs4/tests/test_tree.py (refactored) @@ -71,13 +71,13 @@ self.assertEqual(soup.find("b").string, "2") def test_unicode_text_find(self): --- ./bs4/tests/test_soup.py (original) +++ ./bs4/tests/test_soup.py (refactored) @@ -32,7 +32,7 @@ try: from bs4.builder import LXMLTreeBuilder, LXMLTreeBuilderForXML LXML_PRESENT = True -except ImportError, e: +except ImportError as e: LXML_PRESENT = False PYTHON_3_PRE_3_2 = (sys.version_info[0] == 3 and sys.version_info < (3,2)) @@ -40,17 +40,17 @@ class TestConstructor(SoupTest): def test_short_unicode_input(self): --- ./bs4/tests/test_lxml.py (original) +++ ./bs4/tests/test_lxml.py (refactored) @@ -7,7 +7,7 @@ import lxml.etree LXML_PRESENT = True LXML_VERSION = lxml.etree.LXML_VERSION -except ImportError, e: +except ImportError as e: LXML_PRESENT = False LXML_VERSION = (0,) @@ -68,7 +68,7 @@ # if one is installed. with warnings.catch_warnings(record=True) as w: soup = BeautifulStoneSoup("") - self.assertEqual(u"", unicode(soup.b)) + self.assertEqual("", str(soup.b)) self.assertTrue("BeautifulStoneSoup class is deprecated" in str(w[0].message)) @skipIf( --- ./bs4/tests/test_html5lib.py (original) +++ ./bs4/tests/test_html5lib.py (refactored) @@ -5,7 +5,7 @@ try: from bs4.builder import HTML5TreeBuilder HTML5LIB_PRESENT = True -except ImportError, e: +except ImportError as e: HTML5LIB_PRESENT = False from bs4.element import SoupStrainer from bs4.testing import ( @@ -74,14 +74,14 @@ def test_reparented_markup(self): markup = '

foo

\n

bar

' soup = self.soup(markup) - self.assertEqual(u"

foo

\n

bar

", soup.body.decode()) + self.assertEqual("

foo

\n

bar

", soup.body.decode()) self.assertEqual(2, len(soup.find_all('p'))) def test_reparented_markup_ends_with_whitespace(self): markup = '

foo

\n

bar

\n' soup = self.soup(markup) - self.assertEqual(u"

foo

\n

bar

\n", soup.body.decode()) + self.assertEqual("

foo

\n

bar

\n", soup.body.decode()) self.assertEqual(2, len(soup.find_all('p'))) def teRefactoringTool: No changes to ./bs4/tests/test_docs.py RefactoringTool: No changes to ./bs4/tests/test_builder_registry.py RefactoringTool: No changes to ./bs4/tests/__init__.py RefactoringTool: Refactored ./bs4/testing.py WARNING: couldn't encode ./bs4/testing.py's diff for your terminal RefactoringTool: Refactored ./bs4/element.py st_reparented_markup_containing_identical_whitespace_nodes(self): @@ -127,4 +127,4 @@ def test_foster_parenting(self): markup = b"""A""" soup = self.soup(markup) - self.assertEqual(u"A
", soup.body.decode()) + self.assertEqual("A
", soup.body.decode()) --- ./bs4/testing.py (original) +++ ./bs4/testing.py (refactored) @@ -164,7 +164,7 @@ # process_markup correctly sets processing_instruction_class # even when the markup is already Unicode and there is no # need to process anything. - markup = u"""""" + markup = """""" soup = self.soup(markup) self.assertEqual(markup, soup.decode()) @@ -324,8 +324,8 @@ # "&T" and "&p" look like incomplete character entities, but they are # not. self.assertSoupEquals( - u"

• AT&T is in the s&p 500

", - u"

\u2022 AT&T is in the s&p 500

" + "

• AT&T is in the s&p 500

", + "

\u2022 AT&T is in the s&p 500

" ) def test_entities_in_foreign_document_encoding(self): @@ -338,17 +338,17 @@ # characters. markup = "

“Hello” -☃

" soup = self.soup(markup) --- ./bs4/element.py (original) +++ ./bs4/element.py (refactored) @@ -4,7 +4,7 @@ try: from collections.abc import Callable # Python 3.6 -except ImportError , e: +except ImportError as e: from collections import Callable import re import shlex @@ -29,22 +29,22 @@ return alias -class NamespacedAttribute(unicode): +class NamespacedAttribute(str): def __new__(cls, prefix, name, namespace=None): if name is None: - obj = unicode.__new__(cls, prefix) + obj = str.__new__(cls, prefix) elif prefix is None: # Not really namespaced. - obj = unicode.__new__(cls, name) - else: - obj = unicode.__new__(cls, prefix + ":" + name) + obj = str.__new__(cls, name) + else: + obj = str.__new__(cls, prefix + ":" + name) obj.prefix = prefix obj.name = name obj.namespace = namespace return obj -class AttributeValueWithCharsetSubstitution(unicode): +class AttributeValueWithCharsetSubstitution(str): """A stand-in object for a character encoding specified in HTML.""" class CharsetMetaAttributeValue(AttributeValueWithCharsetSubstitution): @@ -55,7 +55,7 @@ """ def __new__(cls, original_value): - obj = unicode.__new__(cls, original_value) + obj = str.__new__(cls, original_value) obj.original_value = original_value return obj @@ -78,9 +78,9 @@ match = cls.CHARSET_RE.search(original_value) if match is None: # No substitution necessary. - return unicode.__new__(unicode, original_value) - - obj = unicode.__new__(cls, original_value) + return str.__new__(str, original_value) + + obj = str.__new__(cls, original_value) obj.original_value = original_value return obj @@ -202,7 +202,7 @@ def format_string(self, s, formatter='minimal'): """Format the given string using the given formatter.""" - if isinstance(formatter, basestring): + if isinstance(formatter, str): formatter = self._formatter_for_name(formatter) if formatter is None: output = s @@ -357,7 +357,7 @@ raise ValueError("Cannot insert None into a tag.") if new_child is self: raise ValueError("Cannot insert a tag into itself.") - if (isinstance(new_child, basestring) + if (isinstance(new_child, str) and not isinstance(new_child, NavigableString)): new_child = NavigableString(new_child) @@ -586,7 +586,7 @@ result = (element for element in generator if isinstance(element, Tag)) return ResultSet(strainer, result) - elif isinstance(name, basestring): + elif isinstance(name, str): # Optimization to find all tags with a given name. if name.count(':') == 1: # This is a name with a prefix. If this is a namespace-aware document, @@ -751,7 +751,7 @@ return self.parents -class NavigableString(unicode, PageElement): +class NavigableString(str, PageElement): PREFIX = '' SUFFIX = '' @@ -769,10 +769,10 @@ passed in to the superclass's __new__ or the superclass won't know how to handle non-ASCII characters. """ - if isinstance(value, unicode): - u = unicode.__new__(cls, value) - else: - u = unicode.__new__(cls, value, DEFAULT_OUTPUT_ENCODING) + if isinstance(value, str): + u = str.__new__(cls, value) + else: + u = str.__new__(cls, value, DEFAULT_OUTPUT_ENCODING) u.setup() return u @@ -783,7 +783,7 @@ return type(self)(self) def __getnewargs__(self): - return (unicode(self),) + return (str(self),) def __getattr__(self, attr): """text.string gives you text. This is for backwards @@ -823,29 +823,29 @@ class CData(PreformattedString): - PREFIX = u'' + PREFIX = '' class ProcessingInstruction(PreformattedString): """A SGML processing instruction.""" - PREFIX = u'' + PREFIX = '' class XMLProcessingInstruction(ProcessingInstruction): """An XML processing instruction.""" - PREFIX = u'' + PREFIX = '' class Comment(PreformattedString): - PREFIX = u'' + PREFIX = '' class Declaration(PreformattedString): - PREFIX = u'' + PREFIX = '' class Doctype(PreformattedString): @@ -862,8 +862,8 @@ return Doctype(value) - PREFIX = u'\n' + PREFIX = '\n' class Tag(PageElement): @@ -1002,7 +1002,7 @@ for string in self._all_strings(True): yield string - def get_text(self, separator=u"", strip=False, + def get_text(self, separator="", strip=False, types=(NavigableString, CData)): """ Get all child strings, concatenated using the given separator. @@ -1081,7 +1081,7 @@ def __contains__(self, x): return x in self.contents - def __nonzero__(self): + def __bool__(self): "A tag is non-None even if it has no contents." return True @@ -1203,8 +1203,8 @@ else: if isinstance(val, list) or isinstance(val, tuple): val = ' '.join(val) - elif not isinstance(val, basestring): - val = unicode(val) + elif not isinstance(val, str): + val = str(val) elif ( isinstance(val, AttributeValueWithCharsetSubstitution) and eventual_encoding is not None): @@ -1212,7 +1212,7 @@ text = self.format_string(val, formatter) decoded = ( - unicode(key) + '=' + str(key) + '=' + EntitySubstitution.quoted_attribute_value(text)) attrs.append(decoded) close = '' @@ -1445,7 +1445,7 @@ 'Final combinator "%s" is missing an argument.' % tokens[-1]) if self._select_debug: - print 'Running CSS selector "%s"' % selector + print('Running CSS selector "%s"' % selector) for index, token in enumerate(tokens): new_context = [] @@ -1454,11 +1454,11 @@ if tokens[index-1] in self._selector_combinators: # This token was consumed by the previous combinator. Skip it. if self._select_debug: - print ' Token was consumed by the previous combinator.' + print(' Token was consumed by the previous combinator.') continue if self._select_debug: - print ' Considering token "%s"' % token + print(' Considering token "%s"' % token) recursive_candidate_generator = None tag_name = None @@ -1565,14 +1565,14 @@ next_token = tokens[index+1] def recursive_select(tag): if self._select_debug: - print ' Calling select("%s") recursively on %s %s' % (next_token, tag.name, tag.attrs) - print '-' * 40 + print(' Calling select("%s") recursively on %s %s' % (next_token, tag.name, tag.attrs)) + print('-' * 40) for i in tag.select(next_token, recursive_candidate_generator): if self._select_debug: - print '(Recursive select picked up candidate %s %s)' % (i.name, i.attrs) + print('(Recursive select picked up candidate %s %s)' % (i.name, i.attrs)) yield i if self._select_debug: - print '-' * 40 + print('-' * 40) _use_candidate_generator = recursive_select elif _candidate_generator is None: # By default, a tag's candidates are all of its @@ -1583,7 +1583,7 @@ check = "[any]" else: check = tag_name - print ' Default candidate generator, tag name="%s"' % check + print(' Default candidate generator, tag name="%s"' % check) if self._select_debug: # This is redundant with later code, but it stops # a bunch of bogus tags from cluttering up the @@ -1604,8 +1604,8 @@ count = 0 for tag in current_context: if self._select_debug: - print " Running candidate generator on %s %s" % ( - tag.name, repr(tag.attrs)) + print(" Running candidate generator on %s %s" % ( + tag.name, repr(tag.attrs))) for candidate in _use_candidate_generator(tag): if not isinstance(candidate, Tag): continue @@ -1620,23 +1620,23 @@ break if checker is None or result: if self._select_debug: - print " SUCCESS %s %s" % (candidate.name, repr(candidate.attrs)) + print(" SUCCESS %s %s" % (candidate.name, repr(candidate.attrs))) if id(candidate) not in new_context_ids: # If a tag matches a selector more than once, # don't include it in the context more than once. new_context.append(candidate) new_context_ids.add(id(candidate)) elif self._select_debug: - print " FAILURE %s %s" % (candidate.name, repr(candidate.attrs)) + print(" FAILURE %s %s" % (candidate.name, repr(candidate.attrs))) current_context = new_context if limit and len(current_context) >= limit: current_context = current_context[:limit] if self._select_debug: - print "Final verdict:" + print("Final verdict:") for i in current_context: - print " %s %s" % (i.name, i.attrs) + RefactoringTool: Refactored ./bs4/diagnose.py print(" %s %s" % (i.name, i.attrs)) return current_context # Old names for backwards compatibility @@ -1680,7 +1680,7 @@ else: attrs = kwargs normalized_attrs = {} - for key, value in attrs.items(): + for key, value in list(attrs.items()): normalized_attrs[key] = self._normalize_search_value(value) self.attrs = normalized_attrs @@ -1689,7 +1689,7 @@ def _normalize_search_value(self, value): # Leave it alone if it's a Unicode string, a callable, a # regular expression, a boolean, or None. - if (isinstance(value, unicode) or callable(value) or hasattr(value, 'match') + if (isinstance(value, str) or callable(value) or hasattr(value, 'match') or isinstance(value, bool) or value is None): return value @@ -1702,7 +1702,7 @@ new_value = [] for v in value: if (hasattr(v, '__iter__') and not isinstance(v, bytes) - and not isinstance(v, unicode)): + and not isinstance(v, str)): # This is almost certainly the user's mistake. In the # interests of avoiding infinite loops, we'll let # it through as-is rather than doing a recursive call. @@ -1714,7 +1714,7 @@ # Otherwise, convert it into a Unicode string. # The unicode(str()) thing is so this will do the same thing on Python 2 # and Python 3. - return unicode(str(value)) + return str(str(value)) def __str__(self): if self.text: @@ -1768,7 +1768,7 @@ found = None # If given a list of items, scan it for a text element that # matches. - if hasattr(markup, '__iter__') and not isinstance(markup, (Tag, basestring)): + if hasattr(markup, '__iter__') and not isinstance(markup, (Tag, str)): for element in markup: if isinstance(element, NavigableString) \ and self.search(element): @@ -1781,7 +1781,7 @@ found = self.search_tag(markup) # If it's text, make sure the text matches. elif isinstance(markup, NavigableString) or \ - isinstance(markup, basestring): + isinstance(markup, str): if not self.name and not self.attrs and self._matches(markup, self.text): found = markup else: @@ -1826,7 +1826,7 @@ return not match_against if (hasattr(match_against, '__iter__') - and not isinstance(match_against, basestring)): + and not isinstance(match_against, str)): # We're asked to match against an iterable of items. # The markup must be match at least one item in the # iterable. We'll try each one in turn. @@ -1853,7 +1853,7 @@ # the tag's name and once against its prefixed name. match = False - if not match and isinstance(match_against, unicode): + if not match and isinstance(match_against, str): # Exact string match match = markup == match_against --- ./bs4/diagnose.py (original) +++ ./bs4/diagnose.py (refactored) @@ -5,8 +5,8 @@ __license__ = "MIT" import cProfile -from StringIO import StringIO -from HTMLParser import HTMLParser +from io import StringIO +from html.parser import HTMLParser import bs4 from bs4 import BeautifulSoup, __version__ from bs4.builder import builder_registry @@ -22,8 +22,8 @@ def diagnose(data): """Diagnostic suite for isolating common problems.""" - print "Diagnostic running on Beautiful Soup %s" % __version__ - print "Python version %s" % sys.version + print("Diagnostic running on Beautiful Soup %s" % __version__) + print("Python version %s" % sys.version) basic_parsers = ["html.parser", "html5lib", "lxml"] for name in basic_parsers: @@ -32,16 +32,16 @@ break else: basic_parsers.remove(name) - print ( + print(( "I noticed that %s is not installed. Installing it may help." % - name) + name)) if 'lxml' in basic_parsers: basic_parsers.append("lxml-xml") try: from lxml import etree - print "Found lxml version %s" % ".".join(map(str,etree.LXML_VERSION)) - except ImportError, e: + print("Found lxml version %s" % ".".join(map(str,etree.LXML_VERSION))) + except ImportError as e: print ( "lxml is not installed or couldn't be imported.") @@ -49,43 +49,43 @@ if 'html5lib' in basic_parsers: try: import html5lib - print "Found html5lib version %s" % html5lib.__version__ - except ImportError, e: + print("Found html5lib version %s" % html5lib.__version__) + except ImportError as e: print ( "html5lib is not installed or couldn't be imported.") if hasattr(data, 'read'): data = data.read() elif data.startswith("http:") or data.startswith("https:"): - print '"%s" looks like a URL. Beautiful Soup is not an HTTP client.' % data - print "You need to use some other library to get the document behind the URL, and feed that document to Beautiful Soup." + print('"%s" looks like a URL. Beautiful Soup is not an HTTP client.' % data) + print("You need to use some other library to get the document behind the URL, and feed that document to Beautiful Soup.") return else: try: if os.path.exists(data): - print '"%s" looks like a filename. Reading data from the file.' % data + print('"%s" looks like a filename. Reading data from the file.' % data) with open(data) as fp: data = fp.read() except ValueError: # This can happen on some platforms when the 'filename' is # too long. Assume it's data and not a filename. pass - print + print() for parser in basic_parsers: - print "Trying to parse your markup with %s" % parser + print("Trying to parse your markup with %s" % parser) success = False try: soup = BeautifulSoup(data, features=parser) success = True - except Exception, e: - print "%s could not parse the markup." % parser + except Exception as e: + print("%s could not parse the markup." % parser) traceback.print_exc() if success: - print "Here's what %s did with the markup:" % parser - print soup.prettify() - - print "-" * 80 + print("Here's what %s did with the markup:" % parser) + print(soup.prettify()) + + print("-" * 80) def lxml_trace(data, html=True, **kwargs): """Print out the lxml events that occur during parsing. @@ -95,7 +95,7 @@ """ from lxml import etree for event, element in etree.iterparse(StringIO(data), html=html, **kwargs): - print("%s, %4s, %s" % (event, element.tag, element.text)) + print(("%s, %4s, %s" % (event, element.tag, element.text))) class AnnouncingParser(HTMLParser): """Announces HTMLParser parse events, without doing anything else.""" @@ -177,9 +177,9 @@ def benchmark_parsers(num_elements=100000): """Very basic head-to-head performance benchmark.""" - print "Comparative parser benchmark on Beautiful Soup %s" % __version__ + print("Comparative parser benchmark on Beautiful Soup %s" % __version__) data = rdoc(num_elements) - print "Generated a large invalid HTML document (%d bytes)." % len(data) + print("Generated a large invalid HTML document (%d bytes)." % len(data)) for parser in ["lxml", ["lxml", "html"], "html5lib", "html.parser"]: success = False @@ -188,24 +188,24 @@ soup = BeautifulSoup(data, parser) b = time.time() success = True - RefactoringTool: Refactored ./bs4/dammit.py RefactoringTool: Refactored ./bs4/builder/_lxml.py except Exception, e: - print "%s could not parse the markup." % parser + except Exception as e: + print("%s could not parse the markup." % parser) traceback.print_exc() if success: - print "BS4+%s parsed the markup in %.2fs." % (parser, b-a) + print("BS4+%s parsed the markup in %.2fs." % (parser, b-a)) from lxml import etree a = time.time() etree.HTML(data) b = time.time() - print "Raw lxml parsed the markup in %.2fs." % (b-a) + print("Raw lxml parsed the markup in %.2fs." % (b-a)) import html5lib parser = html5lib.HTMLParser() a = time.time() parser.parse(data) b = time.time() - print "Raw html5lib parsed the markup in %.2fs." % (b-a) + print("Raw html5lib parsed the markup in %.2fs." % (b-a)) def profile(num_elements=100000, parser="lxml"): --- ./bs4/dammit.py (original) +++ ./bs4/dammit.py (refactored) @@ -11,7 +11,7 @@ __license__ = "MIT" import codecs -from htmlentitydefs import codepoint2name +from html.entities import codepoint2name import re import logging import string @@ -59,7 +59,7 @@ reverse_lookup = {} characters_for_re = [] for codepoint, name in list(codepoint2name.items()): - character = unichr(codepoint) + character = chr(codepoint) if codepoint != 34: # There's no point in turning the quotation mark into # ", unless it happens within an attribute value, which @@ -274,7 +274,7 @@ def strip_byte_order_mark(cls, data): """If a byte-order mark is present, strip it and return the encoding it implies.""" encoding = None - if isinstance(data, unicode): + if isinstance(data, str): # Unicode data cannot have a byte-order mark. return data, encoding if (len(data) >= 4) and (data[:2] == b'\xfe\xff') \ @@ -352,9 +352,9 @@ markup, override_encodings, is_html, exclude_encodings) # Short-circuit if the data is in Unicode to begin with. - if isinstance(markup, unicode) or markup == '': + if isinstance(markup, str) or markup == '': self.markup = markup - self.unicode_markup = unicode(markup) + self.unicode_markup = str(markup) self.original_encoding = None return @@ -438,7 +438,7 @@ def _to_unicode(self, data, encoding, errors="strict"): '''Given a string and its encoding, decodes the string into Unicode. %encoding is a string recognized by encodings.aliases''' - return unicode(data, encoding, errors) + return str(data, encoding, errors) @property def declared_html_encoding(self): --- ./bs4/builder/_lxml.py (original) +++ ./bs4/builder/_lxml.py (refactored) @@ -7,11 +7,11 @@ try: from collections.abc import Callable # Python 3.6 -except ImportError , e: +except ImportError as e: from collections import Callable from io import BytesIO -from StringIO import StringIO +from io import StringIO from lxml import etree from bs4.element import ( Comment, @@ -105,12 +105,12 @@ else: self.processing_instruction_class = XMLProcessingInstruction - if isinstance(markup, unicode): + if isinstance(markup, str): # We were given Unicode. Maybe lxml can parse Unicode on # this system? yield markup, None, document_declared_encoding, False - if isinstance(markup, unicode): + if isinstance(markup, str): # No, apparently not. Convert the Unicode to UTF-8 and # tell lxml to parse it as UTF-8. yield (markup.encode("utf8"), "utf8", @@ -125,7 +125,7 @@ def feed(self, markup): if isinstance(markup, bytes): markup = BytesIO(markup) - elif isinstance(markup, unicode): + elif isinstance(markup, str): markup = StringIO(markup) # Call feed() at least once, even if the markup iRefactoringTool: Refactored ./bs4/builder/_htmlparser.py s empty, @@ -140,7 +140,7 @@ if len(data) != 0: self.parser.feed(data) self.parser.close() - except (UnicodeDecodeError, LookupError, etree.ParserError), e: + except (UnicodeDecodeError, LookupError, etree.ParserError) as e: raise ParserRejectedMarkup(str(e)) def close(self): @@ -158,12 +158,12 @@ self.nsmaps.append(None) elif len(nsmap) > 0: # A new namespace mapping has come into play. - inverted_nsmap = dict((value, key) for key, value in nsmap.items()) + inverted_nsmap = dict((value, key) for key, value in list(nsmap.items())) self.nsmaps.append(inverted_nsmap) # Also treat the namespace mapping as a set of attributes on the # tag, so we can recreate it later. attrs = attrs.copy() - for prefix, namespace in nsmap.items(): + for prefix, namespace in list(nsmap.items()): attribute = NamespacedAttribute( "xmlns", prefix, "http://www.w3.org/2000/xmlns/") attrs[attribute] = namespace @@ -172,7 +172,7 @@ # from lxml with namespaces attached to their names, and # turn then into NamespacedAttribute objects. new_attrs = {} - for attr, value in attrs.items(): + for attr, value in list(attrs.items()): namespace, attr = self._getNsTag(attr) if namespace is None: new_attrs[attr] = value @@ -232,7 +232,7 @@ def test_fragment_to_document(self, fragment): """See `TreeBuilder`.""" - return u'\n%s' % fragment + return '\n%s' % fragment class LXMLTreeBuilder(HTMLTreeBuilder, LXMLTreeBuilderForXML): @@ -253,10 +253,10 @@ self.parser = self.parser_for(encoding) self.parser.feed(markup) self.parser.close() - except (UnicodeDecodeError, LookupError, etree.ParserError), e: + except (UnicodeDecodeError, LookupError, etree.ParserError) as e: raise ParserRejectedMarkup(str(e)) def test_fragment_to_document(self, fragment): """See `TreeBuilder`.""" - return u'%s' % fragment + return '%s' % fragment --- ./bs4/builder/_htmlparser.py (original) +++ ./bs4/builder/_htmlparser.py (refactored) @@ -8,11 +8,11 @@ 'HTMLParserTreeBuilder', ] -from HTMLParser import HTMLParser +from html.parser import HTMLParser try: - from HTMLParser import HTMLParseError -except ImportError, e: + from html.parser import HTMLParseError +except ImportError as e: # HTMLParseError is removed in Python 3.5. Since it can never be # thrown in 3.5, we can just define our own class as a placeholder. class HTMLParseError(Exception): @@ -153,14 +153,14 @@ continue try: data = bytearray([real_name]).decode(encoding) - except UnicodeDecodeError, e: + except UnicodeDecodeError as e: pass if not data: try: - data = unichr(real_name) - except (ValueError, OverflowError), e: + data = chr(real_name) + except (ValueError, OverflowError) as e: pass - data = data or u"\N{REPLACEMENT CHARACTER}" + data = data or "\N{REPLACEMENT CHARACTER}" self.handle_data(data) def handle_entityref(self, name): @@ -228,7 +228,7 @@ declared within markup, whether any characters had to be replaced with REPLACEMENT CHARACTER). """ - if isinstance(markup, unicode): + if isinstance(markup, str): yield (markup, None, None, False) return @@ -246,7 +246,7 @@ try: parser.feed(markup) parser.close() - except HTMLParseError, e: + excRefactoringTool: Refactored ./bs4/builder/_html5lib.py RefactoringTool: Refactored ./bs4/builder/__init__.py ept HTMLParseError as e: warnings.warn(RuntimeWarning( "Python's built-in HTMLParser cannot parse the given document. This is not a bug in Beautiful Soup. The best solution is to install an external parser (lxml or html5lib), and use Beautiful Soup with that parser. See http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser for help.")) raise e --- ./bs4/builder/_html5lib.py (original) +++ ./bs4/builder/_html5lib.py (refactored) @@ -33,7 +33,7 @@ # Pre-0.99999999 from html5lib.treebuilders import _base as treebuilder_base new_html5lib = False -except ImportError, e: +except ImportError as e: # 0.99999999 and up from html5lib.treebuilders import base as treebuilder_base new_html5lib = True @@ -64,7 +64,7 @@ parser = html5lib.HTMLParser(tree=self.create_treebuilder) extra_kwargs = dict() - if not isinstance(markup, unicode): + if not isinstance(markup, str): if new_html5lib: extra_kwargs['override_encoding'] = self.user_specified_encoding else: @@ -72,13 +72,13 @@ doc = parser.parse(markup, **extra_kwargs) # Set the character encoding detected by the tokenizer. - if isinstance(markup, unicode): + if isinstance(markup, str): # We need to special-case this because html5lib sets # charEncoding to UTF-8 if it gets Unicode input. doc.original_encoding = None else: original_encoding = parser.tokenizer.stream.charEncoding[0] - if not isinstance(original_encoding, basestring): + if not isinstance(original_encoding, str): # In 0.99999999 and up, the encoding is an html5lib # Encoding object. We want to use a string for compatibility # with other tree builders. @@ -92,7 +92,7 @@ def test_fragment_to_document(self, fragment): """See `TreeBuilder`.""" - return u'%s' % fragment + return '%s' % fragment class TreeBuilderForHtml5lib(treebuilder_base.TreeBuilder): @@ -174,7 +174,7 @@ rv.append("|%s<%s>" % (' ' * indent, name)) if element.attrs: attributes = [] - for name, value in element.attrs.items(): + for name, value in list(element.attrs.items()): if isinstance(name, NamespacedAttribute): name = "%s %s" % (prefixes[name.namespace], name.name) if isinstance(value, list): @@ -229,7 +229,7 @@ def appendChild(self, node): string_child = child = None - if isinstance(node, basestring): + if isinstance(node, str): # Some other piece of code decided to pass in a string # instead of creating a TextElement object to contain the # string. @@ -246,7 +246,7 @@ child = node.element node.parent = self - if not isinstance(child, basestring) and child.parent is not None: + if not isinstance(child, str) and child.parent is not None: node.element.extract() if (string_child and self.element.contents @@ -259,7 +259,7 @@ old_element.replace_with(new_element) self.soup._most_recent_element = new_element else: - if isinstance(node, basestring): + if isinstance(node, str): # Create a brand new NavigableString from this string. child = self.soup.new_string(node) @@ -299,7 +299,7 @@ self.soup.builder._replace_cdata_list_attribute_values( self.name, attributes) - for name, value in attributes.items(): + for name, value in list(attributes.items()): self.element[name] = value # The attributes may contain variables that need substitution. --- ./bRefactoringTool: Refactored ./bs4/__init__.py s4/builder/__init__.py (original) +++ ./bs4/builder/__init__.py (refactored) @@ -160,13 +160,13 @@ universal = self.cdata_list_attributes.get('*', []) tag_specific = self.cdata_list_attributes.get( tag_name.lower(), None) - for attr in attrs.keys(): + for attr in list(attrs.keys()): if attr in universal or (tag_specific and attr in tag_specific): # We have a "class"-type attribute whose string # value is a whitespace-separated list of # values. Split it into a list. value = attrs[attr] - if isinstance(value, basestring): + if isinstance(value, str): values = whitespace_re.split(value) else: # html5lib sometimes calls setAttributes twice --- ./bs4/__init__.py (original) +++ ./bs4/__init__.py (refactored) @@ -51,7 +51,7 @@ # The very first thing we do is give a useful error if someone is # running this code under Python 3 without converting it. -'You are trying to run the Python 2 version of Beautiful Soup under Python 3. This will not work.'<>'You need to convert the code, either by installing it (`python setup.py install`) or by running 2to3 (`2to3 -w bs4`).' +'You are trying to run the Python 2 version of Beautiful Soup under Python 3. This will not work.'!='You need to convert the code, either by installing it (`python setup.py install`) or by running 2to3 (`2to3 -w bs4`).' class BeautifulSoup(Tag): """ @@ -75,7 +75,7 @@ like HTML's
tag), call handle_starttag and then handle_endtag. """ - ROOT_TAG_NAME = u'[document]' + ROOT_TAG_NAME = '[document]' # If the end-user gives no indication which tree builder they # want, look for one with these features. @@ -175,18 +175,18 @@ from_encoding = from_encoding or deprecated_argument( "fromEncoding", "from_encoding") - if from_encoding and isinstance(markup, unicode): + if from_encoding and isinstance(markup, str): warnings.warn("You provided Unicode markup but also provided a value for from_encoding. Your from_encoding will be ignored.") from_encoding = None if len(kwargs) > 0: - arg = kwargs.keys().pop() + arg = list(kwargs.keys()).pop() raise TypeError( "__init__() got an unexpected keyword argument '%s'" % arg) if builder is None: original_features = features - if isinstance(features, basestring): + if isinstance(features, str): features = [features] if features is None or len(features) == 0: features = self.DEFAULT_BUILDER_FEATURES @@ -245,13 +245,13 @@ markup = markup.read() elif len(markup) <= 256 and ( (isinstance(markup, bytes) and not b'<' in markup) - or (isinstance(markup, unicode) and not u'<' in markup) + or (isinstance(markup, str) and not '<' in markup) ): # Print out warnings for a couple beginner problems # involving passing non-markup to Beautiful Soup. # Beautiful Soup will still parse the input as markup, # just in case that's what the user really wants. - if (isinstance(markup, unicode) + if (isinstance(markup, str) and not os.path.supports_unicode_filenames): possible_filename = markup.encode("utf8") else: @@ -259,13 +259,13 @@ is_file = False try: is_file = os.path.exists(possible_filename) - except Exception, e: + except Exception as e: # This is almost certainly a problem involving # characters not valid in filenames on this # system. Just let it go. pass if is_file: - RefactoringTool: Files that were modified: RefactoringTool: ./setup.py RefactoringTool: ./scripts/demonstrate_parser_differences.py RefactoringTool: ./doc/source/conf.py RefactoringTool: ./doc.zh/source/conf.py RefactoringTool: ./bs4/tests/test_tree.py RefactoringTool: ./bs4/tests/test_soup.py RefactoringTool: ./bs4/tests/test_lxml.py RefactoringTool: ./bs4/tests/test_htmlparser.py RefactoringTool: ./bs4/tests/test_html5lib.py RefactoringTool: ./bs4/tests/test_docs.py RefactoringTool: ./bs4/tests/test_builder_registry.py RefactoringTool: ./bs4/tests/__init__.py RefactoringTool: ./bs4/testing.py RefactoringTool: ./bs4/element.py RefactoringTool: ./bs4/diagnose.py RefactoringTool: ./bs4/dammit.py RefactoringTool: ./bs4/builder/_lxml.py RefactoringTool: ./bs4/builder/_htmlparser.py RefactoringTool: ./bs4/builder/_html5lib.py RefactoringTool: ./bs4/builder/__init__.py RefactoringTool: ./bs4/__init__.py if isinstance(markup, unicode): + if isinstance(markup, str): markup = markup.encode("utf8") warnings.warn( '"%s" looks like a filename, not markup. You should' @@ -317,9 +317,9 @@ if isinstance(markup, bytes): space = b' ' cant_start_with = (b"http:", b"https:") - elif isinstance(markup, unicode): - space = u' ' - cant_start_with = (u"http:", u"https:") + elif isinstance(markup, str): + space = ' ' + cant_start_with = ("http:", "https:") else: return @@ -391,7 +391,7 @@ def endData(self, containerClass=NavigableString): if self.current_data: - current_data = u''.join(self.current_data) + current_data = ''.join(self.current_data) # If whitespace is not preserved, and this string contains # nothing but ASCII spaces, replace it with a single space # or newline. @@ -545,9 +545,9 @@ encoding_part = '' if eventual_encoding != None: encoding_part = ' encoding="%s"' % eventual_encoding - prefix = u'\n' % encoding_part + prefix = '\n' % encoding_part else: - prefix = u'' + prefix = '' if not pretty_print: indent_level = None else: @@ -581,4 +581,4 @@ if __name__ == '__main__': import sys soup = BeautifulSoup(sys.stdin) - print soup.prettify() + print(soup.prettify()) + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export FFLAGS + /usr/bin/python3 setup.py build running build running build_py creating build creating build/lib creating build/lib/bs4 copying bs4/__init__.py -> build/lib/bs4 copying bs4/dammit.py -> build/lib/bs4 copying bs4/diagnose.py -> build/lib/bs4 copying bs4/element.py -> build/lib/bs4 copying bs4/testing.py -> build/lib/bs4 creating build/lib/bs4/tests copying bs4/tests/test_html5lib.py -> build/lib/bs4/tests copying bs4/tests/test_lxml.py -> build/lib/bs4/tests copying bs4/tests/test_soup.py -> build/lib/bs4/tests copying bs4/tests/test_tree.py -> build/lib/bs4/tests copying bs4/tests/test_htmlparser.py -> build/lib/bs4/tests copying bs4/tests/test_docs.py -> build/lib/bs4/tests copying bs4/tests/test_builder_registry.py -> build/lib/bs4/tests copying bs4/tests/__init__.py -> build/lib/bs4/tests creating build/lib/bs4/builder copying bs4/builder/__init__.py -> build/lib/bs4/builder copying bs4/builder/_html5lib.py -> build/lib/bs4/builder copying bs4/builder/_htmlparser.py -> build/lib/bs4/builder copying bs4/builder/_lxml.py -> build/lib/bs4/builder Fixing build/lib/bs4/__init__.py build/lib/bs4/dammit.py build/lib/bs4/diagnose.py build/lib/bs4/element.py build/lib/bs4/testing.py build/lib/bs4/tests/test_html5lib.py build/lib/bs4/tests/test_lxml.py build/lib/bs4/tests/test_soup.py build/lib/bs4/tests/test_tree.py build/lib/bs4/tests/test_htmlparser.py build/lib/bs4/tests/test_docs.py build/lib/bs4/tests/test_builder_registry.py build/lib/bs4/tests/__init__.py build/lib/bs4/builder/__init__.py build/lib/bs4/builder/_html5lib.py build/lib/bs4/builder/_htmlparser.py build/lib/bs4/builder/_lxml.py Skipping optional fixer: buffer Skipping optional fixer: idioms Skipping optional fixer: set_literal Skipping optional fixer: ws_comma Fixing build/lib/bs4/__init__.py build/lib/bs4/dammit.py build/lib/bs4/diagnose.py build/lib/bs4/element.py build/lib/bs4/testing.py build/lib/bs4/tests/test_html5lib.py build/lib/bs4/tests/test_lxml.py build/lib/bs4/tests/test_soup.py build/lib/bs4/tests/test_tree.py build/lib/bs4/tests/test_htmlparser.py build/lib/bs4/tests/test_docs.py build/lib/bs4/tests/test_builder_registry.py build/lib/bs4/tests/__init__.py build/lib/bs4/builder/__init__.py build/lib/bs4/builder/_html5lib.py build/lib/bs4/builder/_htmlparser.py build/lib/bs4/builder/_lxml.py Skipping optional fixer: buffer Skipping optional fixer: idioms Skipping optional fixer: set_literal Skipping optional fixer: ws_comma + popd ~/RPM/BUILD/beautifulsoup4-4.6.3 + exit 0 Executing(%install): /bin/sh -e /usr/src/tmp/rpm-tmp.31629 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + /bin/chmod -Rf u+rwX -- /usr/src/tmp/python-module-BeautifulSoup4-buildroot + : + /bin/rm -rf -- /usr/src/tmp/python-module-BeautifulSoup4-buildroot + PATH=/usr/libexec/rpm-build:/usr/src/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games + cd beautifulsoup4-4.6.3 + export LC_ALL=en_US.UTF-8 + LC_ALL=en_US.UTF-8 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export FFLAGS + /usr/bin/python2.7 setup.py install --skip-build --root=/usr/src/tmp/python-module-BeautifulSoup4-buildroot --force running install running install_lib creating /usr/src/tmp/python-module-BeautifulSoup4-buildroot creating /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr creating /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib creating /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7 creating /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages creating /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4 creating /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder copying build/lib/bs4/builder/__init__.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder copying build/lib/bs4/builder/_html5lib.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder copying build/lib/bs4/builder/_htmlparser.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder copying build/lib/bs4/builder/_lxml.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder creating /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests copying build/lib/bs4/tests/__init__.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests copying build/lib/bs4/tests/test_builder_registry.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests copying build/lib/bs4/tests/test_docs.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests copying build/lib/bs4/tests/test_html5lib.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests copying build/lib/bs4/tests/test_htmlparser.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests copying build/lib/bs4/tests/test_lxml.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests copying build/lib/bs4/tests/test_soup.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests copying build/lib/bs4/tests/test_tree.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests copying build/lib/bs4/__init__.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4 copying build/lib/bs4/dammit.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4 copying build/lib/bs4/diagnose.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4 copying build/lib/bs4/element.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4 copying build/lib/bs4/testing.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4 byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/__init__.py to __init__.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.py to _html5lib.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.py to _htmlparser.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_lxml.py to _lxml.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/__init__.py to __init__.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_builder_registry.py to test_builder_registry.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_docs.py to test_docs.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_html5lib.py to test_html5lib.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_htmlparser.py to test_htmlparser.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_lxml.py to test_lxml.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_soup.py to test_soup.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_tree.py to test_tree.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/__init__.py to __init__.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/dammit.py to dammit.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/diagnose.py to diagnose.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/element.py to element.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/testing.py to testing.pyc running install_egg_info running egg_info writing requirements to beautifulsoup4.egg-info/requires.txt writing beautifulsoup4.egg-info/PKG-INFO writing top-level names to beautifulsoup4.egg-info/top_level.txt writing dependency_links to beautifulsoup4.egg-info/dependency_links.txt reading manifest file 'beautifulsoup4.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'beautifulsoup4.egg-info/SOURCES.txt' Copying beautifulsoup4.egg-info to /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/beautifulsoup4-4.6.3-py2.7.egg-info running install_scripts + pushd ../python3 ~/RPM/BUILD/python3 ~/RPM/BUILD/beautifulsoup4-4.6.3 + CFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export CFLAGS + CXXFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export CXXFLAGS + FFLAGS='-pipe -frecord-gcc-switches -Wall -g -O2 -march=i586 -mtune=generic' + export FFLAGS + /usr/bin/python3 setup.py install --skip-build --root=/usr/src/tmp/python-module-BeautifulSoup4-buildroot --force running install running install_lib creating /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3 creating /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages creating /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4 creating /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder copying build/lib/bs4/builder/_lxml.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder copying build/lib/bs4/builder/_htmlparser.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder copying build/lib/bs4/builder/_html5lib.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder copying build/lib/bs4/builder/__init__.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder creating /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests copying build/lib/bs4/tests/__init__.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests copying build/lib/bs4/tests/test_builder_registry.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests copying build/lib/bs4/tests/test_docs.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests copying build/lib/bs4/tests/test_htmlparser.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests copying build/lib/bs4/tests/test_tree.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests copying build/lib/bs4/tests/test_soup.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests copying build/lib/bs4/tests/test_lxml.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests copying build/lib/bs4/tests/test_html5lib.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests copying build/lib/bs4/testing.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4 copying build/lib/bs4/element.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4 copying build/lib/bs4/diagnose.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4 copying build/lib/bs4/dammit.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4 copying build/lib/bs4/__init__.py -> /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4 byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_lxml.py to _lxml.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_htmlparser.py to _htmlparser.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_html5lib.py to _html5lib.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/__init__.py to __init__.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/__init__.py to __init__.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_builder_registry.py to test_builder_registry.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_docs.py to test_docs.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_htmlparser.py to test_htmlparser.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_tree.py to test_tree.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_soup.py to test_soup.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_lxml.py to test_lxml.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_html5lib.py to test_html5lib.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/testing.py to testing.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/element.py to element.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/diagnose.py to diagnose.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/dammit.py to dammit.cpython-37.pyc byte-compiling /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/__init__.py to __init__.cpython-37.pyc running install_egg_info running egg_info writing beautifulsoup4.egg-info/PKG-INFO writing dependency_links to beautifulsoup4.egg-info/dependency_links.txt writing requirements to beautifulsoup4.egg-info/requires.txt writing top-level names to beautifulsoup4.egg-info/top_level.txt reading manifest file 'beautifulsoup4.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'beautifulsoup4.egg-info/SOURCES.txt' Copying beautifulsoup4.egg-info to /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/beautifulsoup4-4.6.3-py3.7.egg-info running install_scripts + popd ~/RPM/BUILD/beautifulsoup4-4.6.3 + /usr/lib/rpm/brp-alt Cleaning files in /usr/src/tmp/python-module-BeautifulSoup4-buildroot (auto) Verifying and fixing files in /usr/src/tmp/python-module-BeautifulSoup4-buildroot (binconfig,pkgconfig,libtool,desktop,gnuconfig) Checking contents of files in /usr/src/tmp/python-module-BeautifulSoup4-buildroot/ (default) Compressing files in /usr/src/tmp/python-module-BeautifulSoup4-buildroot (auto) Adjusting library links in /usr/src/tmp/python-module-BeautifulSoup4-buildroot ./usr/lib: Verifying ELF objects in /usr/src/tmp/python-module-BeautifulSoup4-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal) Bytecompiling python modules in /usr/src/tmp/python-module-BeautifulSoup4-buildroot using /usr/bin/python2.7 unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/__init__.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_lxml.pyc compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/__init__.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_lxml.py unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/__init__.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_builder_registry.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_docs.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_html5lib.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_htmlparser.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_lxml.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_soup.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_tree.pyc compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/__init__.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_builder_registry.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_docs.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_html5lib.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_htmlparser.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_lxml.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_soup.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_tree.py unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/__init__.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/dammit.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/diagnose.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/element.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/testing.pyc compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/__init__.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/dammit.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/diagnose.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/element.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/testing.py Bytecompiling python modules with optimization in /usr/src/tmp/python-module-BeautifulSoup4-buildroot using /usr/bin/python2.7 -O compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/__init__.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_lxml.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/__init__.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_builder_registry.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_docs.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_html5lib.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_htmlparser.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_lxml.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_soup.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_tree.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/__init__.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/dammit.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/diagnose.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/element.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/testing.py Bytecompiling python3 modules in /usr/src/tmp/python-module-BeautifulSoup4-buildroot using /usr/bin/python3 unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/__pycache__/__init__.cpython-37.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/__pycache__/dammit.cpython-37.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/__pycache__/diagnose.cpython-37.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/__pycache__/element.cpython-37.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/__pycache__/testing.cpython-37.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/__pycache__/__init__.cpython-37.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/__pycache__/_html5lib.cpython-37.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/__pycache__/_htmlparser.cpython-37.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/__pycache__/_lxml.cpython-37.pyc compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/__init__.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_html5lib.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_htmlparser.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_lxml.py unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/__pycache__/__init__.cpython-37.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/__pycache__/test_builder_registry.cpython-37.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/__pycache__/test_docs.cpython-37.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/__pycache__/test_html5lib.cpython-37.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/__pycache__/test_htmlparser.cpython-37.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/__pycache__/test_lxml.cpython-37.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/__pycache__/test_soup.cpython-37.pyc unlink /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/__pycache__/test_tree.cpython-37.pyc compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/__init__.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_builder_registry.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_docs.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_html5lib.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_htmlparser.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_lxml.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_soup.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_tree.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/__init__.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/dammit.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/diagnose.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/element.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/testing.py Bytecompiling python3 modules with optimization in /usr/src/tmp/python-module-BeautifulSoup4-buildroot using /usr/bin/python3 -O compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/__init__.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_html5lib.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_htmlparser.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_lxml.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/__init__.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_builder_registry.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_docs.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_html5lib.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_htmlparser.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_lxml.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_soup.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_tree.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/__init__.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/dammit.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/diagnose.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/element.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/testing.py Bytecompiling python3 modules with optimization-2 in /usr/src/tmp/python-module-BeautifulSoup4-buildroot using /usr/bin/python3 -OO compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/__init__.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_html5lib.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_htmlparser.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_lxml.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/__init__.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_builder_registry.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_docs.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_html5lib.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_htmlparser.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_lxml.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_soup.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_tree.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/__init__.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/dammit.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/diagnose.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/element.py compile /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/testing.py Hardlinking identical .pyc and .opt-?.pyc files './usr/lib/python3/site-packages/bs4/__pycache__/element.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/bs4/__pycache__/element.cpython-37.pyc' './usr/lib/python3/site-packages/bs4/__pycache__/diagnose.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/bs4/__pycache__/diagnose.cpython-37.pyc' './usr/lib/python3/site-packages/bs4/__pycache__/dammit.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/bs4/__pycache__/dammit.cpython-37.pyc' './usr/lib/python3/site-packages/bs4/__pycache__/__init__.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/bs4/__pycache__/__init__.cpython-37.pyc' './usr/lib/python3/site-packages/bs4/tests/__pycache__/test_lxml.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/bs4/tests/__pycache__/test_lxml.cpython-37.pyc' './usr/lib/python3/site-packages/bs4/tests/__pycache__/test_htmlparser.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/bs4/tests/__pycache__/test_htmlparser.cpython-37.pyc' './usr/lib/python3/site-packages/bs4/tests/__pycache__/test_docs.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/bs4/tests/__pycache__/test_docs.cpython-37.pyc' './usr/lib/python3/site-packages/bs4/tests/__pycache__/test_builder_registry.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/bs4/tests/__pycache__/test_builder_registry.cpython-37.pyc' './usr/lib/python3/site-packages/bs4/tests/__pycache__/__init__.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/bs4/tests/__pycache__/__init__.cpython-37.pyc' './usr/lib/python3/site-packages/bs4/builder/__pycache__/_lxml.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/bs4/builder/__pycache__/_lxml.cpython-37.pyc' './usr/lib/python3/site-packages/bs4/builder/__pycache__/_html5lib.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/bs4/builder/__pycache__/_html5lib.cpython-37.pyc' './usr/lib/python3/site-packages/bs4/builder/__pycache__/__init__.cpython-37.opt-1.pyc' => './usr/lib/python3/site-packages/bs4/builder/__pycache__/__init__.cpython-37.pyc' Hardlinking identical .pyc and .pyo files './usr/lib/python2.7/site-packages/bs4/element.pyo' => './usr/lib/python2.7/site-packages/bs4/element.pyc' './usr/lib/python2.7/site-packages/bs4/diagnose.pyo' => './usr/lib/python2.7/site-packages/bs4/diagnose.pyc' './usr/lib/python2.7/site-packages/bs4/dammit.pyo' => './usr/lib/python2.7/site-packages/bs4/dammit.pyc' './usr/lib/python2.7/site-packages/bs4/__init__.pyo' => './usr/lib/python2.7/site-packages/bs4/__init__.pyc' './usr/lib/python2.7/site-packages/bs4/tests/test_lxml.pyo' => './usr/lib/python2.7/site-packages/bs4/tests/test_lxml.pyc' './usr/lib/python2.7/site-packages/bs4/tests/test_htmlparser.pyo' => './usr/lib/python2.7/site-packages/bs4/tests/test_htmlparser.pyc' './usr/lib/python2.7/site-packages/bs4/tests/test_docs.pyo' => './usr/lib/python2.7/site-packages/bs4/tests/test_docs.pyc' './usr/lib/python2.7/site-packages/bs4/tests/test_builder_registry.pyo' => './usr/lib/python2.7/site-packages/bs4/tests/test_builder_registry.pyc' './usr/lib/python2.7/site-packages/bs4/tests/__init__.pyo' => './usr/lib/python2.7/site-packages/bs4/tests/__init__.pyc' './usr/lib/python2.7/site-packages/bs4/builder/_lxml.pyo' => './usr/lib/python2.7/site-packages/bs4/builder/_lxml.pyc' './usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyo' => './usr/lib/python2.7/site-packages/bs4/builder/_html5lib.pyc' './usr/lib/python2.7/site-packages/bs4/builder/__init__.pyo' => './usr/lib/python2.7/site-packages/bs4/builder/__init__.pyc' Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.83561 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd beautifulsoup4-4.6.3 + export LC_ALL=en_US.UTF-8 + LC_ALL=en_US.UTF-8 + python -m unittest discover -s bs4 ........................................................................................................................................................................................................................................................................................................................................bs4/builder/_htmlparser.py:78: UserWarning: don't crash warnings.warn(msg) ............ ---------------------------------------------------------------------- Ran 340 tests in 0.368s OK + pushd ../python3 ~/RPM/BUILD/python3 ~/RPM/BUILD/beautifulsoup4-4.6.3 + python3 -m unittest discover -s bs4 .................................................................../usr/src/RPM/BUILD/python3/bs4/builder/_htmlparser.py:78: UserWarning: don't crash warnings.warn(msg) ................................................................................................................................................................................................................................................................................. ---------------------------------------------------------------------- Ran 340 tests in 0.365s OK + popd ~/RPM/BUILD/beautifulsoup4-4.6.3 + exit 0 Processing files: python-module-BeautifulSoup4-4.6.3-alt1 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.11692 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd beautifulsoup4-4.6.3 + DOCDIR=/usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/share/doc/python-module-BeautifulSoup4-4.6.3 + export DOCDIR + rm -rf /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/share/doc/python-module-BeautifulSoup4-4.6.3 + /bin/mkdir -p /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/share/doc/python-module-BeautifulSoup4-4.6.3 + cp -prL AUTHORS.txt COPYING.txt NEWS.txt TODO.txt /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/share/doc/python-module-BeautifulSoup4-4.6.3 + chmod -R go-w /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/share/doc/python-module-BeautifulSoup4-4.6.3 + chmod -R a+rX /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/share/doc/python-module-BeautifulSoup4-4.6.3 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.tPYvnf find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.LDiNjO find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/__init__.py: skipping sys /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/__init__.py: line=36 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/__init__.py: line=37 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/__init__.py: line=38 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/__init__.py: line=582 IGNORE (for REQ=slight and deep=8) module=sys python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/__init__.py: skipping sys python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/__init__.py: hiding bs4, which SEEMS TO BE SELF-SATISFIED /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/__init__.py: line=326 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/__init__.py: line=329 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/__init__.py: line=335 possible relative import from ., UNIMPLEMENTED python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.py: hiding bs4, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.py: hiding bs4, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.py: hiding bs4, which SEEMS TO BE SELF-SATISFIED /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.py: line=34 IGNORE (for REQ=slight and deep=8) module=html5lib /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.py: line=38 IGNORE (for REQ=slight and deep=8) module=html5lib /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.py: line=104 IGNORE (for REQ=slight and deep=15) module=bs4 /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.py: line=128 IGNORE (for REQ=slight and deep=11) module=bs4 /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_html5lib.py: line=144 IGNORE (for REQ=slight and deep=11) module=bs4 /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.py: line=14 IGNORE (for REQ=slight and deep=8) module=HTMLParser python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.py: skipping sys python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.py: hiding bs4, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.py: hiding bs4, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.py: hiding bs4, which SEEMS TO BE SELF-SATISFIED /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.py: line=261 IGNORE (for REQ=slight and deep=8) module=re /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_htmlparser.py: line=283 IGNORE (for REQ=slight and deep=8) module=html /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_lxml.py: line=9 IGNORE (for REQ=slight and deep=8) module=collections /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_lxml.py: line=11 IGNORE (for REQ=slight and deep=8) module=collections python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_lxml.py: hiding bs4, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_lxml.py: hiding bs4, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/builder/_lxml.py: hiding bs4, which SEEMS TO BE SELF-SATISFIED /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/dammit.py: line=24 IGNORE (for REQ=slight and deep=8) module=cchardet /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/dammit.py: line=32 IGNORE (for REQ=slight and deep=12) module=chardet /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/dammit.py: line=44 IGNORE (for REQ=slight and deep=8) module=iconv_codec python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/diagnose.py: hiding bs4, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/diagnose.py: hiding bs4, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/diagnose.py: hiding bs4, which SEEMS TO BE SELF-SATISFIED python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/diagnose.py: skipping sys /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/diagnose.py: line=42 IGNORE (for REQ=slight and deep=16) module=lxml /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/diagnose.py: line=51 IGNORE (for REQ=slight and deep=16) module=html5lib /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/diagnose.py: line=96 IGNORE (for REQ=slight and deep=8) module=lxml /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/diagnose.py: line=197 IGNORE (for REQ=slight and deep=8) module=lxml /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/diagnose.py: line=203 IGNORE (for REQ=slight and deep=8) module=html5lib /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/element.py: line=6 IGNORE (for REQ=slight and deep=8) module=collections /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/element.py: line=8 IGNORE (for REQ=slight and deep=8) module=collections python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/element.py: skipping sys python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/element.py: hiding bs4, which SEEMS TO BE SELF-SATISFIED /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/element.py: line=364 IGNORE (for REQ=slight and deep=11) module=bs4 Provides: python2.7-module-BeautifulSoup4 = 4.6.3-alt1, python2.7(bs4), python2.7(bs4.builder), python2.7(bs4.builder._html5lib), python2.7(bs4.builder._htmlparser), python2.7(bs4.builder._lxml), python2.7(bs4.dammit), python2.7(bs4.diagnose), python2.7(bs4.element) Requires: python = 2.7, /usr/lib/python2.7/site-packages, python-modules, python2.7(html5lib), python2.7(logging), python2.7(lxml) Processing files: python-module-BeautifulSoup4-tests-4.6.3-alt1 Executing(%doc): /bin/sh -e /usr/src/tmp/rpm-tmp.52442 + umask 022 + /bin/mkdir -p /usr/src/RPM/BUILD + cd /usr/src/RPM/BUILD + cd beautifulsoup4-4.6.3 + DOCDIR=/usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/share/doc/python-module-BeautifulSoup4-tests-4.6.3 + export DOCDIR + rm -rf /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/share/doc/python-module-BeautifulSoup4-tests-4.6.3 + /bin/mkdir -p /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/share/doc/python-module-BeautifulSoup4-tests-4.6.3 + cp -prL AUTHORS.txt COPYING.txt NEWS.txt TODO.txt /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/share/doc/python-module-BeautifulSoup4-tests-4.6.3 + chmod -R go-w /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/share/doc/python-module-BeautifulSoup4-tests-4.6.3 + chmod -R a+rX /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/share/doc/python-module-BeautifulSoup4-tests-4.6.3 + exit 0 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.pOqMK5 find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.maaOZO find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_builder_registry.py: line=14 IGNORE (for REQ=slight and deep=8) module=bs4 /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_builder_registry.py: line=20 IGNORE (for REQ=slight and deep=8) module=bs4 /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_html5lib.py: line=6 IGNORE (for REQ=slight and deep=8) module=bs4 /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_lxml.py: line=7 IGNORE (for REQ=slight and deep=8) module=lxml /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_lxml.py: line=15 IGNORE (for REQ=slight and deep=8) module=bs4 python.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_soup.py: skipping sys /usr/lib/rpm/python.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python2.7/site-packages/bs4/tests/test_soup.py: line=33 IGNORE (for REQ=slight and deep=8) module=bs4 Provides: python2.7(bs4.testing), python2.7(bs4.tests), python2.7(bs4.tests.test_builder_registry), python2.7(bs4.tests.test_docs), python2.7(bs4.tests.test_html5lib), python2.7(bs4.tests.test_htmlparser), python2.7(bs4.tests.test_lxml), python2.7(bs4.tests.test_soup), python2.7(bs4.tests.test_tree) Requires: python-module-BeautifulSoup4 = 4.6.3-alt1, /usr/lib/python2.7/site-packages, python-modules, python2.7(bs4), python2.7(logging), python2.7(unittest) Processing files: python3-module-BeautifulSoup4-4.6.3-alt1 Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.WZ2hIY find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.2elzcn find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) python3.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/__init__.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/__init__.py: line=36 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/__init__.py: line=37 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/__init__.py: line=38 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/__init__.py: line=582 IGNORE (for REQ=slight and deep=8) module=sys python3.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/__init__.py: skipping itertools python3.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/__init__.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/__init__.py: line=326 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/__init__.py: line=329 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/__init__.py: line=335 possible relative import from ., UNIMPLEMENTED /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_html5lib.py: line=34 IGNORE (for REQ=slight and deep=8) module=html5lib.treebuilders /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_html5lib.py: line=38 IGNORE (for REQ=slight and deep=8) module=html5lib.treebuilders /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_html5lib.py: line=104 IGNORE (for REQ=slight and deep=15) module=bs4 /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_html5lib.py: line=128 IGNORE (for REQ=slight and deep=11) module=bs4 /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_html5lib.py: line=144 IGNORE (for REQ=slight and deep=11) module=bs4 /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_htmlparser.py: line=14 IGNORE (for REQ=slight and deep=8) module=html.parser python3.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_htmlparser.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_htmlparser.py: line=261 IGNORE (for REQ=slight and deep=8) module=re /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_htmlparser.py: line=283 IGNORE (for REQ=slight and deep=8) module=html.parser /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_lxml.py: line=9 IGNORE (for REQ=slight and deep=8) module=collections.abc /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/builder/_lxml.py: line=11 IGNORE (for REQ=slight and deep=8) module=collections /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/dammit.py: line=24 IGNORE (for REQ=slight and deep=8) module=cchardet /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/dammit.py: line=32 IGNORE (for REQ=slight and deep=12) module=chardet /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/dammit.py: line=44 IGNORE (for REQ=slight and deep=8) module=iconv_codec python3.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/diagnose.py: skipping time python3.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/diagnose.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/diagnose.py: line=42 IGNORE (for REQ=slight and deep=16) module=lxml /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/diagnose.py: line=51 IGNORE (for REQ=slight and deep=16) module=html5lib /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/diagnose.py: line=96 IGNORE (for REQ=slight and deep=8) module=lxml /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/diagnose.py: line=197 IGNORE (for REQ=slight and deep=8) module=lxml /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/diagnose.py: line=203 IGNORE (for REQ=slight and deep=8) module=html5lib /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/element.py: line=6 IGNORE (for REQ=slight and deep=8) module=collections.abc /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/element.py: line=8 IGNORE (for REQ=slight and deep=8) module=collections python3.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/element.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/element.py: line=364 IGNORE (for REQ=slight and deep=11) module=bs4 Provides: python3(bs4), python3(bs4.builder), python3(bs4.builder._html5lib), python3(bs4.builder._htmlparser), python3(bs4.builder._lxml), python3(bs4.dammit), python3(bs4.diagnose), python3(bs4.element) Requires: /usr/lib/python3/site-packages, python3(cProfile) < 0, python3(codecs) < 0, python3(collections) < 0, python3(html.entities) < 0, python3(html.parser) < 0, python3(html5lib) < 0, python3(html5lib.constants) < 0, python3(io) < 0, python3(logging) < 0, python3(lxml) < 0, python3(os) < 0, python3(pstats) < 0, python3(random) < 0, python3(re) < 0, python3(shlex) < 0, python3(string) < 0, python3(tempfile) < 0, python3(traceback) < 0, python3(warnings) < 0 Processing files: python3-module-BeautifulSoup4-tests-4.6.3-alt1 warning: File listed twice: /usr/lib/python3/site-packages/bs4/tests/test_builder_registry.py warning: File listed twice: /usr/lib/python3/site-packages/bs4/tests/test_docs.py warning: File listed twice: /usr/lib/python3/site-packages/bs4/tests/test_html5lib.py warning: File listed twice: /usr/lib/python3/site-packages/bs4/tests/test_htmlparser.py warning: File listed twice: /usr/lib/python3/site-packages/bs4/tests/test_lxml.py warning: File listed twice: /usr/lib/python3/site-packages/bs4/tests/test_soup.py warning: File listed twice: /usr/lib/python3/site-packages/bs4/tests/test_tree.py Finding Provides (using /usr/lib/rpm/find-provides) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.G3lvub find-provides: running scripts (alternatives,debuginfo,lib,pam,perl,pkgconfig,python,python3,shell) Finding Requires (using /usr/lib/rpm/find-requires) Executing: /bin/sh -e /usr/src/tmp/rpm-tmp.6VQpXe find-requires: running scripts (cpp,debuginfo,files,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks,systemd-services) /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_builder_registry.py: line=14 IGNORE (for REQ=slight and deep=8) module=bs4.builder /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_builder_registry.py: line=20 IGNORE (for REQ=slight and deep=8) module=bs4.builder python3.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_docs.py: skipping atexit /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_html5lib.py: line=6 IGNORE (for REQ=slight and deep=8) module=bs4.builder /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_lxml.py: line=7 IGNORE (for REQ=slight and deep=8) module=lxml.etree /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_lxml.py: line=15 IGNORE (for REQ=slight and deep=8) module=bs4.builder python3.req: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_soup.py: skipping sys /usr/lib/rpm/python3.req.py: /usr/src/tmp/python-module-BeautifulSoup4-buildroot/usr/lib/python3/site-packages/bs4/tests/test_soup.py: line=33 IGNORE (for REQ=slight and deep=8) module=bs4.builder Provides: python3(bs4.testing), python3(bs4.tests), python3(bs4.tests.test_builder_registry), python3(bs4.tests.test_docs), python3(bs4.tests.test_html5lib), python3(bs4.tests.test_htmlparser), python3(bs4.tests.test_lxml), python3(bs4.tests.test_soup), python3(bs4.tests.test_tree) Requires: python3-module-BeautifulSoup4 = 4.6.3-alt1, /usr/lib/python3/site-packages, python3(bs4) < 0, python3(bs4.builder) < 0, python3(bs4.builder._htmlparser) < 0, python3(bs4.dammit) < 0, python3(bs4.element) < 0, python3(copy) < 0, python3(doctest) < 0, python3(functools) < 0, python3(logging) < 0, python3(os) < 0, python3(pdb) < 0, python3(pickle) < 0, python3(re) < 0, python3(tempfile) < 0, python3(unittest) < 0, python3(warnings) < 0 Adding to python-module-BeautifulSoup4-tests a strict dependency on python-module-BeautifulSoup4 Adding to python3-module-BeautifulSoup4-tests a strict dependency on python3-module-BeautifulSoup4 Removing 1 extra deps from python-module-BeautifulSoup4-tests due to dependency on python-module-BeautifulSoup4 Removing 5 extra deps from python3-module-BeautifulSoup4-tests due to dependency on python3-module-BeautifulSoup4 Removing 3 extra deps from python-module-BeautifulSoup4-tests due to repentancy on python-module-BeautifulSoup4 Removing 6 extra deps from python3-module-BeautifulSoup4-tests due to repentancy on python3-module-BeautifulSoup4 Wrote: /usr/src/RPM/RPMS/noarch/python-module-BeautifulSoup4-4.6.3-alt1.noarch.rpm (w2.lzdio) Wrote: /usr/src/RPM/RPMS/noarch/python-module-BeautifulSoup4-tests-4.6.3-alt1.noarch.rpm (w2.lzdio) Wrote: /usr/src/RPM/RPMS/noarch/python3-module-BeautifulSoup4-4.6.3-alt1.noarch.rpm (w2.lzdio) Wrote: /usr/src/RPM/RPMS/noarch/python3-module-BeautifulSoup4-tests-4.6.3-alt1.noarch.rpm (w2.lzdio) 40.60user 1.38system 0:46.97elapsed 89%CPU (0avgtext+0avgdata 34780maxresident)k 0inputs+0outputs (0major+381080minor)pagefaults 0swaps 49.45user 4.73system 0:59.09elapsed 91%CPU (0avgtext+0avgdata 117788maxresident)k 0inputs+0outputs (0major+942487minor)pagefaults 0swaps