[PATCH 2 of 4] extensions: factor extraction of synopses

Cédric Duval cedricduval at free.fr
Fri Jul 31 01:06:34 CDT 2009


# HG changeset patch
# User Cédric Duval <cedricduval at free.fr>
# Date 1249020240 -7200
# Node ID f106029efa922413437e594ed68da32909a9f42a
# Parent  be5a81430dd6903ac1497315cc49e0456d568a12
extensions: factor extraction of synopses

diff --git a/mercurial/extensions.py b/mercurial/extensions.py
--- a/mercurial/extensions.py
+++ b/mercurial/extensions.py
@@ -145,35 +145,23 @@
         mod = getattr(mod, name)
     return gettext(mod.__doc__) or _('(no help text available)')
 
+def synopses(names):
+    '''return a dict of {name: synopsis} from a list of extensions' names'''
+    exts = {}
+    maxlength = 0
+    for name in names:
+        maxlength = max(len(name), maxlength)
+        exts[name] = doc(name).splitlines()[0].strip()
+    return exts, maxlength
+
 def disabled():
     '''find disabled extensions from hgext
     returns a dict of {name: desc}, and the max name length'''
-
     import hgext
     extpath = os.path.dirname(os.path.abspath(hgext.__file__))
-
-    exts = {}
-    maxlength = 0
-    for name in listexts(extpath):
-        if name in _order:
-            continue
-
-        exts[name] = doc(name).splitlines()[0]
-
-        if len(name) > maxlength:
-            maxlength = len(name)
-
-    return exts, maxlength
+    names = listexts(extpath)
+    return synopses(names.difference(_order))
 
 def enabled():
     '''return a dict of {name: desc} of extensions, and the max name length'''
-    exts = {}
-    maxlength = 0
-    exthelps = []
-    for ename, ext in extensions():
-        doc = (gettext(ext.__doc__) or _('(no help text available)'))
-        ename = ename.split('.')[-1]
-        maxlength = max(len(ename), maxlength)
-        exts[ename] = doc.splitlines()[0].strip()
-
-    return exts, maxlength
+    return synopses(_order)



More information about the Mercurial-devel mailing list