forked from pool/python-beautifulsoup4
- Update to 4.8.0
* It's now possible to customize the TreeBuilder object by passing
keyword arguments into the BeautifulSoup constructor. The main
reason to do this right now is to change how which attributes are
treated as multi-valued attributes (the way 'class' is treated by
default). You can do this with the `multi_valued_attributes` argument.
* The role of Formatter objects has been greatly expanded. The Formatter
class now controls the following:
> The function to call to perform entity substitution. (This was
previously Formatter's only job.)
> Which tags should be treated as containing CDATA and have their
contents exempt from entity substitution.
> The order in which a tag's attributes are output.
> Whether or not to put a '/' inside a void element, e.g. '<br/>' vs '<br>'
All preexisting code should work as before.
* Added a new method to the API, Tag.smooth(), which consolidates
multiple adjacent NavigableString elements.
* ' (which is valid in XML, XHTML, and HTML 5, but not HTML 4) is now
recognized as a named entity and converted to a single quote.
OBS-URL: https://build.opensuse.org/request/show/717647
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-beautifulsoup4?expand=0&rev=68
105 lines
4.0 KiB
RPMSpec
105 lines
4.0 KiB
RPMSpec
#
|
|
# spec file for package python-beautifulsoup4
|
|
#
|
|
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
|
Name: python-beautifulsoup4
|
|
Version: 4.8.0
|
|
Release: 0
|
|
Summary: HTML/XML Parser for Quick-Turnaround Applications Like Screen-Scraping
|
|
License: MIT
|
|
Group: Development/Libraries/Python
|
|
URL: https://www.crummy.com/software/BeautifulSoup/
|
|
Source: https://files.pythonhosted.org/packages/source/b/beautifulsoup4/beautifulsoup4-%{version}.tar.gz
|
|
# PATCH-FIX-UPSTREAM speilicke@suse.com -- Backport of https://code.launchpad.net/~saschpe/beautifulsoup/beautifulsoup/+merge/200849
|
|
Patch0: beautifulsoup4-lxml-fixes.patch
|
|
BuildRequires: %{python_module pytest}
|
|
BuildRequires: %{python_module setuptools}
|
|
BuildRequires: %{python_module soupsieve}
|
|
BuildRequires: fdupes
|
|
BuildRequires: python-rpm-macros
|
|
BuildRequires: python3-Sphinx
|
|
Requires: python-soupsieve
|
|
Suggests: python-html5lib >= 0.999999
|
|
Suggests: python-lxml >= 3.4.4
|
|
BuildArch: noarch
|
|
%python_subpackages
|
|
|
|
%description
|
|
Beautiful Soup is a Python HTML/XML parser designed for quick turnaround
|
|
projects like screen-scraping. Three features make it powerful:
|
|
|
|
* Beautiful Soup won't choke if you give it bad markup. It yields a parse tree
|
|
that makes approximately as much sense as your original document. This is
|
|
usually good enough to collect the data you need and run away
|
|
|
|
* Beautiful Soup provides a few simple methods and Pythonic idioms for
|
|
navigating, searching, and modifying a parse tree: a toolkit for dissecting a
|
|
document and extracting what you need. You don't have to create a custom
|
|
parser for each application
|
|
|
|
* Beautiful Soup automatically converts incoming documents to Unicode and
|
|
outgoing documents to UTF-8. You don't have to think about encodings, unless
|
|
the document doesn't specify an encoding and Beautiful Soup can't autodetect
|
|
one. Then you just have to specify the original encoding
|
|
|
|
Beautiful Soup parses anything you give it, and does the tree traversal stuff
|
|
for you. You can tell it "Find all the links", or "Find all the links of class
|
|
externalLink", or "Find all the links whose urls match "foo.com", or "Find the
|
|
table heading that's got bold text, then give me that text."
|
|
|
|
Valuable data that was once locked up in poorly-designed websites is now within
|
|
your reach. Projects that would have taken hours take only minutes with
|
|
Beautiful Soup.
|
|
|
|
%package -n python-beautifulsoup4-doc
|
|
Summary: Documentation for %{name}
|
|
Group: Development/Libraries/Python
|
|
Recommends: %{name} = %{version}
|
|
Obsoletes: python2-beautifulsoup4-doc
|
|
Obsoletes: python3-beautifulsoup4-doc
|
|
|
|
%description -n python-beautifulsoup4-doc
|
|
Documentation and help files for %{name}
|
|
|
|
%prep
|
|
%setup -q -n beautifulsoup4-%{version}
|
|
%patch0 -p1
|
|
|
|
%build
|
|
%python_build
|
|
pushd doc && make html && rm build/html/.buildinfo build/html/objects.inv && popd
|
|
|
|
%install
|
|
%python_install
|
|
%python_expand %fdupes -s %{buildroot}%{$python_sitelib}
|
|
|
|
%check
|
|
export LANG=en_US.UTF-8
|
|
export PYTHONDONTWRITEBYTECODE=1
|
|
%python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} py.test-%{$python_bin_suffix} %{buildroot}%{$python_sitelib}/bs4/tests
|
|
|
|
%files %{python_files}
|
|
%license COPYING.txt
|
|
%{python_sitelib}/bs4/
|
|
%{python_sitelib}/beautifulsoup4-%{version}-py*.egg-info
|
|
|
|
%files -n python-beautifulsoup4-doc
|
|
%doc NEWS.txt README.md TODO.txt doc/build/html
|
|
|
|
%changelog
|