Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-feedparser for 
openSUSE:Factory checked in at 2021-06-14 23:11:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-feedparser (Old)
 and      /work/SRC/openSUSE:Factory/.python-feedparser.new.32437 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-feedparser"

Mon Jun 14 23:11:22 2021 rev:30 rq:899978 version:6.0.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-feedparser/python-feedparser.changes      
2021-05-01 00:47:18.507289027 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-feedparser.new.32437/python-feedparser.changes
   2021-06-14 23:11:53.184837283 +0200
@@ -1,0 +2,19 @@
+Mon Jun 14 16:04:31 UTC 2021 - Beno??t Monin <benoit.mo...@gmx.fr>
+
+- update to version 6.0.5:
+  * Prevent a TypeError crash that may occur when including a
+    username and password in the feed URL. (#276)
+
+-------------------------------------------------------------------
+Sun Jun 13 19:01:57 UTC 2021 - Beno??t Monin <benoit.mo...@gmx.fr>
+
+- update to version 6.0.4:
+  * Prevent a UnicodeDecodeError crash that may occur when the
+    title element's type attribute exists but is empty. (#277)
+  * Prevent a UnicodeEncodeError crash that may occur if the URL
+    contains Unicode characters in the path. (#273)
+- additional changes from version 6.0.3:
+  * Fix an issue with the HTTP request status on Python >= 3.9.
+- drop numerical_return_status.patch: fixed upstream
+
+-------------------------------------------------------------------

Old:
----
  feedparser-6.0.2.tar.gz
  numerical_return_status.patch

New:
----
  feedparser-6.0.5.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-feedparser.spec ++++++
--- /var/tmp/diff_new_pack.EGFdcH/_old  2021-06-14 23:11:53.548837940 +0200
+++ /var/tmp/diff_new_pack.EGFdcH/_new  2021-06-14 23:11:53.552837947 +0200
@@ -19,16 +19,13 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define skip_python2 1
 Name:           python-feedparser
-Version:        6.0.2
+Version:        6.0.5
 Release:        0
 Summary:        Universal Feed Parser Module for Python
 License:        BSD-2-Clause
 Group:          Development/Libraries/Python
 URL:            https://github.com/kurtmckee/feedparser
 Source:         
https://files.pythonhosted.org/packages/source/f/feedparser/feedparser-%{version}.tar.gz
-# PATCH-FIX-UPSTREAM numerical_return_status.patch 
gh#kurtmckee/feedparser#272/files mc...@suse.com
-#  Maintain numeric result status code in Python>=3.9
-Patch0:         numerical_return_status.patch
 BuildRequires:  %{python_module chardet}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  %{python_module sgmllib3k}

++++++ feedparser-6.0.2.tar.gz -> feedparser-6.0.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/LICENSE new/feedparser-6.0.5/LICENSE
--- old/feedparser-6.0.2/LICENSE        2020-09-01 05:42:10.000000000 +0200
+++ new/feedparser-6.0.5/LICENSE        2021-06-13 18:52:57.000000000 +0200
@@ -2,7 +2,7 @@
 
 ----- begin license block -----
 
-Copyright (C) 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+Copyright (C) 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 Copyright (C) 2002-2008 Mark Pilgrim
 All rights reserved.
 
@@ -38,7 +38,7 @@
 
 ----- begin license block -----
 
-Copyright (C) 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+Copyright (C) 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 Copyright (C) 2004-2008 Mark Pilgrim. All rights reserved.
 
 Redistribution and use in source (Sphinx ReST) and "compiled" forms (HTML, PDF,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/NEWS new/feedparser-6.0.5/NEWS
--- old/feedparser-6.0.2/NEWS   2020-10-25 18:37:10.000000000 +0100
+++ new/feedparser-6.0.5/NEWS   2021-06-14 14:25:31.000000000 +0200
@@ -1,5 +1,18 @@
 coming in the next release:
 
+6.0.5 - 14 June 2021
+    *   Prevent a TypeError crash that may occur when including a
+        username and password in the feed URL. (#276)
+
+6.0.4 - 13 June 2021
+    *   Prevent a UnicodeDecodeError crash that may occur when
+        the title element's type attribute exists but is empty. (#277)
+    *   Prevent a UnicodeEncodeError crash that may occur if
+        the URL contains Unicode characters in the path. (#273)
+
+6.0.3 - 12 June 2021
+    *   Fix an issue with the HTTP request status on Python >= 3.9.
+
 6.0.2 - 25 October 2020
     *   Stop building Python wheels with ``universal=1`` set. (#251)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/PKG-INFO 
new/feedparser-6.0.5/PKG-INFO
--- old/feedparser-6.0.2/PKG-INFO       2020-10-25 18:37:47.110600200 +0100
+++ new/feedparser-6.0.5/PKG-INFO       2021-06-14 14:26:19.157571300 +0200
@@ -1,66 +1,12 @@
 Metadata-Version: 2.1
 Name: feedparser
-Version: 6.0.2
+Version: 6.0.5
 Summary: Universal feed parser, handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 
0.3, and Atom 1.0 feeds
 Home-page: https://github.com/kurtmckee/feedparser
 Author: Kurt McKee
 Author-email: contac...@kurtmckee.org
 License: BSD-2-Clause
 Download-URL: https://pypi.python.org/pypi/feedparser
-Description: feedparser - Parse Atom and RSS feeds in Python.
-        
-        | Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
-        | Copyright 2002-2008 Mark Pilgrim
-        
-        feedparser is open source. See the LICENSE file for more information.
-        
-        
-        Installation
-        ============
-        
-        feedparser can be installed by running pip:
-        
-        ..  code-block:: shell
-        
-            $ pip install feedparser
-        
-        
-        Documentation
-        =============
-        
-        The feedparser documentation is available on the web at:
-        
-            https://feedparser.readthedocs.io/en/latest/
-        
-        It is also included in its source format, ReST, in the ``docs/`` 
directory.
-        To build the documentation you'll need the Sphinx package, which is 
available at:
-        
-            https://www.sphinx-doc.org/
-        
-        You can then build HTML pages using a command similar to:
-        
-        ..  code-block:: shell
-        
-            $ sphinx-build -b html docs/ fpdocs
-        
-        This will produce HTML documentation in the ``fpdocs/`` directory.
-        
-        
-        Testing
-        =======
-        
-        Feedparser has an extensive test suite, powered by tox. To run it, 
type this:
-        
-        ..  code-block:: shell
-        
-            $ python -m venv venv
-            $ source venv/bin/activate  # or "venv\bin\activate.ps1" on Windows
-            (venv) $ pip install -r requirements-dev.txt
-            (venv) $ tox
-        
-        This will spawn an HTTP server that will listen on port 8097. The 
tests will
-        fail if that port is in use.
-        
 Keywords: atom,cdf,feed,parser,rdf,rss
 Platform: POSIX
 Platform: Windows
@@ -77,3 +23,60 @@
 Classifier: Topic :: Text Processing :: Markup :: XML
 Requires-Python: >=3.6
 Description-Content-Type: text/x-rst
+License-File: LICENSE
+
+feedparser - Parse Atom and RSS feeds in Python.
+
+| Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
+| Copyright 2002-2008 Mark Pilgrim
+
+feedparser is open source. See the LICENSE file for more information.
+
+
+Installation
+============
+
+feedparser can be installed by running pip:
+
+..  code-block:: shell
+
+    $ pip install feedparser
+
+
+Documentation
+=============
+
+The feedparser documentation is available on the web at:
+
+    https://feedparser.readthedocs.io/en/latest/
+
+It is also included in its source format, ReST, in the ``docs/`` directory.
+To build the documentation you'll need the Sphinx package, which is available 
at:
+
+    https://www.sphinx-doc.org/
+
+You can then build HTML pages using a command similar to:
+
+..  code-block:: shell
+
+    $ sphinx-build -b html docs/ fpdocs
+
+This will produce HTML documentation in the ``fpdocs/`` directory.
+
+
+Testing
+=======
+
+Feedparser has an extensive test suite, powered by tox. To run it, type this:
+
+..  code-block:: shell
+
+    $ python -m venv venv
+    $ source venv/bin/activate  # or "venv\bin\activate.ps1" on Windows
+    (venv) $ pip install -r requirements-dev.txt
+    (venv) $ tox
+
+This will spawn an HTTP server that will listen on port 8097. The tests will
+fail if that port is in use.
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/README.rst 
new/feedparser-6.0.5/README.rst
--- old/feedparser-6.0.2/README.rst     2020-10-25 18:36:15.000000000 +0100
+++ new/feedparser-6.0.5/README.rst     2021-06-14 13:58:59.000000000 +0200
@@ -1,6 +1,6 @@
 feedparser - Parse Atom and RSS feeds in Python.
 
-| Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+| Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 | Copyright 2002-2008 Mark Pilgrim
 
 feedparser is open source. See the LICENSE file for more information.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/docs/conf.py 
new/feedparser-6.0.5/docs/conf.py
--- old/feedparser-6.0.2/docs/conf.py   2020-10-25 18:36:08.000000000 +0100
+++ new/feedparser-6.0.5/docs/conf.py   2021-06-13 18:52:57.000000000 +0200
@@ -11,7 +11,7 @@
 
 # project information
 project = 'feedparser'
-copyright = '2010-2020 Kurt McKee, 2004-2008 Mark Pilgrim'
+copyright = '2010-2021 Kurt McKee, 2004-2008 Mark Pilgrim'
 language = 'en'
 
 # documentation options
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/docs/license.rst 
new/feedparser-6.0.5/docs/license.rst
--- old/feedparser-6.0.2/docs/license.rst       2020-09-01 05:42:10.000000000 
+0200
+++ new/feedparser-6.0.5/docs/license.rst       2021-06-13 18:52:57.000000000 
+0200
@@ -3,7 +3,7 @@
 Documentation license
 =====================
 
-Copyright 2010-2020 Kurt McKee, 2004-2008 Mark Pilgrim. All rights reserved.
+Copyright 2010-2021 Kurt McKee, 2004-2008 Mark Pilgrim. All rights reserved.
 
 Redistribution and use in source (Sphinx ReST) and "compiled" forms (HTML, PDF,
 PostScript, RTF and so forth) with or without modification, are permitted
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/__init__.py 
new/feedparser-6.0.5/feedparser/__init__.py
--- old/feedparser-6.0.2/feedparser/__init__.py 2020-10-25 18:36:15.000000000 
+0100
+++ new/feedparser-6.0.5/feedparser/__init__.py 2021-06-14 14:25:31.000000000 
+0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
@@ -32,7 +32,7 @@
 
 __author__ = 'Kurt McKee <contac...@kurtmckee.org>'
 __license__ = 'BSD 2-clause'
-__version__ = '6.0.2'
+__version__ = '6.0.5'
 
 # HTTP "User-Agent" header to send to servers when downloading feeds.
 # If you are embedding feedparser in a larger application, you should
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/api.py 
new/feedparser-6.0.5/feedparser/api.py
--- old/feedparser-6.0.2/feedparser/api.py      2020-09-15 13:49:58.000000000 
+0200
+++ new/feedparser-6.0.5/feedparser/api.py      2021-06-14 13:58:59.000000000 
+0200
@@ -1,5 +1,5 @@
 # The public API for feedparser
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/datetimes/__init__.py 
new/feedparser-6.0.5/feedparser/datetimes/__init__.py
--- old/feedparser-6.0.2/feedparser/datetimes/__init__.py       2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/datetimes/__init__.py       2021-06-13 
18:52:57.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/datetimes/asctime.py 
new/feedparser-6.0.5/feedparser/datetimes/asctime.py
--- old/feedparser-6.0.2/feedparser/datetimes/asctime.py        2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/datetimes/asctime.py        2021-06-13 
18:52:57.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/datetimes/greek.py 
new/feedparser-6.0.5/feedparser/datetimes/greek.py
--- old/feedparser-6.0.2/feedparser/datetimes/greek.py  2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/datetimes/greek.py  2021-06-13 
18:52:57.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/datetimes/hungarian.py 
new/feedparser-6.0.5/feedparser/datetimes/hungarian.py
--- old/feedparser-6.0.2/feedparser/datetimes/hungarian.py      2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/datetimes/hungarian.py      2021-06-13 
18:52:57.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/datetimes/iso8601.py 
new/feedparser-6.0.5/feedparser/datetimes/iso8601.py
--- old/feedparser-6.0.2/feedparser/datetimes/iso8601.py        2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/datetimes/iso8601.py        2021-06-13 
18:52:57.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/datetimes/korean.py 
new/feedparser-6.0.5/feedparser/datetimes/korean.py
--- old/feedparser-6.0.2/feedparser/datetimes/korean.py 2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/datetimes/korean.py 2021-06-13 
18:52:57.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/datetimes/perforce.py 
new/feedparser-6.0.5/feedparser/datetimes/perforce.py
--- old/feedparser-6.0.2/feedparser/datetimes/perforce.py       2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/datetimes/perforce.py       2021-06-13 
18:52:57.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/datetimes/rfc822.py 
new/feedparser-6.0.5/feedparser/datetimes/rfc822.py
--- old/feedparser-6.0.2/feedparser/datetimes/rfc822.py 2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/datetimes/rfc822.py 2021-06-13 
18:52:57.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/datetimes/w3dtf.py 
new/feedparser-6.0.5/feedparser/datetimes/w3dtf.py
--- old/feedparser-6.0.2/feedparser/datetimes/w3dtf.py  2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/datetimes/w3dtf.py  2021-06-13 
18:52:57.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/encodings.py 
new/feedparser-6.0.5/feedparser/encodings.py
--- old/feedparser-6.0.2/feedparser/encodings.py        2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/encodings.py        2021-06-14 
13:58:59.000000000 +0200
@@ -1,5 +1,5 @@
 # Character encoding routines
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/exceptions.py 
new/feedparser-6.0.5/feedparser/exceptions.py
--- old/feedparser-6.0.2/feedparser/exceptions.py       2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/exceptions.py       2021-06-14 
13:58:59.000000000 +0200
@@ -1,5 +1,5 @@
 # Exceptions used throughout feedparser
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/html.py 
new/feedparser-6.0.5/feedparser/html.py
--- old/feedparser-6.0.2/feedparser/html.py     2020-09-15 13:49:58.000000000 
+0200
+++ new/feedparser-6.0.5/feedparser/html.py     2021-06-14 13:58:59.000000000 
+0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/http.py 
new/feedparser-6.0.5/feedparser/http.py
--- old/feedparser-6.0.2/feedparser/http.py     2020-09-15 13:49:58.000000000 
+0200
+++ new/feedparser-6.0.5/feedparser/http.py     2021-06-14 14:25:31.000000000 
+0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
@@ -78,7 +78,7 @@
         host = urllib.parse.urlparse(req.get_full_url())[1]
         if 'Authorization' not in req.headers or 'WWW-Authenticate' not in 
headers:
             return self.http_error_default(req, fp, code, msg, headers)
-        auth = base64.decodebytes(req.headers['Authorization'].split(' 
')[1].encode('utf8'))
+        auth = base64.decodebytes(req.headers['Authorization'].split(' 
')[1].encode()).decode()
         user, passw = auth.split(':')
         realm = re.findall('realm="([^"]*)"', headers['WWW-Authenticate'])[0]
         self.add_password(realm, host, user, passw)
@@ -145,12 +145,23 @@
             if url_pieces.port:
                 new_pieces[1] = f'{url_pieces.hostname}:{url_pieces.port}'
             url = urllib.parse.urlunparse(new_pieces)
-            auth = 
base64.standard_b64encode(f'{url_pieces.username}:{url_pieces.password}').strip()
+            auth = 
base64.standard_b64encode(f'{url_pieces.username}:{url_pieces.password}'.encode()).decode()
 
     # iri support
     if not isinstance(url, bytes):
         url = convert_to_idn(url)
 
+    # Prevent UnicodeEncodeErrors caused by Unicode characters in the path.
+    bits = []
+    for c in url:
+        try:
+            c.encode('ascii')
+        except UnicodeEncodeError:
+            bits.append(urllib.parse.quote(c))
+        else:
+            bits.append(c)
+    url = ''.join(bits)
+
     # try to open with urllib2 (to use optional headers)
     request = _build_urllib2_request(url, agent, ACCEPT_HEADER, etag, 
modified, referrer, auth, request_headers)
     opener = urllib.request.build_opener(*tuple(handlers + 
[_FeedURLHandler()]))
@@ -203,7 +214,7 @@
         result['href'] = f.url.decode('utf-8', 'ignore')
     else:
         result['href'] = f.url
-    result['status'] = getattr(f, 'status', 200)
+    result['status'] = getattr(f, 'status', None) or 200
 
     # Stop processing if the server sent HTTP 304 Not Modified.
     if getattr(f, 'code', 0) == 304:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/mixin.py 
new/feedparser-6.0.5/feedparser/mixin.py
--- old/feedparser-6.0.2/feedparser/mixin.py    2020-09-15 13:49:58.000000000 
+0200
+++ new/feedparser-6.0.5/feedparser/mixin.py    2021-06-14 13:58:59.000000000 
+0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
@@ -506,9 +506,7 @@
         if base64 and self.contentparams.get('base64', 0):
             try:
                 output = 
base64.decodebytes(output.encode('utf8')).decode('utf8')
-            except binascii.Error:
-                pass
-            except binascii.Incomplete:
+            except (binascii.Error, binascii.Incomplete, UnicodeDecodeError):
                 pass
 
         # resolve relative URIs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/namespaces/_base.py 
new/feedparser-6.0.5/feedparser/namespaces/_base.py
--- old/feedparser-6.0.2/feedparser/namespaces/_base.py 2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/namespaces/_base.py 2021-06-13 
18:52:57.000000000 +0200
@@ -1,5 +1,5 @@
 # Support for the Atom, RSS, RDF, and CDF feed formats
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/namespaces/admin.py 
new/feedparser-6.0.5/feedparser/namespaces/admin.py
--- old/feedparser-6.0.2/feedparser/namespaces/admin.py 2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/namespaces/admin.py 2021-06-13 
18:52:57.000000000 +0200
@@ -1,5 +1,5 @@
 # Support for the administrative elements extension
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/namespaces/cc.py 
new/feedparser-6.0.5/feedparser/namespaces/cc.py
--- old/feedparser-6.0.2/feedparser/namespaces/cc.py    2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/namespaces/cc.py    2021-06-13 
18:52:57.000000000 +0200
@@ -1,5 +1,5 @@
 # Support for the Creative Commons licensing extensions
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/namespaces/dc.py 
new/feedparser-6.0.5/feedparser/namespaces/dc.py
--- old/feedparser-6.0.2/feedparser/namespaces/dc.py    2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/namespaces/dc.py    2021-06-13 
18:52:57.000000000 +0200
@@ -1,5 +1,5 @@
 # Support for the Dublin Core metadata extensions
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/namespaces/georss.py 
new/feedparser-6.0.5/feedparser/namespaces/georss.py
--- old/feedparser-6.0.2/feedparser/namespaces/georss.py        2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/namespaces/georss.py        2021-06-13 
18:52:57.000000000 +0200
@@ -1,5 +1,5 @@
 # Support for the GeoRSS format
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/namespaces/itunes.py 
new/feedparser-6.0.5/feedparser/namespaces/itunes.py
--- old/feedparser-6.0.2/feedparser/namespaces/itunes.py        2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/namespaces/itunes.py        2021-06-13 
18:52:57.000000000 +0200
@@ -1,5 +1,5 @@
 # Support for the iTunes format
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/namespaces/mediarss.py 
new/feedparser-6.0.5/feedparser/namespaces/mediarss.py
--- old/feedparser-6.0.2/feedparser/namespaces/mediarss.py      2020-09-15 
13:49:58.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/namespaces/mediarss.py      2021-06-13 
18:52:57.000000000 +0200
@@ -1,5 +1,5 @@
 # Support for the Media RSS format
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/namespaces/psc.py 
new/feedparser-6.0.5/feedparser/namespaces/psc.py
--- old/feedparser-6.0.2/feedparser/namespaces/psc.py   2020-09-15 
13:49:59.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/namespaces/psc.py   2021-06-13 
18:52:57.000000000 +0200
@@ -1,5 +1,5 @@
 # Support for the Podlove Simple Chapters format
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/parsers/loose.py 
new/feedparser-6.0.5/feedparser/parsers/loose.py
--- old/feedparser-6.0.2/feedparser/parsers/loose.py    2020-09-15 
13:49:59.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/parsers/loose.py    2021-06-14 
13:58:59.000000000 +0200
@@ -1,5 +1,5 @@
 # The loose feed parser that interfaces with an SGML parsing library
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/parsers/strict.py 
new/feedparser-6.0.5/feedparser/parsers/strict.py
--- old/feedparser-6.0.2/feedparser/parsers/strict.py   2020-09-15 
13:49:59.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/parsers/strict.py   2021-06-14 
13:58:59.000000000 +0200
@@ -1,5 +1,5 @@
 # The strict feed parser that interfaces with an XML parsing library
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/sanitizer.py 
new/feedparser-6.0.5/feedparser/sanitizer.py
--- old/feedparser-6.0.2/feedparser/sanitizer.py        2020-09-15 
13:49:59.000000000 +0200
+++ new/feedparser-6.0.5/feedparser/sanitizer.py        2021-06-14 
13:58:59.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/sgml.py 
new/feedparser-6.0.5/feedparser/sgml.py
--- old/feedparser-6.0.2/feedparser/sgml.py     2020-09-15 13:49:59.000000000 
+0200
+++ new/feedparser-6.0.5/feedparser/sgml.py     2021-06-14 13:58:59.000000000 
+0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/urls.py 
new/feedparser-6.0.5/feedparser/urls.py
--- old/feedparser-6.0.2/feedparser/urls.py     2020-09-15 13:49:59.000000000 
+0200
+++ new/feedparser-6.0.5/feedparser/urls.py     2021-06-14 13:58:59.000000000 
+0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser/util.py 
new/feedparser-6.0.5/feedparser/util.py
--- old/feedparser-6.0.2/feedparser/util.py     2020-09-15 13:49:59.000000000 
+0200
+++ new/feedparser-6.0.5/feedparser/util.py     2021-06-14 13:58:59.000000000 
+0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser.egg-info/PKG-INFO 
new/feedparser-6.0.5/feedparser.egg-info/PKG-INFO
--- old/feedparser-6.0.2/feedparser.egg-info/PKG-INFO   2020-10-25 
18:37:43.000000000 +0100
+++ new/feedparser-6.0.5/feedparser.egg-info/PKG-INFO   2021-06-14 
14:26:13.000000000 +0200
@@ -1,66 +1,12 @@
 Metadata-Version: 2.1
 Name: feedparser
-Version: 6.0.2
+Version: 6.0.5
 Summary: Universal feed parser, handles RSS 0.9x, RSS 1.0, RSS 2.0, CDF, Atom 
0.3, and Atom 1.0 feeds
 Home-page: https://github.com/kurtmckee/feedparser
 Author: Kurt McKee
 Author-email: contac...@kurtmckee.org
 License: BSD-2-Clause
 Download-URL: https://pypi.python.org/pypi/feedparser
-Description: feedparser - Parse Atom and RSS feeds in Python.
-        
-        | Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
-        | Copyright 2002-2008 Mark Pilgrim
-        
-        feedparser is open source. See the LICENSE file for more information.
-        
-        
-        Installation
-        ============
-        
-        feedparser can be installed by running pip:
-        
-        ..  code-block:: shell
-        
-            $ pip install feedparser
-        
-        
-        Documentation
-        =============
-        
-        The feedparser documentation is available on the web at:
-        
-            https://feedparser.readthedocs.io/en/latest/
-        
-        It is also included in its source format, ReST, in the ``docs/`` 
directory.
-        To build the documentation you'll need the Sphinx package, which is 
available at:
-        
-            https://www.sphinx-doc.org/
-        
-        You can then build HTML pages using a command similar to:
-        
-        ..  code-block:: shell
-        
-            $ sphinx-build -b html docs/ fpdocs
-        
-        This will produce HTML documentation in the ``fpdocs/`` directory.
-        
-        
-        Testing
-        =======
-        
-        Feedparser has an extensive test suite, powered by tox. To run it, 
type this:
-        
-        ..  code-block:: shell
-        
-            $ python -m venv venv
-            $ source venv/bin/activate  # or "venv\bin\activate.ps1" on Windows
-            (venv) $ pip install -r requirements-dev.txt
-            (venv) $ tox
-        
-        This will spawn an HTTP server that will listen on port 8097. The 
tests will
-        fail if that port is in use.
-        
 Keywords: atom,cdf,feed,parser,rdf,rss
 Platform: POSIX
 Platform: Windows
@@ -77,3 +23,60 @@
 Classifier: Topic :: Text Processing :: Markup :: XML
 Requires-Python: >=3.6
 Description-Content-Type: text/x-rst
+License-File: LICENSE
+
+feedparser - Parse Atom and RSS feeds in Python.
+
+| Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
+| Copyright 2002-2008 Mark Pilgrim
+
+feedparser is open source. See the LICENSE file for more information.
+
+
+Installation
+============
+
+feedparser can be installed by running pip:
+
+..  code-block:: shell
+
+    $ pip install feedparser
+
+
+Documentation
+=============
+
+The feedparser documentation is available on the web at:
+
+    https://feedparser.readthedocs.io/en/latest/
+
+It is also included in its source format, ReST, in the ``docs/`` directory.
+To build the documentation you'll need the Sphinx package, which is available 
at:
+
+    https://www.sphinx-doc.org/
+
+You can then build HTML pages using a command similar to:
+
+..  code-block:: shell
+
+    $ sphinx-build -b html docs/ fpdocs
+
+This will produce HTML documentation in the ``fpdocs/`` directory.
+
+
+Testing
+=======
+
+Feedparser has an extensive test suite, powered by tox. To run it, type this:
+
+..  code-block:: shell
+
+    $ python -m venv venv
+    $ source venv/bin/activate  # or "venv\bin\activate.ps1" on Windows
+    (venv) $ pip install -r requirements-dev.txt
+    (venv) $ tox
+
+This will spawn an HTTP server that will listen on port 8097. The tests will
+fail if that port is in use.
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/feedparser.egg-info/SOURCES.txt 
new/feedparser-6.0.5/feedparser.egg-info/SOURCES.txt
--- old/feedparser-6.0.2/feedparser.egg-info/SOURCES.txt        2020-10-25 
18:37:44.000000000 +0100
+++ new/feedparser-6.0.5/feedparser.egg-info/SOURCES.txt        2021-06-14 
14:26:14.000000000 +0200
@@ -1055,6 +1055,7 @@
 tests/wellformed/atom10/entry_title_text_plain.xml
 tests/wellformed/atom10/entry_title_text_plain_brackets.xml
 tests/wellformed/atom10/entry_title_type_default.xml
+tests/wellformed/atom10/entry_title_type_empty-no-crash.xml
 tests/wellformed/atom10/entry_title_type_text.xml
 tests/wellformed/atom10/feed_author_email.xml
 tests/wellformed/atom10/feed_author_map_author.xml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/setup.py 
new/feedparser-6.0.5/setup.py
--- old/feedparser-6.0.2/setup.py       2020-09-15 13:49:59.000000000 +0200
+++ new/feedparser-6.0.5/setup.py       2021-06-14 13:58:59.000000000 +0200
@@ -1,4 +1,4 @@
-# Copyright 2010-2020 Kurt McKee <contac...@kurtmckee.org>
+# Copyright 2010-2021 Kurt McKee <contac...@kurtmckee.org>
 # Copyright 2002-2008 Mark Pilgrim
 # All rights reserved.
 #
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/feedparser-6.0.2/tests/runtests.py 
new/feedparser-6.0.5/tests/runtests.py
--- old/feedparser-6.0.2/tests/runtests.py      2020-09-15 13:49:59.000000000 
+0200
+++ new/feedparser-6.0.5/tests/runtests.py      2021-06-14 14:25:31.000000000 
+0200
@@ -40,6 +40,7 @@
 import threading
 import time
 import unittest
+import urllib.error
 import warnings
 import xml.sax
 import zlib
@@ -404,6 +405,18 @@
         r = feedparser.api._open_resource(s, '', '', '', '', [], {}, {})
         self.assertEqual(s, r)
 
+    def test_http_client_ascii_unicode_encode_error(self):
+        """Confirm that a Unicode character doesn't cause a UnicodeEncodeError 
crash."""
+        url = 'https://0.0.0.0/??'
+        with self.assertRaises(urllib.error.URLError):
+            feedparser.api._open_resource(url, '', '', '', '', [], {}, {})
+
+    def test_http_client_basic_auth_type_error(self):
+        """Confirm an in-URL username/password doesn't cause a TypeError."""
+        url = 'https://username@password@0.0.0.0/feed'
+        with self.assertRaises(urllib.error.URLError):
+            feedparser.api._open_resource(url, '', '', '', '', [], {}, {})
+
 
 def make_safe_uri_test(rel, expect, doc):
     def fn(self):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/feedparser-6.0.2/tests/wellformed/atom10/entry_title_type_empty-no-crash.xml
 
new/feedparser-6.0.5/tests/wellformed/atom10/entry_title_type_empty-no-crash.xml
--- 
old/feedparser-6.0.2/tests/wellformed/atom10/entry_title_type_empty-no-crash.xml
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/feedparser-6.0.5/tests/wellformed/atom10/entry_title_type_empty-no-crash.xml
    2021-06-13 18:52:57.000000000 +0200
@@ -0,0 +1,9 @@
+<!--
+Description: entry title type='' -- no base64/unicodedecodeerror crash
+Expect:      entries[0]['title'] == 'evil'
+-->
+<feed xmlns="http://www.w3.org/2005/Atom";>
+<entry>
+  <title type="">evil</title>
+</entry>
+</feed>

Reply via email to