diff mercurial/hgweb/hgwebdir_mod.py @ 52640:24ee91ba9aa8

pyupgrade: drop usage of py3 aliases for `OSError` These were different classes in py2, but now a handful of error classes are just an alias of `OSError`, like `IOError`, `EnvironmentError`, `WindowsError`, etc. This is the result of running a hacked version of `pyupgrade` 3.19.1[1] $ hg files -0 'relglob:**.py' | xargs -0 \ pyupgrade --py38-plus --keep-percent-format --keep-mock --keep-runtime-typing The hack is because it doesn't have command line switches to disable most changes, so it makes tons of unrelated changes all at once. The hack is to 1) patch `pyupgrade._main._fix_tokens()` to immediately return its content arg 2) change `pyupgrade._data.register_decorator()` to only register the function if it's from the fixer we're interested in: if func.__module__ in ( "pyupgrade._plugins.exceptions", ): FUNCS[tp].append(func) return func [1] https://github.com/asottile/pyupgrade
author Matt Harbison <matt_harbison@yahoo.com>
date Sun, 05 Jan 2025 21:03:17 -0500
parents 0a81f3ef054c
children e627cc25b6f3
line wrap: on
line diff
--- a/mercurial/hgweb/hgwebdir_mod.py	Mon Jan 06 14:15:40 2025 -0500
+++ b/mercurial/hgweb/hgwebdir_mod.py	Sun Jan 05 21:03:17 2025 -0500
@@ -152,7 +152,7 @@
                 try:
                     hg.repository(ui, path)
                     directory = False
-                except (IOError, error.RepoError):
+                except (OSError, error.RepoError):
                     pass
 
         parts = [
@@ -211,7 +211,7 @@
         # update time with local timezone
         try:
             r = hg.repository(ui, path)
-        except IOError:
+        except OSError:
             u.warn(_(b'error accessing repository at %s\n') % path)
             continue
         except error.RepoError:
@@ -475,7 +475,7 @@
                         # ensure caller gets private copy of ui
                         repo = hg.repository(self.ui.copy(), real)
                         return hgweb_mod.hgweb(repo).run_wsgi(req, res)
-                    except IOError as inst:
+                    except OSError as inst:
                         msg = encoding.strtolocal(inst.strerror)
                         raise ErrorResponse(HTTP_SERVER_ERROR, msg)
                     except error.RepoError as inst: