[tor-commits] [Git][tpo/applications/tor-browser][base-browser-102.7.0esr-12.5-1] Bug 1769631 - Remove 'U' from 'mode' parameters for various 'open' calls to...

Pier Angelo Vendrame (@pierov) git at gitlab.torproject.org
Mon Jan 30 16:22:15 UTC 2023



Pier Angelo Vendrame pushed to branch base-browser-102.7.0esr-12.5-1 at The Tor Project / Applications / Tor Browser


Commits:
19713031 by ahochheiden at 2023-01-30T17:21:13+01:00
Bug 1769631 - Remove 'U' from 'mode' parameters for various 'open' calls to ensure Python3.11 compatibility r=firefox-build-system-reviewers,glandium a=RyanVM

The 'U' flag represents "universal newline". It has been deprecated
since Python3.3. Since then "universal newline" is the default when a
file is opened in text mode (not bytes). In Python3.11 using the 'U'
flag throws errors. There should be no harm in removing 'U' from 'open'
everywhere it is used, and doing allows the use of Python3.11.

For more reading see: https://docs.python.org/3.11/whatsnew/3.11.html#changes-in-the-python-api

Differential Revision: https://phabricator.services.mozilla.com/D147721
- - - - -


6 changed files:

- dom/base/usecounters.py
- python/mozbuild/mozbuild/action/process_define_files.py
- python/mozbuild/mozbuild/backend/base.py
- python/mozbuild/mozbuild/preprocessor.py
- python/mozbuild/mozbuild/util.py
- python/mozbuild/mozpack/files.py


Changes:

=====================================
dom/base/usecounters.py
=====================================
@@ -8,7 +8,7 @@ import re
 
 def read_conf(conf_filename):
     # Can't read/write from a single StringIO, so make a new one for reading.
-    stream = open(conf_filename, "rU")
+    stream = open(conf_filename, "r")
 
     def parse_counters(stream):
         for line_num, line in enumerate(stream):


=====================================
python/mozbuild/mozbuild/action/process_define_files.py
=====================================
@@ -36,7 +36,7 @@ def process_define_file(output, input):
     ) and not config.substs.get("JS_STANDALONE"):
         config = PartialConfigEnvironment(mozpath.join(topobjdir, "js", "src"))
 
-    with open(path, "rU") as input:
+    with open(path, "r") as input:
         r = re.compile(
             "^\s*#\s*(?P<cmd>[a-z]+)(?:\s+(?P<name>\S+)(?:\s+(?P<value>\S+))?)?", re.U
         )


=====================================
python/mozbuild/mozbuild/backend/base.py
=====================================
@@ -272,7 +272,7 @@ class BuildBackend(LoggingMixin):
         return status
 
     @contextmanager
-    def _write_file(self, path=None, fh=None, readmode="rU"):
+    def _write_file(self, path=None, fh=None, readmode="r"):
         """Context manager to write a file.
 
         This is a glorified wrapper around FileAvoidWrite with integration to


=====================================
python/mozbuild/mozbuild/preprocessor.py
=====================================
@@ -531,7 +531,7 @@ class Preprocessor:
 
         if args:
             for f in args:
-                with io.open(f, "rU", encoding="utf-8") as input:
+                with io.open(f, "r", encoding="utf-8") as input:
                     self.processFile(input=input, output=out)
             if depfile:
                 mk = Makefile()
@@ -860,7 +860,7 @@ class Preprocessor:
                     args = self.applyFilters(args)
                 if not os.path.isabs(args):
                     args = os.path.join(self.curdir, args)
-                args = io.open(args, "rU", encoding="utf-8")
+                args = io.open(args, "r", encoding="utf-8")
             except Preprocessor.Error:
                 raise
             except Exception:
@@ -914,7 +914,7 @@ class Preprocessor:
 def preprocess(includes=[sys.stdin], defines={}, output=sys.stdout, marker="#"):
     pp = Preprocessor(defines=defines, marker=marker)
     for f in includes:
-        with io.open(f, "rU", encoding="utf-8") as input:
+        with io.open(f, "r", encoding="utf-8") as input:
             pp.processFile(input=input, output=output)
     return pp.includes
 


=====================================
python/mozbuild/mozbuild/util.py
=====================================
@@ -236,7 +236,7 @@ class FileAvoidWrite(BytesIO):
     still occur, as well as diff capture if requested.
     """
 
-    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="rU"):
+    def __init__(self, filename, capture_diff=False, dry_run=False, readmode="r"):
         BytesIO.__init__(self)
         self.name = filename
         assert type(capture_diff) == bool


=====================================
python/mozbuild/mozpack/files.py
=====================================
@@ -554,7 +554,7 @@ class PreprocessedFile(BaseFile):
         pp = Preprocessor(defines=self.defines, marker=self.marker)
         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
 
-        with _open(self.path, "rU") as input:
+        with _open(self.path, "r") as input:
             with _open(os.devnull, "w") as output:
                 pp.processFile(input=input, output=output)
 
@@ -611,7 +611,7 @@ class PreprocessedFile(BaseFile):
         pp = Preprocessor(defines=self.defines, marker=self.marker)
         pp.setSilenceDirectiveWarnings(self.silence_missing_directive_warnings)
 
-        with _open(self.path, "rU") as input:
+        with _open(self.path, "r") as input:
             pp.processFile(input=input, output=dest, depfile=deps_out)
 
         dest.close()



View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/19713031f03bba37a5de0aaf9e41def7bcbfe828

-- 
View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/19713031f03bba37a5de0aaf9e41def7bcbfe828
You're receiving this email because of your account on gitlab.torproject.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tor-commits/attachments/20230130/7aaa8abe/attachment-0001.htm>


More information about the tor-commits mailing list