diff hgext/win32text.py @ 43076:2372284d9457

formatting: blacken the codebase This is using my patch to black (https://github.com/psf/black/pull/826) so we don't un-wrap collection literals. Done with: hg files 'set:**.py - mercurial/thirdparty/** - "contrib/python-zstandard/**"' | xargs black -S # skip-blame mass-reformatting only # no-check-commit reformats foo_bar functions Differential Revision: https://phab.mercurial-scm.org/D6971
author Augie Fackler <augie@google.com>
date Sun, 06 Oct 2019 09:45:02 -0400
parents e7aa113b14f7
children 687b865b95ad
line wrap: on
line diff
--- a/hgext/win32text.py	Sat Oct 05 10:29:34 2019 -0400
+++ b/hgext/win32text.py	Sun Oct 06 09:45:02 2019 -0400
@@ -45,16 +45,12 @@
 
 import re
 from mercurial.i18n import _
-from mercurial.node import (
-    short,
-)
+from mercurial.node import short
 from mercurial import (
     pycompat,
     registrar,
 )
-from mercurial.utils import (
-    stringutil,
-)
+from mercurial.utils import stringutil
 
 # Note for extension authors: ONLY specify testedwith = 'ships-with-hg-core' for
 # extensions which SHIP WITH MERCURIAL. Non-mainline extensions should
@@ -65,8 +61,8 @@
 configtable = {}
 configitem = registrar.configitem(configtable)
 
-configitem('win32text', 'warn',
-    default=True,
+configitem(
+    'win32text', 'warn', default=True,
 )
 
 # regexp for single LF without CR preceding.
@@ -75,53 +71,67 @@
 newlinestr = {'\r\n': 'CRLF', '\r': 'CR'}
 filterstr = {'\r\n': 'clever', '\r': 'mac'}
 
+
 def checknewline(s, newline, ui=None, repo=None, filename=None):
     # warn if already has 'newline' in repository.
     # it might cause unexpected eol conversion.
     # see issue 302:
     #   https://bz.mercurial-scm.org/302
     if newline in s and ui and filename and repo:
-        ui.warn(_('WARNING: %s already has %s line endings\n'
-                  'and does not need EOL conversion by the win32text plugin.\n'
-                  'Before your next commit, please reconsider your '
-                  'encode/decode settings in \nMercurial.ini or %s.\n') %
-                (filename, newlinestr[newline], repo.vfs.join('hgrc')))
+        ui.warn(
+            _(
+                'WARNING: %s already has %s line endings\n'
+                'and does not need EOL conversion by the win32text plugin.\n'
+                'Before your next commit, please reconsider your '
+                'encode/decode settings in \nMercurial.ini or %s.\n'
+            )
+            % (filename, newlinestr[newline], repo.vfs.join('hgrc'))
+        )
+
 
 def dumbdecode(s, cmd, **kwargs):
     checknewline(s, '\r\n', **kwargs)
     # replace single LF to CRLF
     return re_single_lf.sub('\\1\r\n', s)
 
+
 def dumbencode(s, cmd):
     return s.replace('\r\n', '\n')
 
+
 def macdumbdecode(s, cmd, **kwargs):
     checknewline(s, '\r', **kwargs)
     return s.replace('\n', '\r')
 
+
 def macdumbencode(s, cmd):
     return s.replace('\r', '\n')
 
+
 def cleverdecode(s, cmd, **kwargs):
     if not stringutil.binary(s):
         return dumbdecode(s, cmd, **kwargs)
     return s
 
+
 def cleverencode(s, cmd):
     if not stringutil.binary(s):
         return dumbencode(s, cmd)
     return s
 
+
 def macdecode(s, cmd, **kwargs):
     if not stringutil.binary(s):
         return macdumbdecode(s, cmd, **kwargs)
     return s
 
+
 def macencode(s, cmd):
     if not stringutil.binary(s):
         return macdumbencode(s, cmd)
     return s
 
+
 _filters = {
     'dumbdecode:': dumbdecode,
     'dumbencode:': dumbencode,
@@ -131,7 +141,8 @@
     'macdumbencode:': macdumbencode,
     'macdecode:': macdecode,
     'macencode:': macencode,
-    }
+}
+
 
 def forbidnewline(ui, repo, hooktype, node, newline, **kwargs):
     halt = False
@@ -142,8 +153,9 @@
     # changegroup that contains an unacceptable commit followed later
     # by a commit that fixes the problem.
     tip = repo['tip']
-    for rev in pycompat.xrange(repo.changelog.tiprev(),
-                               repo[node].rev() - 1, -1):
+    for rev in pycompat.xrange(
+        repo.changelog.tiprev(), repo[node].rev() - 1, -1
+    ):
         c = repo[rev]
         for f in c.files():
             if f in seen or f not in tip or f not in c:
@@ -152,44 +164,61 @@
             data = c[f].data()
             if not stringutil.binary(data) and newline in data:
                 if not halt:
-                    ui.warn(_('attempt to commit or push text file(s) '
-                              'using %s line endings\n') %
-                              newlinestr[newline])
+                    ui.warn(
+                        _(
+                            'attempt to commit or push text file(s) '
+                            'using %s line endings\n'
+                        )
+                        % newlinestr[newline]
+                    )
                 ui.warn(_('in %s: %s\n') % (short(c.node()), f))
                 halt = True
     if halt and hooktype == 'pretxnchangegroup':
         crlf = newlinestr[newline].lower()
         filter = filterstr[newline]
-        ui.warn(_('\nTo prevent this mistake in your local repository,\n'
-                  'add to Mercurial.ini or .hg/hgrc:\n'
-                  '\n'
-                  '[hooks]\n'
-                  'pretxncommit.%s = python:hgext.win32text.forbid%s\n'
-                  '\n'
-                  'and also consider adding:\n'
-                  '\n'
-                  '[extensions]\n'
-                  'win32text =\n'
-                  '[encode]\n'
-                  '** = %sencode:\n'
-                  '[decode]\n'
-                  '** = %sdecode:\n') % (crlf, crlf, filter, filter))
+        ui.warn(
+            _(
+                '\nTo prevent this mistake in your local repository,\n'
+                'add to Mercurial.ini or .hg/hgrc:\n'
+                '\n'
+                '[hooks]\n'
+                'pretxncommit.%s = python:hgext.win32text.forbid%s\n'
+                '\n'
+                'and also consider adding:\n'
+                '\n'
+                '[extensions]\n'
+                'win32text =\n'
+                '[encode]\n'
+                '** = %sencode:\n'
+                '[decode]\n'
+                '** = %sdecode:\n'
+            )
+            % (crlf, crlf, filter, filter)
+        )
     return halt
 
+
 def forbidcrlf(ui, repo, hooktype, node, **kwargs):
     return forbidnewline(ui, repo, hooktype, node, '\r\n', **kwargs)
 
+
 def forbidcr(ui, repo, hooktype, node, **kwargs):
     return forbidnewline(ui, repo, hooktype, node, '\r', **kwargs)
 
+
 def reposetup(ui, repo):
     if not repo.local():
         return
     for name, fn in _filters.iteritems():
         repo.adddatafilter(name, fn)
 
+
 def extsetup(ui):
     # deprecated config: win32text.warn
     if ui.configbool('win32text', 'warn'):
-        ui.warn(_("win32text is deprecated: "
-                  "https://mercurial-scm.org/wiki/Win32TextExtension\n"))
+        ui.warn(
+            _(
+                "win32text is deprecated: "
+                "https://mercurial-scm.org/wiki/Win32TextExtension\n"
+            )
+        )