annotate contrib/casesmash.py @ 49816:ae93ada06454

typing: add type hints to the rest of the posix module These methods either don't have an analog in the windows module, or are aliased in the windows module from something else (like os.path.xxx).
author Matt Harbison <matt_harbison@yahoo.com>
date Fri, 16 Dec 2022 18:27:15 -0500
parents 6000f5b25c9b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28351
42a7301fb4d5 casesmash: use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents: 19378
diff changeset
1 import __builtin__
42a7301fb4d5 casesmash: use absolute_import
Pulkit Goyal <7895pulkit@gmail.com>
parents: 19378
diff changeset
2 import os
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 28351
diff changeset
3 from mercurial import util
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 28351
diff changeset
4
14730
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
5
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
6 def lowerwrap(scope, funcname):
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
7 f = getattr(scope, funcname)
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 28351
diff changeset
8
14730
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
9 def wrap(fname, *args, **kwargs):
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
10 d, base = os.path.split(fname)
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
11 try:
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
12 files = os.listdir(d or '.')
19378
9de689d20230 cleanup: drop unused variables and an unused import
Simon Heimberg <simohe@besonet.ch>
parents: 19322
diff changeset
13 except OSError:
14730
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
14 files = []
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
15 if base in files:
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
16 return f(fname, *args, **kwargs)
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
17 for fn in files:
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
18 if fn.lower() == base.lower():
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
19 return f(os.path.join(d, fn), *args, **kwargs)
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
20 return f(fname, *args, **kwargs)
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 28351
diff changeset
21
14730
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
22 scope.__dict__[funcname] = wrap
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
23
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 28351
diff changeset
24
14730
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
25 def normcase(path):
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
26 return path.lower()
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
27
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 28351
diff changeset
28
14730
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
29 os.path.normcase = normcase
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
30
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
31 for f in 'file open'.split():
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
32 lowerwrap(__builtin__, f)
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
33
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
34 for f in "chmod chown open lstat stat remove unlink".split():
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
35 lowerwrap(os, f)
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
36
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
37 for f in "exists lexists".split():
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
38 lowerwrap(os.path, f)
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
39
f5765353d430 merge with stable
Matt Mackall <mpm@selenic.com>
parents:
diff changeset
40 lowerwrap(util, 'posixfile')