[Checkins] SVN: zope.configuration/trunk/ Remove the deprecated 'zope.configuration.stxdocs' script.

Tres Seaver cvs-admin at zope.org
Thu Jul 26 19:50:36 UTC 2012


Log message for revision 127389:
  Remove the deprecated 'zope.configuration.stxdocs' script.
  

Changed:
  _U  zope.configuration/trunk/
  U   zope.configuration/trunk/CHANGES.txt
  D   zope.configuration/trunk/src/zope/configuration/stxdocs.py

-=-
Modified: zope.configuration/trunk/CHANGES.txt
===================================================================
--- zope.configuration/trunk/CHANGES.txt	2012-07-25 20:16:22 UTC (rev 127388)
+++ zope.configuration/trunk/CHANGES.txt	2012-07-26 19:50:32 UTC (rev 127389)
@@ -4,7 +4,7 @@
 4.0.1 (unreleased)
 ------------------
 
-- TBD
+- Removed the deprecated 'zope.configuration.stxdocs' script.
 
 4.0.0 (2012-05-16)
 ------------------

Deleted: zope.configuration/trunk/src/zope/configuration/stxdocs.py
===================================================================
--- zope.configuration/trunk/src/zope/configuration/stxdocs.py	2012-07-25 20:16:22 UTC (rev 127388)
+++ zope.configuration/trunk/src/zope/configuration/stxdocs.py	2012-07-26 19:50:32 UTC (rev 127389)
@@ -1,164 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2004 Zope Foundation and Contributors.
-# All Rights Reserved.
-#
-# This software is subject to the provisions of the Zope Public License,
-# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
-# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
-# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
-# FOR A PARTICULAR PURPOSE.
-#
-##############################################################################
-"""STX Configuration Documentation Renderer
-
-Usage: stxdocs.py [options]
-Options:
-    -h / --help
-        Print this message and exit.
-
-    -f <path>
-        Specifies the root ZCML meta directives file, relative to the current
-        location. All included files will be considered as well
-
-    -o <dir>
-        Specifies a directory, relative to the current location in which the
-        documentation is stored. Note that this tool will create
-        sub-directories with files in them. 
-"""
-# XXX This should be ripped out of the package.
-import sys, os, getopt
-import zope.configuration
-from zope.schema import getFieldsInOrder 
-from zope.configuration import config, xmlconfig
-from zope.configuration.docutils import wrap, makeDocStructures
-
-def usage(code, msg=''): #pragma NO COVER
-    # Python 2.1 required
-    print >> sys.stderr, __doc__
-    if msg:
-        print >> sys.stderr, msg
-    sys.exit(code)
-
-def _directiveDocs(name, schema, handler, info, indent_offset=0): #pragma NO COVER
-    """Generate the documentation for one directive."""
-
-    # Write out the name of the directive
-    text  = ' '*indent_offset
-    text +=  '%s\n\n' %name
-
-    # Specify the file and location it has been declared
-    if isinstance(info, xmlconfig.ParserInfo):
-        # We do not want to specify the whole path; starting at the 'zope'
-        # package is enough.
-        base_dir = os.path.dirname(os.path.dirname(
-            zope.configuration.__file__))[:-4]
-        file = info.file.replace(base_dir, '')
-
-        info_text = 'File %s, lines %i - %i.' %(file, info.line, info.eline)
-        text += wrap(info_text, 78, indent_offset+2)
-
-    elif isinstance(info, (str, unicode)) and info:
-        text += wrap(info, 78, indent_offset+2)
-
-    # Insert Handler information
-    if handler is not None:
-        handler_path = handler.__module__ + '.' + handler.__name__
-        text += wrap('Handler: %s' %handler_path, 78, indent_offset+2)
-
-    # Use the schema documentation string as main documentation text for the
-    # directive.
-    text += wrap(schema.getDoc(), 78, indent_offset+2)
-    text += ' '*indent_offset + '  Attributes\n\n'
-
-    # Create directive attribute documentation
-    for name, field in getFieldsInOrder(schema):
-        name = name.strip('_')
-        if field.required:
-            opt = 'required'
-        else:
-            opt = 'optional, default=%s' %repr(field.default)
-        text += ' '*indent_offset
-        text += '    %s -- %s (%s)\n\n' %(name, field.__class__.__name__, opt)
-
-        text += wrap(field.title, 78, indent_offset+6)
-        text += wrap(field.description, 78, indent_offset+6)
-
-    return text
-
-def _subDirectiveDocs(subdirs, namespace, name): #pragma NO COVER
-    """Appends a list of sub-directives and their full specification."""
-    if subdirs.has_key((namespace, name)):
-        text = '\n  Subdirectives\n\n'
-        sub_dirs = []
-        # Simply walk through all sub-directives here.
-        subs = subdirs[(namespace, name)]
-        for sd_ns, sd_name, sd_schema, sd_handler, sd_info in subs:
-            sub_dirs.append(_directiveDocs(
-                sd_name, sd_schema, sd_handler, sd_info, 4))
-
-        return text + '\n\n'.join(sub_dirs)
-    return ''
-
-def makedocs(target_dir, zcml_file): #pragma NO COVER
-    """Generate the documentation tree.
-
-    All we need for this is a starting ZCML file and a directory in which to
-    put the documentation.
-    """
-    context = xmlconfig.file(zcml_file, execute=False)
-    namespaces, subdirs = makeDocStructures(context)
-
-    for namespace, directives in namespaces.items():
-        ns_dir = os.path.join(target_dir, namespace.split('/')[-1])
-        # Create a directory for the namespace, if necessary
-        if not os.path.exists(ns_dir):
-            os.mkdir(ns_dir)
-
-        # Create a file for each directive
-        for name, (schema, handler, info) in directives.items():
-            dir_file = os.path.join(ns_dir, name+'.stx')
-            text = _directiveDocs(name, schema, handler, info)
-            text += _subDirectiveDocs(subdirs, namespace, name)
-            open(dir_file, 'w').write(text)
-
-def _makeabs(path): #pragma NO COVER
-    """Make an absolute path from the possibly relative path."""
-    if not path == os.path.abspath(path):
-        cwd = os.getcwd()
-        # This is for symlinks.
-        if os.environ.has_key('PWD'):
-            cwd = os.environ['PWD']
-        path = os.path.normpath(os.path.join(cwd, path))    
-    return path
-
-def main(argv=sys.argv): #pragma NO COVER
-    try:
-        opts, args = getopt.getopt(
-            sys.argv[1:],
-            'h:f:o:',
-            ['help'])
-    except getopt.error, msg:
-        usage(1, msg)
-
-    zcml_file = None
-    output_dir = None
-    for opt, arg in opts:
-        if opt in ('-h', '--help'):
-            usage(0)
-        elif opt in ('-o', ):
-            output_dir = arg
-        elif opt in ('-f', ):
-            zcml_file = _makeabs(arg)
-            if not os.path.exists(zcml_file):
-                usage(1, 'The specified zcml file does not exist.')
-
-    if zcml_file is None or output_dir is None:
-        usage(0, "Both, the '-f' and '-o' option are required")
-
-    # Generate the docs
-    makedocs(output_dir, zcml_file)
-
-if __name__ == '__main__': #pragma NO COVER
-    main()



More information about the checkins mailing list