cat.py: fix Python deprecation warning

This commit fixes the following warning:

  DeprecationWarning: 'U' mode is deprecated

Removing 'U' has no effect with Python 3 [1]:

  There is an additional mode character permitted, 'U', which no
  longer has any effect, and is considered deprecated. It previously
  enabled universal newlines in text mode, which became the default
  behaviour in Python 3.0.

[1] https://docs.python.org/3/library/functions.html?highlight=open#open

(cherry picked from commit 9715d3504c)
This commit is contained in:
Scott Kostyshak 2020-03-19 18:22:16 -04:00
parent 2d1df3140e
commit dee5eec15f

View File

@ -29,9 +29,17 @@ if outfile:
out = open(outfile, "wb") out = open(outfile, "wb")
for f in args: for f in args:
# accept both windows and unix line endings, since it can happen that we if sys.version_info[0] < 3:
# are on unix, but the file has been written on windows or vice versa. # accept both windows and unix line endings, since it can
fil = open(f, "rU") # happen that we are on unix, but the file has been written on
# windows or vice versa.
mode = "rU"
else:
# The default behavior of Python 3 is to enable universal
# newlines in text mode. Adding "U" gives a deprecation
# warning.
mode = "r"
fil = open(f, mode)
for l in fil: for l in fil:
# this does always write unix line endings since the file has # this does always write unix line endings since the file has
# been opened in binary mode. This is needed since both gettext # been opened in binary mode. This is needed since both gettext