flagutil: move the `flagprocessors` mapping in the new module
authorPierre-Yves David <pierre-yves.david@octobus.net>
Thu, 08 Aug 2019 01:04:48 +0200
changeset 42729 05c80f9ef100
parent 42728 ca5ca3badd3c
child 42730 92ac6b1697a7
flagutil: move the `flagprocessors` mapping in the new module This module is meant to host most of the flag processing logic. We start with the mapping between flag and processors.
mercurial/revlog.py
mercurial/revlogutils/flagutil.py
tests/test-flagprocessor.t
--- a/mercurial/revlog.py	Thu Aug 08 01:03:01 2019 +0200
+++ b/mercurial/revlog.py	Thu Aug 08 01:04:48 2019 +0200
@@ -72,6 +72,7 @@
 )
 from .revlogutils import (
     deltas as deltautil,
+    flagutil,
 )
 from .utils import (
     interfaceutil,
@@ -110,11 +111,6 @@
 _maxinline = 131072
 _chunksize = 1048576
 
-# Store flag processors (cf. 'addflagprocessor()' to register)
-_flagprocessors = {
-    REVIDX_ISCENSORED: None,
-}
-
 # Flag processors for REVIDX_ELLIPSIS.
 def ellipsisreadprocessor(rl, text):
     return text, False
@@ -156,7 +152,7 @@
       debug commands. In this case the transform only indicates whether the
       contents can be used for hash integrity checks.
     """
-    _insertflagprocessor(flag, processor, _flagprocessors)
+    _insertflagprocessor(flag, processor, flagutil.flagprocessors)
 
 def _insertflagprocessor(flag, processor, flagprocessors):
     if not flag & REVIDX_KNOWN_FLAGS:
@@ -386,7 +382,7 @@
 
         # Make copy of flag processors so each revlog instance can support
         # custom flags.
-        self._flagprocessors = dict(_flagprocessors)
+        self._flagprocessors = dict(flagutil.flagprocessors)
 
         # 2-tuple of file handles being used for active writing.
         self._writinghandles = None
--- a/mercurial/revlogutils/flagutil.py	Thu Aug 08 01:03:01 2019 +0200
+++ b/mercurial/revlogutils/flagutil.py	Thu Aug 08 01:04:48 2019 +0200
@@ -28,4 +28,8 @@
 REVIDX_KNOWN_FLAGS
 REVIDX_RAWTEXT_CHANGING_FLAGS
 
+# Store flag processors (cf. 'addflagprocessor()' to register)
+flagprocessors = {
+    REVIDX_ISCENSORED: None,
+}
 
--- a/tests/test-flagprocessor.t	Thu Aug 08 01:03:01 2019 +0200
+++ b/tests/test-flagprocessor.t	Thu Aug 08 01:04:48 2019 +0200
@@ -206,7 +206,7 @@
     File "*/tests/flagprocessorext.py", line *, in extsetup (glob)
       validatehash,
     File "*/mercurial/revlog.py", line *, in addflagprocessor (glob)
-      _insertflagprocessor(flag, processor, _flagprocessors)
+      _insertflagprocessor(flag, processor, flagutil.flagprocessors)
     File "*/mercurial/revlog.py", line *, in _insertflagprocessor (glob)
       raise error.Abort(msg)
   mercurial.error.Abort: b"cannot register multiple processors on flag '0x8'." (py3 !)