Mercurial > hg
view tests/ls-l.py @ 44452:9d2b2df2c2ba
cleanup: run pyupgrade on our source tree to clean up varying things
Built with:
hg files 'set:**.py - mercurial/thirdparty/** - "contrib/python-zstandard/**" - hgext/fsmonitor/pywatchman/**' | xargs pyupgrade --keep-percent-format --keep-extraneous-parens
and then blackened. pyupgrade comes from
https://github.com/asottile/pyupgrade with a patch to let me preserve
extraneous parens (which we use for marking strings that shouldn't be
translated), and lets us clean up a bunch of idioms that have cruftily
accumulated over the years.
# skip-blame no-op automated code cleanups
Differential Revision: https://phab.mercurial-scm.org/D8255
author | Augie Fackler <augie@google.com> |
---|---|
date | Fri, 06 Mar 2020 13:27:41 -0500 |
parents | 2372284d9457 |
children | c102b704edb5 |
line wrap: on
line source
#!/usr/bin/env python # like ls -l, but do not print date, user, or non-common mode bit, to avoid # using globs in tests. from __future__ import absolute_import, print_function import os import stat import sys def modestr(st): mode = st.st_mode result = '' if mode & stat.S_IFDIR: result += 'd' else: result += '-' for owner in ['USR', 'GRP', 'OTH']: for action in ['R', 'W', 'X']: if mode & getattr(stat, 'S_I%s%s' % (action, owner)): result += action.lower() else: result += '-' return result def sizestr(st): if st.st_mode & stat.S_IFREG: return '%7d' % st.st_size else: # do not show size for non regular files return ' ' * 7 os.chdir((sys.argv[1:] + ['.'])[0]) for name in sorted(os.listdir('.')): st = os.stat(name) print('%s %s %s' % (modestr(st), sizestr(st), name))