From ae824fb2fc2770c84cc34c1956e4c76c8c972860 Mon Sep 17 00:00:00 2001 From: "Jason R. Coombs" Date: Fri, 20 Oct 2023 23:32:40 +0545 Subject: [PATCH] cleanup: convert exceptions to OSError In Python 3, these exceptions were merged into OSError, so switch everything over to that. Change-Id: If876a28b692de5aa5c62a3bdc8c000793ce52c63 Reviewed-on: https://gerrit-review.googlesource.com/c/git-repo/+/390376 Reviewed-by: Aravind Vasudevan Commit-Queue: Mike Frysinger Tested-by: Mike Frysinger --- git_config.py | 4 ++-- git_refs.py | 2 -- git_superproject.py | 2 +- main.py | 2 +- project.py | 10 +++++----- repo | 4 ++-- subcmds/sync.py | 17 ++++++++--------- 7 files changed, 19 insertions(+), 22 deletions(-) diff --git a/git_config.py b/git_config.py index 1bde4795..6aa8d855 100644 --- a/git_config.py +++ b/git_config.py @@ -370,7 +370,7 @@ class GitConfig: with Trace(": parsing %s", self.file): with open(self._json) as fd: return json.load(fd) - except (IOError, ValueError): + except (OSError, ValueError): platform_utils.remove(self._json, missing_ok=True) return None @@ -378,7 +378,7 @@ class GitConfig: try: with open(self._json, "w") as fd: json.dump(cache, fd, indent=2) - except (IOError, TypeError): + except (OSError, TypeError): platform_utils.remove(self._json, missing_ok=True) def _ReadGit(self): diff --git a/git_refs.py b/git_refs.py index bf7aa4a1..237c15ae 100644 --- a/git_refs.py +++ b/git_refs.py @@ -107,8 +107,6 @@ class GitRefs: try: fd = open(path) mtime = os.path.getmtime(path) - except IOError: - return except OSError: return try: diff --git a/git_superproject.py b/git_superproject.py index 651b6dbb..b80f0130 100644 --- a/git_superproject.py +++ b/git_superproject.py @@ -381,7 +381,7 @@ class Superproject: try: with open(manifest_path, "w", encoding="utf-8") as fp: fp.write(manifest_str) - except IOError as e: + except OSError as e: self._LogError("cannot write manifest to : {} {}", manifest_path, e) return None return manifest_path diff --git a/main.py b/main.py index a1282851..bd8d5135 100755 --- a/main.py +++ b/main.py @@ -789,7 +789,7 @@ def init_http(): mgr.add_password(p[1], "https://%s/" % host, p[0], p[2]) except netrc.NetrcParseError: pass - except IOError: + except OSError: pass handlers.append(_BasicAuthHandler(mgr)) handlers.append(_DigestAuthHandler(mgr)) diff --git a/project.py b/project.py index 5c9f31cf..be53defd 100644 --- a/project.py +++ b/project.py @@ -431,7 +431,7 @@ class _CopyFile: mode = os.stat(dest)[stat.ST_MODE] mode = mode & ~(stat.S_IWUSR | stat.S_IWGRP | stat.S_IWOTH) os.chmod(dest, mode) - except IOError: + except OSError: logger.error("error: Cannot copy file %s to %s", src, dest) @@ -466,7 +466,7 @@ class _LinkFile: if not platform_utils.isdir(dest_dir): os.makedirs(dest_dir) platform_utils.symlink(relSrc, absDest) - except IOError: + except OSError: logger.error( "error: Cannot link file %s to %s", relSrc, absDest ) @@ -1198,7 +1198,7 @@ class Project: with tarfile.open(tarpath, "r") as tar: tar.extractall(path=path) return True - except (IOError, tarfile.TarError) as e: + except (OSError, tarfile.TarError) as e: logger.error("error: Cannot extract archive %s: %s", tarpath, e) return False @@ -1309,7 +1309,7 @@ class Project: alt_dir = os.path.join( self.objdir, "objects", fd.readline().rstrip() ) - except IOError: + except OSError: alt_dir = None else: alt_dir = None @@ -3584,7 +3584,7 @@ class Project: try: with open(path) as fd: line = fd.readline() - except IOError as e: + except OSError as e: raise NoManifestException(path, str(e)) try: line = line.decode() diff --git a/repo b/repo index 6b39f227..a9ae4fa7 100755 --- a/repo +++ b/repo @@ -627,7 +627,7 @@ def get_gitc_manifest_dir(): match = re.match("gitc_dir=(?P.*)", line) if match: _gitc_manifest_dir = match.group("gitc_manifest_dir") - except IOError: + except OSError: pass return _gitc_manifest_dir @@ -1277,7 +1277,7 @@ class Requirements: try: with open(path, "rb") as f: data = f.read() - except EnvironmentError: + except OSError: # NB: EnvironmentError is used for Python 2 & 3 compatibility. # If we couldn't open the file, assume it's an old source tree. return None diff --git a/subcmds/sync.py b/subcmds/sync.py index 23098972..8460bcec 100644 --- a/subcmds/sync.py +++ b/subcmds/sync.py @@ -21,7 +21,6 @@ import multiprocessing import netrc import optparse import os -import socket import sys import tempfile import time @@ -1376,7 +1375,7 @@ later is required to fix a server side protocol bug. else: try: info = netrc.netrc() - except IOError: + except OSError: # .netrc file does not exist or could not be opened. pass else: @@ -1435,7 +1434,7 @@ later is required to fix a server side protocol bug. try: with open(smart_sync_manifest_path, "w") as f: f.write(manifest_str) - except IOError as e: + except OSError as e: raise SmartSyncError( "error: cannot write manifest to %s:\n%s" % (smart_sync_manifest_path, e), @@ -1446,7 +1445,7 @@ later is required to fix a server side protocol bug. raise SmartSyncError( "error: manifest server RPC call failed: %s" % manifest_str ) - except (socket.error, IOError, xmlrpc.client.Fault) as e: + except (OSError, xmlrpc.client.Fault) as e: raise SmartSyncError( "error: cannot connect to manifest server %s:\n%s" % (manifest.manifest_server, e), @@ -1931,7 +1930,7 @@ class _FetchTimes: try: with open(self._path) as f: self._saved = json.load(f) - except (IOError, ValueError): + except (OSError, ValueError): platform_utils.remove(self._path, missing_ok=True) self._saved = {} @@ -1947,7 +1946,7 @@ class _FetchTimes: try: with open(self._path, "w") as f: json.dump(self._seen, f, indent=2) - except (IOError, TypeError): + except (OSError, TypeError): platform_utils.remove(self._path, missing_ok=True) @@ -1994,7 +1993,7 @@ class LocalSyncState: try: with open(self._path) as f: self._state = json.load(f) - except (IOError, ValueError): + except (OSError, ValueError): platform_utils.remove(self._path, missing_ok=True) self._state = {} @@ -2004,7 +2003,7 @@ class LocalSyncState: try: with open(self._path, "w") as f: json.dump(self._state, f, indent=2) - except (IOError, TypeError): + except (OSError, TypeError): platform_utils.remove(self._path, missing_ok=True) def PruneRemovedProjects(self): @@ -2137,7 +2136,7 @@ class PersistentTransport(xmlrpc.client.Transport): try: p.feed(data) except xml.parsers.expat.ExpatError as e: - raise IOError( + raise OSError( f"Parsing the manifest failed: {e}\n" f"Please report this to your manifest server admin.\n" f'Here is the full response:\n{data.decode("utf-8")}'