From 01242e54ad5cd10b0d810ed2dc3e3d8489f16a7d Mon Sep 17 00:00:00 2001 From: Michael Howitz Date: Wed, 22 Jun 2022 09:14:18 +0200 Subject: [PATCH 1/2] Configuring for pure-python --- .coveragerc | 31 --- .editorconfig | 39 ++++ .github/workflows/tests.yml | 65 +++++++ .gitignore | 55 +++--- .meta.toml | 31 +++ .travis.yml | 31 --- CONTRIBUTING.md | 23 +++ MANIFEST.in | 33 ++-- bootstrap.py | 178 ------------------ {doc => docs}/Makefile | 0 {doc => docs}/changelog.rst | 0 {doc => docs}/conf.py | 0 {doc => docs}/developing-with-zconfig.rst | 0 {doc => docs}/documenting-components.rst | 0 {doc => docs}/index.rst | 0 {doc => docs}/logging-components.rst | 0 {doc => docs}/make.bat | 0 {doc => docs}/py-mod-cmdline.rst | 0 {doc => docs}/py-mod-datatypes.rst | 0 {doc => docs}/py-mod-loader.rst | 0 {doc => docs}/py-mod-subst.rst | 0 {doc => docs}/py-mod-zconfig.rst | 0 {doc => docs}/root-and-child-config.conf | 0 {doc => docs}/schema.dtd | 0 {doc => docs}/simple-root-config.conf | 0 {doc => docs}/standard-components.rst | 0 {doc => docs}/standard-datatypes.rst | 0 {doc => docs}/tools.rst | 0 {doc => docs}/using-logging.rst | 0 {doc => docs}/using-zconfig.rst | 0 {doc => docs}/writing-components.rst | 0 {doc => docs}/writing-schema.rst | 0 {doc => docs}/zconfig.rst | 0 setup.cfg | 30 ++- {ZConfig => src/ZConfig}/__init__.py | 0 {ZConfig => src/ZConfig}/_compat.py | 0 {ZConfig => src/ZConfig}/_schema_utils.py | 0 {ZConfig => src/ZConfig}/cfgparser.py | 0 {ZConfig => src/ZConfig}/cmdline.py | 0 .../ZConfig}/components/__init__.py | 0 .../ZConfig}/components/basic/__init__.py | 0 .../ZConfig}/components/basic/component.xml | 0 .../ZConfig}/components/basic/mapping.py | 0 .../ZConfig}/components/basic/mapping.xml | 0 .../components/basic/tests/__init__.py | 0 .../components/basic/tests/test_mapping.py | 0 .../ZConfig}/components/logger/__init__.py | 0 .../ZConfig}/components/logger/abstract.xml | 0 .../components/logger/base-logger.xml | 0 .../ZConfig}/components/logger/component.xml | 0 .../ZConfig}/components/logger/datatypes.py | 0 .../ZConfig}/components/logger/eventlog.xml | 0 .../ZConfig}/components/logger/factory.py | 0 .../ZConfig}/components/logger/formatter.py | 0 .../ZConfig}/components/logger/handlers.py | 0 .../ZConfig}/components/logger/handlers.xml | 0 .../ZConfig}/components/logger/logger.py | 0 .../ZConfig}/components/logger/logger.xml | 0 .../ZConfig}/components/logger/loghandler.py | 0 .../components/logger/tests/__init__.py | 0 .../components/logger/tests/support.py | 0 .../components/logger/tests/test_formatter.py | 0 .../components/logger/tests/test_logger.py | 0 {ZConfig => src/ZConfig}/datatypes.py | 0 {ZConfig => src/ZConfig}/info.py | 0 {ZConfig => src/ZConfig}/loader.py | 0 {ZConfig => src/ZConfig}/matcher.py | 0 {ZConfig => src/ZConfig}/pygments.py | 0 {ZConfig => src/ZConfig}/schema.py | 0 {ZConfig => src/ZConfig}/schema2html.py | 0 {ZConfig => src/ZConfig}/schemaless.py | 0 {ZConfig => src/ZConfig}/schemaless.txt | 0 {ZConfig => src/ZConfig}/sphinx.py | 0 {ZConfig => src/ZConfig}/substitution.py | 0 {ZConfig => src/ZConfig}/tests/__init__.py | 0 .../ZConfig}/tests/bad-component.xml | 0 .../ZConfig}/tests/bad-component2.xml | 0 {ZConfig => src/ZConfig}/tests/foosample.zip | Bin .../ZConfig}/tests/input/base-datatype1.xml | 0 .../ZConfig}/tests/input/base-datatype2.xml | 0 .../ZConfig}/tests/input/base-keytype1.xml | 0 .../ZConfig}/tests/input/base-keytype2.xml | 0 {ZConfig => src/ZConfig}/tests/input/base.xml | 0 .../ZConfig}/tests/input/include.conf | 0 .../ZConfig}/tests/input/inner.conf | 0 .../ZConfig}/tests/input/library.xml | 0 .../ZConfig}/tests/input/logger.xml | 0 .../ZConfig}/tests/input/non-ascii.txt | 0 .../ZConfig}/tests/input/outer.conf | 0 .../ZConfig}/tests/input/simple.conf | 0 .../ZConfig}/tests/input/simple.xml | 0 .../ZConfig}/tests/input/simplesections.conf | 0 .../ZConfig}/tests/input/simplesections.xml | 0 .../ZConfig}/tests/library/README.txt | 0 .../ZConfig}/tests/library/__init__.py | 0 .../ZConfig}/tests/library/thing/__init__.py | 0 .../tests/library/thing/component.xml | 0 .../tests/library/thing/extras/extras.xml | 0 .../ZConfig}/tests/library/widget/__init__.py | 0 .../tests/library/widget/component.xml | 0 .../ZConfig}/tests/library/widget/extra.xml | 0 .../ZConfig}/tests/sphinx_test_schema.xml | 0 {ZConfig => src/ZConfig}/tests/support.py | 0 .../ZConfig}/tests/test_cfgimports.py | 0 .../ZConfig}/tests/test_cmdline.py | 0 {ZConfig => src/ZConfig}/tests/test_config.py | 0 .../ZConfig}/tests/test_cookbook.py | 0 .../ZConfig}/tests/test_datatypes.py | 0 {ZConfig => src/ZConfig}/tests/test_info.py | 0 {ZConfig => src/ZConfig}/tests/test_loader.py | 0 .../ZConfig}/tests/test_matcher.py | 0 .../ZConfig}/tests/test_pygments.py | 0 {ZConfig => src/ZConfig}/tests/test_readme.py | 0 {ZConfig => src/ZConfig}/tests/test_schema.py | 0 .../ZConfig}/tests/test_schema2html.py | 0 .../ZConfig}/tests/test_schemaless.py | 0 {ZConfig => src/ZConfig}/tests/test_subst.py | 0 .../ZConfig}/tests/test_validator.py | 0 .../ZConfig}/tests/zipsource/README.txt | 0 .../ZConfig}/tests/zipsource/foo/__init__.py | 0 .../tests/zipsource/foo/sample/__init__.py | 0 .../tests/zipsource/foo/sample/component.xml | 0 .../tests/zipsource/foo/sample/datatypes.py | 0 {ZConfig => src/ZConfig}/url.py | 0 {ZConfig => src/ZConfig}/validator.py | 0 tox.ini | 102 +++++++--- 126 files changed, 304 insertions(+), 314 deletions(-) delete mode 100644 .coveragerc create mode 100644 .editorconfig create mode 100644 .github/workflows/tests.yml create mode 100644 .meta.toml delete mode 100644 .travis.yml create mode 100644 CONTRIBUTING.md delete mode 100644 bootstrap.py rename {doc => docs}/Makefile (100%) rename {doc => docs}/changelog.rst (100%) rename {doc => docs}/conf.py (100%) rename {doc => docs}/developing-with-zconfig.rst (100%) rename {doc => docs}/documenting-components.rst (100%) rename {doc => docs}/index.rst (100%) rename {doc => docs}/logging-components.rst (100%) rename {doc => docs}/make.bat (100%) rename {doc => docs}/py-mod-cmdline.rst (100%) rename {doc => docs}/py-mod-datatypes.rst (100%) rename {doc => docs}/py-mod-loader.rst (100%) rename {doc => docs}/py-mod-subst.rst (100%) rename {doc => docs}/py-mod-zconfig.rst (100%) rename {doc => docs}/root-and-child-config.conf (100%) rename {doc => docs}/schema.dtd (100%) rename {doc => docs}/simple-root-config.conf (100%) rename {doc => docs}/standard-components.rst (100%) rename {doc => docs}/standard-datatypes.rst (100%) rename {doc => docs}/tools.rst (100%) rename {doc => docs}/using-logging.rst (100%) rename {doc => docs}/using-zconfig.rst (100%) rename {doc => docs}/writing-components.rst (100%) rename {doc => docs}/writing-schema.rst (100%) rename {doc => docs}/zconfig.rst (100%) rename {ZConfig => src/ZConfig}/__init__.py (100%) rename {ZConfig => src/ZConfig}/_compat.py (100%) rename {ZConfig => src/ZConfig}/_schema_utils.py (100%) rename {ZConfig => src/ZConfig}/cfgparser.py (100%) rename {ZConfig => src/ZConfig}/cmdline.py (100%) rename {ZConfig => src/ZConfig}/components/__init__.py (100%) rename {ZConfig => src/ZConfig}/components/basic/__init__.py (100%) rename {ZConfig => src/ZConfig}/components/basic/component.xml (100%) rename {ZConfig => src/ZConfig}/components/basic/mapping.py (100%) rename {ZConfig => src/ZConfig}/components/basic/mapping.xml (100%) rename {ZConfig => src/ZConfig}/components/basic/tests/__init__.py (100%) rename {ZConfig => src/ZConfig}/components/basic/tests/test_mapping.py (100%) rename {ZConfig => src/ZConfig}/components/logger/__init__.py (100%) rename {ZConfig => src/ZConfig}/components/logger/abstract.xml (100%) rename {ZConfig => src/ZConfig}/components/logger/base-logger.xml (100%) rename {ZConfig => src/ZConfig}/components/logger/component.xml (100%) rename {ZConfig => src/ZConfig}/components/logger/datatypes.py (100%) rename {ZConfig => src/ZConfig}/components/logger/eventlog.xml (100%) rename {ZConfig => src/ZConfig}/components/logger/factory.py (100%) rename {ZConfig => src/ZConfig}/components/logger/formatter.py (100%) rename {ZConfig => src/ZConfig}/components/logger/handlers.py (100%) rename {ZConfig => src/ZConfig}/components/logger/handlers.xml (100%) rename {ZConfig => src/ZConfig}/components/logger/logger.py (100%) rename {ZConfig => src/ZConfig}/components/logger/logger.xml (100%) rename {ZConfig => src/ZConfig}/components/logger/loghandler.py (100%) rename {ZConfig => src/ZConfig}/components/logger/tests/__init__.py (100%) rename {ZConfig => src/ZConfig}/components/logger/tests/support.py (100%) rename {ZConfig => src/ZConfig}/components/logger/tests/test_formatter.py (100%) rename {ZConfig => src/ZConfig}/components/logger/tests/test_logger.py (100%) rename {ZConfig => src/ZConfig}/datatypes.py (100%) rename {ZConfig => src/ZConfig}/info.py (100%) rename {ZConfig => src/ZConfig}/loader.py (100%) rename {ZConfig => src/ZConfig}/matcher.py (100%) rename {ZConfig => src/ZConfig}/pygments.py (100%) rename {ZConfig => src/ZConfig}/schema.py (100%) rename {ZConfig => src/ZConfig}/schema2html.py (100%) rename {ZConfig => src/ZConfig}/schemaless.py (100%) rename {ZConfig => src/ZConfig}/schemaless.txt (100%) rename {ZConfig => src/ZConfig}/sphinx.py (100%) rename {ZConfig => src/ZConfig}/substitution.py (100%) rename {ZConfig => src/ZConfig}/tests/__init__.py (100%) rename {ZConfig => src/ZConfig}/tests/bad-component.xml (100%) rename {ZConfig => src/ZConfig}/tests/bad-component2.xml (100%) rename {ZConfig => src/ZConfig}/tests/foosample.zip (100%) rename {ZConfig => src/ZConfig}/tests/input/base-datatype1.xml (100%) rename {ZConfig => src/ZConfig}/tests/input/base-datatype2.xml (100%) rename {ZConfig => src/ZConfig}/tests/input/base-keytype1.xml (100%) rename {ZConfig => src/ZConfig}/tests/input/base-keytype2.xml (100%) rename {ZConfig => src/ZConfig}/tests/input/base.xml (100%) rename {ZConfig => src/ZConfig}/tests/input/include.conf (100%) rename {ZConfig => src/ZConfig}/tests/input/inner.conf (100%) rename {ZConfig => src/ZConfig}/tests/input/library.xml (100%) rename {ZConfig => src/ZConfig}/tests/input/logger.xml (100%) rename {ZConfig => src/ZConfig}/tests/input/non-ascii.txt (100%) rename {ZConfig => src/ZConfig}/tests/input/outer.conf (100%) rename {ZConfig => src/ZConfig}/tests/input/simple.conf (100%) rename {ZConfig => src/ZConfig}/tests/input/simple.xml (100%) rename {ZConfig => src/ZConfig}/tests/input/simplesections.conf (100%) rename {ZConfig => src/ZConfig}/tests/input/simplesections.xml (100%) rename {ZConfig => src/ZConfig}/tests/library/README.txt (100%) rename {ZConfig => src/ZConfig}/tests/library/__init__.py (100%) rename {ZConfig => src/ZConfig}/tests/library/thing/__init__.py (100%) rename {ZConfig => src/ZConfig}/tests/library/thing/component.xml (100%) rename {ZConfig => src/ZConfig}/tests/library/thing/extras/extras.xml (100%) rename {ZConfig => src/ZConfig}/tests/library/widget/__init__.py (100%) rename {ZConfig => src/ZConfig}/tests/library/widget/component.xml (100%) rename {ZConfig => src/ZConfig}/tests/library/widget/extra.xml (100%) rename {ZConfig => src/ZConfig}/tests/sphinx_test_schema.xml (100%) rename {ZConfig => src/ZConfig}/tests/support.py (100%) rename {ZConfig => src/ZConfig}/tests/test_cfgimports.py (100%) rename {ZConfig => src/ZConfig}/tests/test_cmdline.py (100%) rename {ZConfig => src/ZConfig}/tests/test_config.py (100%) rename {ZConfig => src/ZConfig}/tests/test_cookbook.py (100%) rename {ZConfig => src/ZConfig}/tests/test_datatypes.py (100%) rename {ZConfig => src/ZConfig}/tests/test_info.py (100%) rename {ZConfig => src/ZConfig}/tests/test_loader.py (100%) rename {ZConfig => src/ZConfig}/tests/test_matcher.py (100%) rename {ZConfig => src/ZConfig}/tests/test_pygments.py (100%) rename {ZConfig => src/ZConfig}/tests/test_readme.py (100%) rename {ZConfig => src/ZConfig}/tests/test_schema.py (100%) rename {ZConfig => src/ZConfig}/tests/test_schema2html.py (100%) rename {ZConfig => src/ZConfig}/tests/test_schemaless.py (100%) rename {ZConfig => src/ZConfig}/tests/test_subst.py (100%) rename {ZConfig => src/ZConfig}/tests/test_validator.py (100%) rename {ZConfig => src/ZConfig}/tests/zipsource/README.txt (100%) rename {ZConfig => src/ZConfig}/tests/zipsource/foo/__init__.py (100%) rename {ZConfig => src/ZConfig}/tests/zipsource/foo/sample/__init__.py (100%) rename {ZConfig => src/ZConfig}/tests/zipsource/foo/sample/component.xml (100%) rename {ZConfig => src/ZConfig}/tests/zipsource/foo/sample/datatypes.py (100%) rename {ZConfig => src/ZConfig}/url.py (100%) rename {ZConfig => src/ZConfig}/validator.py (100%) diff --git a/.coveragerc b/.coveragerc deleted file mode 100644 index d19619c..0000000 --- a/.coveragerc +++ /dev/null @@ -1,31 +0,0 @@ -[run] -branch = true - -# This is not as helpful as it may seem, because the parent directory is -# likely also named ZConfig, so this matches things like -# /path/to/ZConfig/.tox/py*/lib/* -source = ZConfig - -# datatypes.py is dynamically-created in a temporary directory and then -# removed, which makes coverage reporting unhappy. -omit = - */datatypes.py - .tox/* - ZConfig/components/basic/tests/* - ZConfig/components/logger/tests/* - ZConfig/tests/* - -[report] -# Coverage is run on Py2 and Py3 -# on POSIX platforms, so omit Windows-specific -# things. Omit the main methods of test files. -exclude_lines = - pragma: no cover - class Win32 - if os.name == 'nt': - if os.name == "nt": - if sys.platform == 'win32': - if sys.platform\[:3\] == "win": - if __name__ == "__main__": - if __name__ == '__main__': -precision = 1 diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..c5508b9 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,39 @@ +# Generated from: +# https://github.com/zopefoundation/meta/tree/master/config/pure-python +# +# EditorConfig Configuration file, for more details see: +# http://EditorConfig.org +# EditorConfig is a convention description, that could be interpreted +# by multiple editors to enforce common coding conventions for specific +# file types + +# top-most EditorConfig file: +# Will ignore other EditorConfig files in Home directory or upper tree level. +root = true + + +[*] # For All Files +# Unix-style newlines with a newline ending every file +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +# Set default charset +charset = utf-8 +# Indent style default +indent_style = space +# Max Line Length - a hard line wrap, should be disabled +max_line_length = off + +[*.{py,cfg,ini}] +# 4 space indentation +indent_size = 4 + +[*.{yml,zpt,pt,dtml,zcml}] +# 2 space indentation +indent_size = 2 + +[{Makefile,.gitmodules}] +# Tab indentation (no size specified, but view as 4 spaces) +indent_style = tab +indent_size = unset +tab_width = unset diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..f9f622d --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,65 @@ +# Generated from: +# https://github.com/zopefoundation/meta/tree/master/config/pure-python +name: tests + +on: + push: + pull_request: + schedule: + - cron: '0 12 * * 0' # run once a week on Sunday + # Allow to run this workflow manually from the Actions tab + workflow_dispatch: + +jobs: + build: + strategy: + # We want to see all failures: + fail-fast: false + matrix: + os: + - ubuntu + config: + # [Python version, tox env] + - ["3.9", "lint"] + - ["2.7", "py27"] + - ["3.5", "py35"] + - ["3.6", "py36"] + - ["3.7", "py37"] + - ["3.8", "py38"] + - ["3.9", "py39"] + - ["3.10", "py310"] + - ["pypy-2.7", "pypy"] + - ["pypy-3.7", "pypy3"] + - ["3.9", "docs"] + - ["3.9", "coverage"] + + runs-on: ${{ matrix.os }}-latest + if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name + name: ${{ matrix.config[1] }} + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.config[0] }} + - name: Pip cache + uses: actions/cache@v2 + with: + path: ~/.cache/pip + key: ${{ runner.os }}-pip-${{ matrix.config[0] }}-${{ hashFiles('setup.*', 'tox.ini') }} + restore-keys: | + ${{ runner.os }}-pip-${{ matrix.config[0] }}- + ${{ runner.os }}-pip- + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install tox + - name: Test + run: tox -e ${{ matrix.config[1] }} + - name: Coverage + if: matrix.config[1] == 'coverage' + run: | + pip install coveralls coverage-python-version + coveralls --service=github + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index bda5b5b..1f321f5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,27 +1,32 @@ +# Generated from: +# https://github.com/zopefoundation/meta/tree/master/config/pure-python +*.dll +*.egg-info/ +*.profraw *.pyc -/.cache/ -/.tox/ -/build/ -/dist/ -/doc/_build -ZConfig.egg-info +*.pyo +*.so +.coverage +.coverage.* +.eggs/ +.installed.cfg +.mr.developer.cfg +.tox/ +.vscode/ __pycache__/ -nosetests.xml - -# Buildout -# -/.installed.cfg -/bin/ -/develop-eggs/ -/eggs/ -/parts/ - -# Coverage -# -# No / at the end of htmlcov so it can be a symlink that points to some -# more interesting location (possibly served by a webserver). -# -/.coverage -/.coverage.* -/coverage.xml -/htmlcov +bin/ +build/ +coverage.xml +develop-eggs/ +develop/ +dist/ +docs/_build +eggs/ +etc/ +lib/ +lib64 +log/ +parts/ +pyvenv.cfg +testing.log +var/ diff --git a/.meta.toml b/.meta.toml new file mode 100644 index 0000000..7c856a2 --- /dev/null +++ b/.meta.toml @@ -0,0 +1,31 @@ +# Generated from: +# https://github.com/zopefoundation/meta/tree/master/config/pure-python +[meta] +template = "pure-python" +commit-id = "b4cfc9ca6065ca82646fa69d04ee4c15c58035e1" + +[python] +with-windows = false +with-pypy = true +with-future-python = false +with-legacy-python = true +with-docs = true +with-sphinx-doctests = false + +[tox] +use-flake8 = true + +[coverage] +fail-under = 95 + +[manifest] +additional-rules = [ + "include *.yml", + "recursive-include docs *.bat", + "recursive-include docs *.conf", + "recursive-include docs *.dtd", + "recursive-include src *.conf", + "recursive-include src *.txt", + "recursive-include src *.xml", + "recursive-include src *.zip", + ] diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index b9e9349..0000000 --- a/.travis.yml +++ /dev/null @@ -1,31 +0,0 @@ -language: python -sudo: false -dist: xenial -python: - - 2.7 - - 3.4 - - 3.5 - - 3.6 - - 3.7 - - 3.8 - - 3.9 - - pypy - - pypy3 - -install: - - pip install -U pip setuptools - - pip install -U coverage coveralls - - pip install -U flake8 - - pip install -U pygments - - pip install -U -e .[test] -script: - - coverage run -m zope.testrunner --test-path=. - - flake8 setup.py ZConfig -notifications: - email: false -after_success: - - coveralls - -cache: pip -before_cache: - - rm -f $HOME/.cache/pip/log/debug.log diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..31d95f0 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,23 @@ + +# Contributing to zopefoundation projects + +The projects under the zopefoundation GitHub organization are open source and +welcome contributions in different forms: + +* bug reports +* code improvements and bug fixes +* documentation improvements +* pull request reviews + +For any changes in the repository besides trivial typo fixes you are required +to sign the contributor agreement. See +https://www.zope.dev/developer/becoming-a-committer.html for details. + +Please visit our [Developer +Guidelines](https://www.zope.dev/developer/guidelines.html) if you'd like to +contribute code changes and our [guidelines for reporting +bugs](https://www.zope.dev/developer/reporting-bugs.html) if you want to file a +bug report. diff --git a/MANIFEST.in b/MANIFEST.in index bdd971e..808a75e 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,21 +1,22 @@ +# Generated from: +# https://github.com/zopefoundation/meta/tree/master/config/pure-python +include *.md include *.rst include *.txt -include *.yml -include .travis.yml -include .coveragerc -include tox.ini -include bootstrap.py include buildout.cfg +include tox.ini -recursive-include ZConfig * -recursive-include doc *.py -recursive-include doc *.rst -recursive-include doc *.dtd -recursive-include doc *.conf -recursive-include doc Makefile -recursive-include doc make.bat - -prune doc/_build +recursive-include docs *.py +recursive-include docs *.rst +recursive-include docs *.txt +recursive-include docs Makefile -global-exclude *.pyc -global-exclude *.pyo +recursive-include src *.py +include *.yml +recursive-include docs *.bat +recursive-include docs *.conf +recursive-include docs *.dtd +recursive-include src *.conf +recursive-include src *.txt +recursive-include src *.xml +recursive-include src *.zip diff --git a/bootstrap.py b/bootstrap.py deleted file mode 100644 index ed57894..0000000 --- a/bootstrap.py +++ /dev/null @@ -1,178 +0,0 @@ -############################################################################## -# -# Copyright (c) 2006 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. -# -############################################################################## -"""Bootstrap a buildout-based project - -Simply run this script in a directory containing a buildout.cfg. -The script accepts buildout command-line options, so you can -use the -c option to specify an alternate configuration file. -""" - -import os -import shutil -import sys -import tempfile - -from optparse import OptionParser - -tmpeggs = tempfile.mkdtemp() - -usage = '''\ -[DESIRED PYTHON FOR BUILDOUT] bootstrap.py [options] - -Bootstraps a buildout-based project. - -Simply run this script in a directory containing a buildout.cfg, using the -Python that you want bin/buildout to use. - -Note that by using --find-links to point to local resources, you can keep -this script from going over the network. -''' - -parser = OptionParser(usage=usage) -parser.add_option("-v", "--version", help="use a specific zc.buildout version") - -parser.add_option("-t", "--accept-buildout-test-releases", - dest='accept_buildout_test_releases', - action="store_true", default=False, - help=("Normally, if you do not specify a --version, the " - "bootstrap script and buildout gets the newest " - "*final* versions of zc.buildout and its recipes and " - "extensions for you. If you use this flag, " - "bootstrap and buildout will get the newest releases " - "even if they are alphas or betas.")) -parser.add_option("-c", "--config-file", - help=("Specify the path to the buildout configuration " - "file to be used.")) -parser.add_option("-f", "--find-links", - help=("Specify a URL to search for buildout releases")) -parser.add_option("--allow-site-packages", - action="store_true", default=False, - help=("Let bootstrap.py use existing site packages")) - - -options, args = parser.parse_args() - -###################################################################### -# load/install setuptools - -try: - if options.allow_site_packages: - import setuptools - import pkg_resources - from urllib.request import urlopen -except ImportError: - from urllib2 import urlopen - -ez = {} -exec(urlopen('https://bootstrap.pypa.io/ez_setup.py').read(), ez) - -if not options.allow_site_packages: - # ez_setup imports site, which adds site packages - # this will remove them from the path to ensure that incompatible versions - # of setuptools are not in the path - import site - # inside a virtualenv, there is no 'getsitepackages'. - # We can't remove these reliably - if hasattr(site, 'getsitepackages'): - for sitepackage_path in site.getsitepackages(): - sys.path[:] = [x for x in sys.path if sitepackage_path not in x] - -setup_args = dict(to_dir=tmpeggs, download_delay=0) -ez['use_setuptools'](**setup_args) -import setuptools -import pkg_resources - -# This does not (always?) update the default working set. We will -# do it. -for path in sys.path: - if path not in pkg_resources.working_set.entries: - pkg_resources.working_set.add_entry(path) - -###################################################################### -# Install buildout - -ws = pkg_resources.working_set - -cmd = [sys.executable, '-c', - 'from setuptools.command.easy_install import main; main()', - '-mZqNxd', tmpeggs] - -find_links = os.environ.get( - 'bootstrap-testing-find-links', - options.find_links or - ('http://downloads.buildout.org/' - if options.accept_buildout_test_releases else None) - ) -if find_links: - cmd.extend(['-f', find_links]) - -setuptools_path = ws.find( - pkg_resources.Requirement.parse('setuptools')).location - -requirement = 'zc.buildout' -version = options.version -if version is None and not options.accept_buildout_test_releases: - # Figure out the most recent final version of zc.buildout. - import setuptools.package_index - _final_parts = '*final-', '*final' - - def _final_version(parsed_version): - for part in parsed_version: - if (part[:1] == '*') and (part not in _final_parts): - return False - return True - index = setuptools.package_index.PackageIndex( - search_path=[setuptools_path]) - if find_links: - index.add_find_links((find_links,)) - req = pkg_resources.Requirement.parse(requirement) - if index.obtain(req) is not None: - best = [] - bestv = None - for dist in index[req.project_name]: - distv = dist.parsed_version - if _final_version(distv): - if bestv is None or distv > bestv: - best = [dist] - bestv = distv - elif distv == bestv: - best.append(dist) - if best: - best.sort() - version = best[-1].version -if version: - requirement = '=='.join((requirement, version)) -cmd.append(requirement) - -import subprocess -if subprocess.call(cmd, env=dict(os.environ, PYTHONPATH=setuptools_path)) != 0: - raise Exception( - "Failed to execute command:\n%s" % repr(cmd)[1:-1]) - -###################################################################### -# Import and run buildout - -ws.add_entry(tmpeggs) -ws.require(requirement) -import zc.buildout.buildout - -if not [a for a in args if '=' not in a]: - args.append('bootstrap') - -# if -c was provided, we push it back into args for buildout' main function -if options.config_file is not None: - args[0:0] = ['-c', options.config_file] - -zc.buildout.buildout.main(args) -shutil.rmtree(tmpeggs) diff --git a/doc/Makefile b/docs/Makefile similarity index 100% rename from doc/Makefile rename to docs/Makefile diff --git a/doc/changelog.rst b/docs/changelog.rst similarity index 100% rename from doc/changelog.rst rename to docs/changelog.rst diff --git a/doc/conf.py b/docs/conf.py similarity index 100% rename from doc/conf.py rename to docs/conf.py diff --git a/doc/developing-with-zconfig.rst b/docs/developing-with-zconfig.rst similarity index 100% rename from doc/developing-with-zconfig.rst rename to docs/developing-with-zconfig.rst diff --git a/doc/documenting-components.rst b/docs/documenting-components.rst similarity index 100% rename from doc/documenting-components.rst rename to docs/documenting-components.rst diff --git a/doc/index.rst b/docs/index.rst similarity index 100% rename from doc/index.rst rename to docs/index.rst diff --git a/doc/logging-components.rst b/docs/logging-components.rst similarity index 100% rename from doc/logging-components.rst rename to docs/logging-components.rst diff --git a/doc/make.bat b/docs/make.bat similarity index 100% rename from doc/make.bat rename to docs/make.bat diff --git a/doc/py-mod-cmdline.rst b/docs/py-mod-cmdline.rst similarity index 100% rename from doc/py-mod-cmdline.rst rename to docs/py-mod-cmdline.rst diff --git a/doc/py-mod-datatypes.rst b/docs/py-mod-datatypes.rst similarity index 100% rename from doc/py-mod-datatypes.rst rename to docs/py-mod-datatypes.rst diff --git a/doc/py-mod-loader.rst b/docs/py-mod-loader.rst similarity index 100% rename from doc/py-mod-loader.rst rename to docs/py-mod-loader.rst diff --git a/doc/py-mod-subst.rst b/docs/py-mod-subst.rst similarity index 100% rename from doc/py-mod-subst.rst rename to docs/py-mod-subst.rst diff --git a/doc/py-mod-zconfig.rst b/docs/py-mod-zconfig.rst similarity index 100% rename from doc/py-mod-zconfig.rst rename to docs/py-mod-zconfig.rst diff --git a/doc/root-and-child-config.conf b/docs/root-and-child-config.conf similarity index 100% rename from doc/root-and-child-config.conf rename to docs/root-and-child-config.conf diff --git a/doc/schema.dtd b/docs/schema.dtd similarity index 100% rename from doc/schema.dtd rename to docs/schema.dtd diff --git a/doc/simple-root-config.conf b/docs/simple-root-config.conf similarity index 100% rename from doc/simple-root-config.conf rename to docs/simple-root-config.conf diff --git a/doc/standard-components.rst b/docs/standard-components.rst similarity index 100% rename from doc/standard-components.rst rename to docs/standard-components.rst diff --git a/doc/standard-datatypes.rst b/docs/standard-datatypes.rst similarity index 100% rename from doc/standard-datatypes.rst rename to docs/standard-datatypes.rst diff --git a/doc/tools.rst b/docs/tools.rst similarity index 100% rename from doc/tools.rst rename to docs/tools.rst diff --git a/doc/using-logging.rst b/docs/using-logging.rst similarity index 100% rename from doc/using-logging.rst rename to docs/using-logging.rst diff --git a/doc/using-zconfig.rst b/docs/using-zconfig.rst similarity index 100% rename from doc/using-zconfig.rst rename to docs/using-zconfig.rst diff --git a/doc/writing-components.rst b/docs/writing-components.rst similarity index 100% rename from doc/writing-components.rst rename to docs/writing-components.rst diff --git a/doc/writing-schema.rst b/docs/writing-schema.rst similarity index 100% rename from doc/writing-schema.rst rename to docs/writing-schema.rst diff --git a/doc/zconfig.rst b/docs/zconfig.rst similarity index 100% rename from doc/zconfig.rst rename to docs/zconfig.rst diff --git a/setup.cfg b/setup.cfg index c683dbc..1ecf58c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,10 +1,24 @@ -[bdist_rpm] -doc_files = - LICENSE.txt - CHANGES.txt - README.txt - doc/schema.dtd - doc/zconfig.pdf - +# Generated from: +# https://github.com/zopefoundation/meta/tree/master/config/pure-python [bdist_wheel] universal = 1 + +[flake8] +doctests = 1 + +[check-manifest] +ignore = + .editorconfig + .meta.toml + docs/_build/html/_sources/* + +[isort] +force_single_line = True +combine_as_imports = True +sections = FUTURE,STDLIB,THIRDPARTY,ZOPE,FIRSTPARTY,LOCALFOLDER +known_third_party = six, docutils, pkg_resources +known_zope = +known_first_party = +default_section = ZOPE +line_length = 79 +lines_after_imports = 2 diff --git a/ZConfig/__init__.py b/src/ZConfig/__init__.py similarity index 100% rename from ZConfig/__init__.py rename to src/ZConfig/__init__.py diff --git a/ZConfig/_compat.py b/src/ZConfig/_compat.py similarity index 100% rename from ZConfig/_compat.py rename to src/ZConfig/_compat.py diff --git a/ZConfig/_schema_utils.py b/src/ZConfig/_schema_utils.py similarity index 100% rename from ZConfig/_schema_utils.py rename to src/ZConfig/_schema_utils.py diff --git a/ZConfig/cfgparser.py b/src/ZConfig/cfgparser.py similarity index 100% rename from ZConfig/cfgparser.py rename to src/ZConfig/cfgparser.py diff --git a/ZConfig/cmdline.py b/src/ZConfig/cmdline.py similarity index 100% rename from ZConfig/cmdline.py rename to src/ZConfig/cmdline.py diff --git a/ZConfig/components/__init__.py b/src/ZConfig/components/__init__.py similarity index 100% rename from ZConfig/components/__init__.py rename to src/ZConfig/components/__init__.py diff --git a/ZConfig/components/basic/__init__.py b/src/ZConfig/components/basic/__init__.py similarity index 100% rename from ZConfig/components/basic/__init__.py rename to src/ZConfig/components/basic/__init__.py diff --git a/ZConfig/components/basic/component.xml b/src/ZConfig/components/basic/component.xml similarity index 100% rename from ZConfig/components/basic/component.xml rename to src/ZConfig/components/basic/component.xml diff --git a/ZConfig/components/basic/mapping.py b/src/ZConfig/components/basic/mapping.py similarity index 100% rename from ZConfig/components/basic/mapping.py rename to src/ZConfig/components/basic/mapping.py diff --git a/ZConfig/components/basic/mapping.xml b/src/ZConfig/components/basic/mapping.xml similarity index 100% rename from ZConfig/components/basic/mapping.xml rename to src/ZConfig/components/basic/mapping.xml diff --git a/ZConfig/components/basic/tests/__init__.py b/src/ZConfig/components/basic/tests/__init__.py similarity index 100% rename from ZConfig/components/basic/tests/__init__.py rename to src/ZConfig/components/basic/tests/__init__.py diff --git a/ZConfig/components/basic/tests/test_mapping.py b/src/ZConfig/components/basic/tests/test_mapping.py similarity index 100% rename from ZConfig/components/basic/tests/test_mapping.py rename to src/ZConfig/components/basic/tests/test_mapping.py diff --git a/ZConfig/components/logger/__init__.py b/src/ZConfig/components/logger/__init__.py similarity index 100% rename from ZConfig/components/logger/__init__.py rename to src/ZConfig/components/logger/__init__.py diff --git a/ZConfig/components/logger/abstract.xml b/src/ZConfig/components/logger/abstract.xml similarity index 100% rename from ZConfig/components/logger/abstract.xml rename to src/ZConfig/components/logger/abstract.xml diff --git a/ZConfig/components/logger/base-logger.xml b/src/ZConfig/components/logger/base-logger.xml similarity index 100% rename from ZConfig/components/logger/base-logger.xml rename to src/ZConfig/components/logger/base-logger.xml diff --git a/ZConfig/components/logger/component.xml b/src/ZConfig/components/logger/component.xml similarity index 100% rename from ZConfig/components/logger/component.xml rename to src/ZConfig/components/logger/component.xml diff --git a/ZConfig/components/logger/datatypes.py b/src/ZConfig/components/logger/datatypes.py similarity index 100% rename from ZConfig/components/logger/datatypes.py rename to src/ZConfig/components/logger/datatypes.py diff --git a/ZConfig/components/logger/eventlog.xml b/src/ZConfig/components/logger/eventlog.xml similarity index 100% rename from ZConfig/components/logger/eventlog.xml rename to src/ZConfig/components/logger/eventlog.xml diff --git a/ZConfig/components/logger/factory.py b/src/ZConfig/components/logger/factory.py similarity index 100% rename from ZConfig/components/logger/factory.py rename to src/ZConfig/components/logger/factory.py diff --git a/ZConfig/components/logger/formatter.py b/src/ZConfig/components/logger/formatter.py similarity index 100% rename from ZConfig/components/logger/formatter.py rename to src/ZConfig/components/logger/formatter.py diff --git a/ZConfig/components/logger/handlers.py b/src/ZConfig/components/logger/handlers.py similarity index 100% rename from ZConfig/components/logger/handlers.py rename to src/ZConfig/components/logger/handlers.py diff --git a/ZConfig/components/logger/handlers.xml b/src/ZConfig/components/logger/handlers.xml similarity index 100% rename from ZConfig/components/logger/handlers.xml rename to src/ZConfig/components/logger/handlers.xml diff --git a/ZConfig/components/logger/logger.py b/src/ZConfig/components/logger/logger.py similarity index 100% rename from ZConfig/components/logger/logger.py rename to src/ZConfig/components/logger/logger.py diff --git a/ZConfig/components/logger/logger.xml b/src/ZConfig/components/logger/logger.xml similarity index 100% rename from ZConfig/components/logger/logger.xml rename to src/ZConfig/components/logger/logger.xml diff --git a/ZConfig/components/logger/loghandler.py b/src/ZConfig/components/logger/loghandler.py similarity index 100% rename from ZConfig/components/logger/loghandler.py rename to src/ZConfig/components/logger/loghandler.py diff --git a/ZConfig/components/logger/tests/__init__.py b/src/ZConfig/components/logger/tests/__init__.py similarity index 100% rename from ZConfig/components/logger/tests/__init__.py rename to src/ZConfig/components/logger/tests/__init__.py diff --git a/ZConfig/components/logger/tests/support.py b/src/ZConfig/components/logger/tests/support.py similarity index 100% rename from ZConfig/components/logger/tests/support.py rename to src/ZConfig/components/logger/tests/support.py diff --git a/ZConfig/components/logger/tests/test_formatter.py b/src/ZConfig/components/logger/tests/test_formatter.py similarity index 100% rename from ZConfig/components/logger/tests/test_formatter.py rename to src/ZConfig/components/logger/tests/test_formatter.py diff --git a/ZConfig/components/logger/tests/test_logger.py b/src/ZConfig/components/logger/tests/test_logger.py similarity index 100% rename from ZConfig/components/logger/tests/test_logger.py rename to src/ZConfig/components/logger/tests/test_logger.py diff --git a/ZConfig/datatypes.py b/src/ZConfig/datatypes.py similarity index 100% rename from ZConfig/datatypes.py rename to src/ZConfig/datatypes.py diff --git a/ZConfig/info.py b/src/ZConfig/info.py similarity index 100% rename from ZConfig/info.py rename to src/ZConfig/info.py diff --git a/ZConfig/loader.py b/src/ZConfig/loader.py similarity index 100% rename from ZConfig/loader.py rename to src/ZConfig/loader.py diff --git a/ZConfig/matcher.py b/src/ZConfig/matcher.py similarity index 100% rename from ZConfig/matcher.py rename to src/ZConfig/matcher.py diff --git a/ZConfig/pygments.py b/src/ZConfig/pygments.py similarity index 100% rename from ZConfig/pygments.py rename to src/ZConfig/pygments.py diff --git a/ZConfig/schema.py b/src/ZConfig/schema.py similarity index 100% rename from ZConfig/schema.py rename to src/ZConfig/schema.py diff --git a/ZConfig/schema2html.py b/src/ZConfig/schema2html.py similarity index 100% rename from ZConfig/schema2html.py rename to src/ZConfig/schema2html.py diff --git a/ZConfig/schemaless.py b/src/ZConfig/schemaless.py similarity index 100% rename from ZConfig/schemaless.py rename to src/ZConfig/schemaless.py diff --git a/ZConfig/schemaless.txt b/src/ZConfig/schemaless.txt similarity index 100% rename from ZConfig/schemaless.txt rename to src/ZConfig/schemaless.txt diff --git a/ZConfig/sphinx.py b/src/ZConfig/sphinx.py similarity index 100% rename from ZConfig/sphinx.py rename to src/ZConfig/sphinx.py diff --git a/ZConfig/substitution.py b/src/ZConfig/substitution.py similarity index 100% rename from ZConfig/substitution.py rename to src/ZConfig/substitution.py diff --git a/ZConfig/tests/__init__.py b/src/ZConfig/tests/__init__.py similarity index 100% rename from ZConfig/tests/__init__.py rename to src/ZConfig/tests/__init__.py diff --git a/ZConfig/tests/bad-component.xml b/src/ZConfig/tests/bad-component.xml similarity index 100% rename from ZConfig/tests/bad-component.xml rename to src/ZConfig/tests/bad-component.xml diff --git a/ZConfig/tests/bad-component2.xml b/src/ZConfig/tests/bad-component2.xml similarity index 100% rename from ZConfig/tests/bad-component2.xml rename to src/ZConfig/tests/bad-component2.xml diff --git a/ZConfig/tests/foosample.zip b/src/ZConfig/tests/foosample.zip similarity index 100% rename from ZConfig/tests/foosample.zip rename to src/ZConfig/tests/foosample.zip diff --git a/ZConfig/tests/input/base-datatype1.xml b/src/ZConfig/tests/input/base-datatype1.xml similarity index 100% rename from ZConfig/tests/input/base-datatype1.xml rename to src/ZConfig/tests/input/base-datatype1.xml diff --git a/ZConfig/tests/input/base-datatype2.xml b/src/ZConfig/tests/input/base-datatype2.xml similarity index 100% rename from ZConfig/tests/input/base-datatype2.xml rename to src/ZConfig/tests/input/base-datatype2.xml diff --git a/ZConfig/tests/input/base-keytype1.xml b/src/ZConfig/tests/input/base-keytype1.xml similarity index 100% rename from ZConfig/tests/input/base-keytype1.xml rename to src/ZConfig/tests/input/base-keytype1.xml diff --git a/ZConfig/tests/input/base-keytype2.xml b/src/ZConfig/tests/input/base-keytype2.xml similarity index 100% rename from ZConfig/tests/input/base-keytype2.xml rename to src/ZConfig/tests/input/base-keytype2.xml diff --git a/ZConfig/tests/input/base.xml b/src/ZConfig/tests/input/base.xml similarity index 100% rename from ZConfig/tests/input/base.xml rename to src/ZConfig/tests/input/base.xml diff --git a/ZConfig/tests/input/include.conf b/src/ZConfig/tests/input/include.conf similarity index 100% rename from ZConfig/tests/input/include.conf rename to src/ZConfig/tests/input/include.conf diff --git a/ZConfig/tests/input/inner.conf b/src/ZConfig/tests/input/inner.conf similarity index 100% rename from ZConfig/tests/input/inner.conf rename to src/ZConfig/tests/input/inner.conf diff --git a/ZConfig/tests/input/library.xml b/src/ZConfig/tests/input/library.xml similarity index 100% rename from ZConfig/tests/input/library.xml rename to src/ZConfig/tests/input/library.xml diff --git a/ZConfig/tests/input/logger.xml b/src/ZConfig/tests/input/logger.xml similarity index 100% rename from ZConfig/tests/input/logger.xml rename to src/ZConfig/tests/input/logger.xml diff --git a/ZConfig/tests/input/non-ascii.txt b/src/ZConfig/tests/input/non-ascii.txt similarity index 100% rename from ZConfig/tests/input/non-ascii.txt rename to src/ZConfig/tests/input/non-ascii.txt diff --git a/ZConfig/tests/input/outer.conf b/src/ZConfig/tests/input/outer.conf similarity index 100% rename from ZConfig/tests/input/outer.conf rename to src/ZConfig/tests/input/outer.conf diff --git a/ZConfig/tests/input/simple.conf b/src/ZConfig/tests/input/simple.conf similarity index 100% rename from ZConfig/tests/input/simple.conf rename to src/ZConfig/tests/input/simple.conf diff --git a/ZConfig/tests/input/simple.xml b/src/ZConfig/tests/input/simple.xml similarity index 100% rename from ZConfig/tests/input/simple.xml rename to src/ZConfig/tests/input/simple.xml diff --git a/ZConfig/tests/input/simplesections.conf b/src/ZConfig/tests/input/simplesections.conf similarity index 100% rename from ZConfig/tests/input/simplesections.conf rename to src/ZConfig/tests/input/simplesections.conf diff --git a/ZConfig/tests/input/simplesections.xml b/src/ZConfig/tests/input/simplesections.xml similarity index 100% rename from ZConfig/tests/input/simplesections.xml rename to src/ZConfig/tests/input/simplesections.xml diff --git a/ZConfig/tests/library/README.txt b/src/ZConfig/tests/library/README.txt similarity index 100% rename from ZConfig/tests/library/README.txt rename to src/ZConfig/tests/library/README.txt diff --git a/ZConfig/tests/library/__init__.py b/src/ZConfig/tests/library/__init__.py similarity index 100% rename from ZConfig/tests/library/__init__.py rename to src/ZConfig/tests/library/__init__.py diff --git a/ZConfig/tests/library/thing/__init__.py b/src/ZConfig/tests/library/thing/__init__.py similarity index 100% rename from ZConfig/tests/library/thing/__init__.py rename to src/ZConfig/tests/library/thing/__init__.py diff --git a/ZConfig/tests/library/thing/component.xml b/src/ZConfig/tests/library/thing/component.xml similarity index 100% rename from ZConfig/tests/library/thing/component.xml rename to src/ZConfig/tests/library/thing/component.xml diff --git a/ZConfig/tests/library/thing/extras/extras.xml b/src/ZConfig/tests/library/thing/extras/extras.xml similarity index 100% rename from ZConfig/tests/library/thing/extras/extras.xml rename to src/ZConfig/tests/library/thing/extras/extras.xml diff --git a/ZConfig/tests/library/widget/__init__.py b/src/ZConfig/tests/library/widget/__init__.py similarity index 100% rename from ZConfig/tests/library/widget/__init__.py rename to src/ZConfig/tests/library/widget/__init__.py diff --git a/ZConfig/tests/library/widget/component.xml b/src/ZConfig/tests/library/widget/component.xml similarity index 100% rename from ZConfig/tests/library/widget/component.xml rename to src/ZConfig/tests/library/widget/component.xml diff --git a/ZConfig/tests/library/widget/extra.xml b/src/ZConfig/tests/library/widget/extra.xml similarity index 100% rename from ZConfig/tests/library/widget/extra.xml rename to src/ZConfig/tests/library/widget/extra.xml diff --git a/ZConfig/tests/sphinx_test_schema.xml b/src/ZConfig/tests/sphinx_test_schema.xml similarity index 100% rename from ZConfig/tests/sphinx_test_schema.xml rename to src/ZConfig/tests/sphinx_test_schema.xml diff --git a/ZConfig/tests/support.py b/src/ZConfig/tests/support.py similarity index 100% rename from ZConfig/tests/support.py rename to src/ZConfig/tests/support.py diff --git a/ZConfig/tests/test_cfgimports.py b/src/ZConfig/tests/test_cfgimports.py similarity index 100% rename from ZConfig/tests/test_cfgimports.py rename to src/ZConfig/tests/test_cfgimports.py diff --git a/ZConfig/tests/test_cmdline.py b/src/ZConfig/tests/test_cmdline.py similarity index 100% rename from ZConfig/tests/test_cmdline.py rename to src/ZConfig/tests/test_cmdline.py diff --git a/ZConfig/tests/test_config.py b/src/ZConfig/tests/test_config.py similarity index 100% rename from ZConfig/tests/test_config.py rename to src/ZConfig/tests/test_config.py diff --git a/ZConfig/tests/test_cookbook.py b/src/ZConfig/tests/test_cookbook.py similarity index 100% rename from ZConfig/tests/test_cookbook.py rename to src/ZConfig/tests/test_cookbook.py diff --git a/ZConfig/tests/test_datatypes.py b/src/ZConfig/tests/test_datatypes.py similarity index 100% rename from ZConfig/tests/test_datatypes.py rename to src/ZConfig/tests/test_datatypes.py diff --git a/ZConfig/tests/test_info.py b/src/ZConfig/tests/test_info.py similarity index 100% rename from ZConfig/tests/test_info.py rename to src/ZConfig/tests/test_info.py diff --git a/ZConfig/tests/test_loader.py b/src/ZConfig/tests/test_loader.py similarity index 100% rename from ZConfig/tests/test_loader.py rename to src/ZConfig/tests/test_loader.py diff --git a/ZConfig/tests/test_matcher.py b/src/ZConfig/tests/test_matcher.py similarity index 100% rename from ZConfig/tests/test_matcher.py rename to src/ZConfig/tests/test_matcher.py diff --git a/ZConfig/tests/test_pygments.py b/src/ZConfig/tests/test_pygments.py similarity index 100% rename from ZConfig/tests/test_pygments.py rename to src/ZConfig/tests/test_pygments.py diff --git a/ZConfig/tests/test_readme.py b/src/ZConfig/tests/test_readme.py similarity index 100% rename from ZConfig/tests/test_readme.py rename to src/ZConfig/tests/test_readme.py diff --git a/ZConfig/tests/test_schema.py b/src/ZConfig/tests/test_schema.py similarity index 100% rename from ZConfig/tests/test_schema.py rename to src/ZConfig/tests/test_schema.py diff --git a/ZConfig/tests/test_schema2html.py b/src/ZConfig/tests/test_schema2html.py similarity index 100% rename from ZConfig/tests/test_schema2html.py rename to src/ZConfig/tests/test_schema2html.py diff --git a/ZConfig/tests/test_schemaless.py b/src/ZConfig/tests/test_schemaless.py similarity index 100% rename from ZConfig/tests/test_schemaless.py rename to src/ZConfig/tests/test_schemaless.py diff --git a/ZConfig/tests/test_subst.py b/src/ZConfig/tests/test_subst.py similarity index 100% rename from ZConfig/tests/test_subst.py rename to src/ZConfig/tests/test_subst.py diff --git a/ZConfig/tests/test_validator.py b/src/ZConfig/tests/test_validator.py similarity index 100% rename from ZConfig/tests/test_validator.py rename to src/ZConfig/tests/test_validator.py diff --git a/ZConfig/tests/zipsource/README.txt b/src/ZConfig/tests/zipsource/README.txt similarity index 100% rename from ZConfig/tests/zipsource/README.txt rename to src/ZConfig/tests/zipsource/README.txt diff --git a/ZConfig/tests/zipsource/foo/__init__.py b/src/ZConfig/tests/zipsource/foo/__init__.py similarity index 100% rename from ZConfig/tests/zipsource/foo/__init__.py rename to src/ZConfig/tests/zipsource/foo/__init__.py diff --git a/ZConfig/tests/zipsource/foo/sample/__init__.py b/src/ZConfig/tests/zipsource/foo/sample/__init__.py similarity index 100% rename from ZConfig/tests/zipsource/foo/sample/__init__.py rename to src/ZConfig/tests/zipsource/foo/sample/__init__.py diff --git a/ZConfig/tests/zipsource/foo/sample/component.xml b/src/ZConfig/tests/zipsource/foo/sample/component.xml similarity index 100% rename from ZConfig/tests/zipsource/foo/sample/component.xml rename to src/ZConfig/tests/zipsource/foo/sample/component.xml diff --git a/ZConfig/tests/zipsource/foo/sample/datatypes.py b/src/ZConfig/tests/zipsource/foo/sample/datatypes.py similarity index 100% rename from ZConfig/tests/zipsource/foo/sample/datatypes.py rename to src/ZConfig/tests/zipsource/foo/sample/datatypes.py diff --git a/ZConfig/url.py b/src/ZConfig/url.py similarity index 100% rename from ZConfig/url.py rename to src/ZConfig/url.py diff --git a/ZConfig/validator.py b/src/ZConfig/validator.py similarity index 100% rename from ZConfig/validator.py rename to src/ZConfig/validator.py diff --git a/tox.ini b/tox.ini index 4871181..5340e7f 100644 --- a/tox.ini +++ b/tox.ini @@ -1,37 +1,89 @@ +# Generated from: +# https://github.com/zopefoundation/meta/tree/master/config/pure-python [tox] -envlist = py27,py34,py35,py36,py37,py38,py39,py310,pypy,coverage-report -skip_missing_interpreters = true +minversion = 3.18 +envlist = + lint + py27 + py35 + py36 + py37 + py38 + py39 + py310 + pypy + pypy3 + docs + coverage [testenv] -commands = - coverage run --parallel-mode -m zope.testrunner --test-path=. - flake8 setup.py ZConfig +usedevelop = true deps = - .[test] - coverage - flake8 - pygments +commands = + zope-testrunner --test-path=src {posargs:-vc} +extras = + test -[testenv:coverage] -basepython = - python2.7 +[testenv:lint] +basepython = python3 +skip_install = true commands = - coverage run -m zope.testrunner --test-path=. - coverage report -m --fail-under=99 + isort --check-only --diff {toxinidir}/src {toxinidir}/setup.py + flake8 src setup.py + check-manifest + check-python-versions +deps = + check-manifest + check-python-versions >= 0.19.1 + wheel + flake8 + isort -[testenv:coverage-report] +[testenv:isort-apply] +basepython = python3 +commands_pre = +deps = + isort commands = - coverage combine - coverage html - coverage report -m --fail-under 99 + isort {toxinidir}/src {toxinidir}/setup.py [] [testenv:docs] -# basepython not specified; we want to be sure it's something available -# on the current system. +basepython = python3 +skip_install = false +extras = + docs +commands_pre = +commands = + sphinx-build -b html -d docs/_build/doctrees docs docs/_build/html + +[testenv:coverage] +basepython = python3 +allowlist_externals = + mkdir deps = - sphinx - sphinxcontrib-programoutput + coverage + coverage-python-version commands = - make -C doc html -whitelist_externals = - make + mkdir -p {toxinidir}/parts/htmlcov + coverage run -m zope.testrunner --test-path=src {posargs:-vc} + coverage html + coverage report -m --fail-under=95 + +[coverage:run] +branch = True +plugins = coverage_python_version +source = ZConfig + +[coverage:report] +precision = 2 +exclude_lines = + pragma: no cover + pragma: nocover + except ImportError: + raise NotImplementedError + if __name__ == '__main__': + self.fail + raise AssertionError + +[coverage:html] +directory = parts/htmlcov From fffffd9e102b6f70527bd59195a3d1833a1dbb57 Mon Sep 17 00:00:00 2001 From: Michael Howitz Date: Wed, 22 Jun 2022 09:15:44 +0200 Subject: [PATCH 2/2] Sort imports, use src-layout. --- CHANGES.rst | 2 +- setup.py | 2 +- src/ZConfig/__init__.py | 3 ++- src/ZConfig/_compat.py | 4 ++-- src/ZConfig/_schema_utils.py | 13 ++++++------- src/ZConfig/cfgparser.py | 4 ++-- src/ZConfig/cmdline.py | 1 - src/ZConfig/components/basic/tests/test_mapping.py | 3 ++- src/ZConfig/components/logger/handlers.py | 5 ++--- src/ZConfig/components/logger/tests/support.py | 4 ++-- src/ZConfig/components/logger/tests/test_logger.py | 11 ++++------- src/ZConfig/datatypes.py | 7 +++++-- src/ZConfig/info.py | 3 +-- src/ZConfig/loader.py | 8 +++----- src/ZConfig/matcher.py | 3 +-- src/ZConfig/pygments.py | 3 ++- src/ZConfig/schema.py | 3 +-- src/ZConfig/schema2html.py | 7 +++++-- src/ZConfig/sphinx.py | 13 +++++++------ src/ZConfig/tests/library/thing/__init__.py | 1 + src/ZConfig/tests/support.py | 5 ++--- src/ZConfig/tests/test_cfgimports.py | 1 - src/ZConfig/tests/test_cmdline.py | 1 - src/ZConfig/tests/test_config.py | 4 +--- src/ZConfig/tests/test_cookbook.py | 3 ++- src/ZConfig/tests/test_datatypes.py | 6 +++--- src/ZConfig/tests/test_info.py | 10 ++++------ src/ZConfig/tests/test_loader.py | 5 ++--- src/ZConfig/tests/test_matcher.py | 6 ++---- src/ZConfig/tests/test_pygments.py | 4 +++- src/ZConfig/tests/test_readme.py | 13 +++++++------ src/ZConfig/tests/test_schema.py | 6 +++--- src/ZConfig/tests/test_schema2html.py | 7 ++----- src/ZConfig/tests/test_schemaless.py | 3 ++- src/ZConfig/tests/test_subst.py | 8 +++++--- src/ZConfig/url.py | 1 + src/ZConfig/validator.py | 2 +- 37 files changed, 90 insertions(+), 95 deletions(-) diff --git a/CHANGES.rst b/CHANGES.rst index 83e0ce7..32eb7ee 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -5,7 +5,7 @@ 3.6.1 (unreleased) ================== -- Nothing yet. +- Drop support for Python 3.4. 3.6.0 (2021-05-19) diff --git a/setup.py b/setup.py index b0cc9b7..a6b3311 100644 --- a/setup.py +++ b/setup.py @@ -42,6 +42,7 @@ "ZConfig.tests.library.thing", "ZConfig.tests.library.widget", ], + package_dir={'': 'src'}, entry_points={ 'console_scripts': [ 'zconfig = ZConfig.validator:main', @@ -63,7 +64,6 @@ 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: 3.7', diff --git a/src/ZConfig/__init__.py b/src/ZConfig/__init__.py index 7d59ea7..31518a9 100644 --- a/src/ZConfig/__init__.py +++ b/src/ZConfig/__init__.py @@ -33,8 +33,9 @@ """ __docformat__ = "reStructuredText" -from ZConfig._compat import TextIO import ZConfig.loader +from ZConfig._compat import TextIO + loadConfigFile = ZConfig.loader.loadConfigFile loadSchemaFile = ZConfig.loader.loadSchemaFile diff --git a/src/ZConfig/_compat.py b/src/ZConfig/_compat.py index 3edaa10..3e6b389 100644 --- a/src/ZConfig/_compat.py +++ b/src/ZConfig/_compat.py @@ -12,10 +12,10 @@ # ############################################################################## -from io import StringIO -from io import BytesIO import abc import sys +from io import BytesIO +from io import StringIO PY3 = sys.version_info[0] >= 3 diff --git a/src/ZConfig/_schema_utils.py b/src/ZConfig/_schema_utils.py index 8aa94a8..c3977f1 100755 --- a/src/ZConfig/_schema_utils.py +++ b/src/ZConfig/_schema_utils.py @@ -13,30 +13,29 @@ ############################################################################## from __future__ import print_function -from abc import abstractmethod import argparse import itertools import sys import textwrap +from abc import abstractmethod + try: - from itertools import ifilterfalse from itertools import ifilter + from itertools import ifilterfalse except ImportError: # Py3 from itertools import filterfalse as ifilterfalse ifilter = filter import ZConfig.loader - from ZConfig._compat import AbstractBaseClass - from ZConfig.datatypes import null_conversion -from ZConfig.info import SectionType +from ZConfig.info import AbstractType +from ZConfig.info import MultiKeyInfo from ZConfig.info import SectionInfo +from ZConfig.info import SectionType from ZConfig.info import ValueInfo -from ZConfig.info import MultiKeyInfo -from ZConfig.info import AbstractType MARKER = object() diff --git a/src/ZConfig/cfgparser.py b/src/ZConfig/cfgparser.py index 71fd819..e6fdfbf 100644 --- a/src/ZConfig/cfgparser.py +++ b/src/ZConfig/cfgparser.py @@ -17,9 +17,9 @@ import ZConfig import ZConfig.url - -from ZConfig.substitution import isname, substitute from ZConfig._compat import raise_with_same_tb +from ZConfig.substitution import isname +from ZConfig.substitution import substitute # _name_re does not allow "(" or ")" for historical reasons. Though diff --git a/src/ZConfig/cmdline.py b/src/ZConfig/cmdline.py index 9615b3a..e3d7a97 100644 --- a/src/ZConfig/cmdline.py +++ b/src/ZConfig/cmdline.py @@ -28,7 +28,6 @@ class from the :mod:`ZConfig.loader` module. This provides support for import ZConfig import ZConfig.loader import ZConfig.matcher - from ZConfig._compat import raise_with_same_tb diff --git a/src/ZConfig/components/basic/tests/test_mapping.py b/src/ZConfig/components/basic/tests/test_mapping.py index 63bf27c..59ce7af 100644 --- a/src/ZConfig/components/basic/tests/test_mapping.py +++ b/src/ZConfig/components/basic/tests/test_mapping.py @@ -16,9 +16,10 @@ ZConfig.components.basic. """ -import ZConfig.tests.support import unittest +import ZConfig.tests.support + SIMPLE_SCHEMA = '''\ diff --git a/src/ZConfig/components/logger/handlers.py b/src/ZConfig/components/logger/handlers.py index cd80115..43f65f3 100644 --- a/src/ZConfig/components/logger/handlers.py +++ b/src/ZConfig/components/logger/handlers.py @@ -13,14 +13,13 @@ ############################################################################## """ZConfig factory datatypes for log handlers.""" -from abc import abstractmethod import functools import sys +from abc import abstractmethod +import ZConfig.components.logger.formatter from ZConfig._compat import urlparse - from ZConfig.components.logger.factory import Factory -import ZConfig.components.logger.formatter _log_format_variables = ( diff --git a/src/ZConfig/components/logger/tests/support.py b/src/ZConfig/components/logger/tests/support.py index 4c731ae..c43b95a 100644 --- a/src/ZConfig/components/logger/tests/support.py +++ b/src/ZConfig/components/logger/tests/support.py @@ -20,10 +20,10 @@ import os import tempfile -from ZConfig.components.logger import loghandler -import ZConfig._compat import ZConfig +import ZConfig._compat import ZConfig.tests.support +from ZConfig.components.logger import loghandler class LoggingTestHelper(ZConfig.tests.support.TestHelper): diff --git a/src/ZConfig/components/logger/tests/test_logger.py b/src/ZConfig/components/logger/tests/test_logger.py index 8114fd9..e69a938 100644 --- a/src/ZConfig/components/logger/tests/test_logger.py +++ b/src/ZConfig/components/logger/tests/test_logger.py @@ -21,17 +21,14 @@ import unittest import ZConfig - +import ZConfig.components.logger.tests.support +import ZConfig.tests.support +from ZConfig._compat import NStringIO as StringIO +from ZConfig._compat import maxsize from ZConfig.components.logger import datatypes from ZConfig.components.logger import handlers from ZConfig.components.logger import loghandler -from ZConfig._compat import NStringIO as StringIO -from ZConfig._compat import maxsize - -import ZConfig.tests.support -import ZConfig.components.logger.tests.support - class CustomFormatter(logging.Formatter): def formatException(self, ei): diff --git a/src/ZConfig/datatypes.py b/src/ZConfig/datatypes.py index 1d3c051..1e15753 100644 --- a/src/ZConfig/datatypes.py +++ b/src/ZConfig/datatypes.py @@ -30,12 +30,15 @@ """ +import datetime import os import re import sys -import datetime -from ZConfig._compat import have_unicode, text_type, PY3 +from ZConfig._compat import PY3 +from ZConfig._compat import have_unicode +from ZConfig._compat import text_type + if PY3: from functools import reduce diff --git a/src/ZConfig/info.py b/src/ZConfig/info.py index 33f8dfb..8e99dad 100644 --- a/src/ZConfig/info.py +++ b/src/ZConfig/info.py @@ -14,12 +14,11 @@ """Objects that can describe a ZConfig schema.""" import copy -import ZConfig - from abc import abstractmethod from collections import OrderedDict from functools import total_ordering +import ZConfig from ZConfig._compat import AbstractBaseClass diff --git a/src/ZConfig/loader.py b/src/ZConfig/loader.py index 93b7498..ceba57c 100644 --- a/src/ZConfig/loader.py +++ b/src/ZConfig/loader.py @@ -16,7 +16,6 @@ import os.path import re import sys - from abc import abstractmethod from io import StringIO @@ -27,12 +26,11 @@ import ZConfig.matcher import ZConfig.schema import ZConfig.url - -from ZConfig._compat import reraise -from ZConfig._compat import raise_with_same_tb -from ZConfig._compat import urllib2 from ZConfig._compat import AbstractBaseClass from ZConfig._compat import pathname2url +from ZConfig._compat import raise_with_same_tb +from ZConfig._compat import reraise +from ZConfig._compat import urllib2 def loadSchema(url): diff --git a/src/ZConfig/matcher.py b/src/ZConfig/matcher.py index ab4ee09..d3a4519 100644 --- a/src/ZConfig/matcher.py +++ b/src/ZConfig/matcher.py @@ -14,9 +14,8 @@ """Utility that manages the binding of configuration data to a section.""" import ZConfig - -from ZConfig.info import ValueInfo from ZConfig._compat import raise_with_same_tb +from ZConfig.info import ValueInfo class BaseMatcher(object): diff --git a/src/ZConfig/pygments.py b/src/ZConfig/pygments.py index 151d70f..8484f64 100644 --- a/src/ZConfig/pygments.py +++ b/src/ZConfig/pygments.py @@ -16,7 +16,8 @@ """ -from __future__ import print_function, absolute_import +from __future__ import absolute_import +from __future__ import print_function import pygments.lexer import pygments.token diff --git a/src/ZConfig/schema.py b/src/ZConfig/schema.py index bddb23e..e26ea87 100644 --- a/src/ZConfig/schema.py +++ b/src/ZConfig/schema.py @@ -18,12 +18,11 @@ import xml.sax import ZConfig - from ZConfig import info from ZConfig import url - from ZConfig._compat import raise_with_same_tb + BLANK = u'' diff --git a/src/ZConfig/schema2html.py b/src/ZConfig/schema2html.py index d6ea463..e2ce40b 100755 --- a/src/ZConfig/schema2html.py +++ b/src/ZConfig/schema2html.py @@ -14,16 +14,19 @@ import argparse from contextlib import contextmanager + + try: import html except ImportError: # Py2 import cgi as html + import sys -from ZConfig._schema_utils import AbstractSchemaPrinter -from ZConfig._schema_utils import AbstractSchemaFormatter from ZConfig._schema_utils import MARKER +from ZConfig._schema_utils import AbstractSchemaFormatter +from ZConfig._schema_utils import AbstractSchemaPrinter from ZConfig._schema_utils import load_schema from ZConfig.sphinx import RstSchemaPrinter diff --git a/src/ZConfig/sphinx.py b/src/ZConfig/sphinx.py index fb0469f..30cd889 100755 --- a/src/ZConfig/sphinx.py +++ b/src/ZConfig/sphinx.py @@ -11,16 +11,17 @@ # FOR A PARTICULAR PURPOSE. # ############################################################################## -from __future__ import print_function, absolute_import - +from __future__ import absolute_import +from __future__ import print_function from contextlib import contextmanager + try: - from docutils import nodes - import docutils.utils import docutils.frontend import docutils.parsers.rst + import docutils.utils + from docutils import nodes from docutils.parsers.rst import Directive except ImportError: # pragma: no cover RstSchemaPrinter = None @@ -28,10 +29,10 @@ else: from ZConfig._compat import string_types - from ZConfig._schema_utils import load_schema + from ZConfig._schema_utils import MARKER from ZConfig._schema_utils import AbstractSchemaFormatter from ZConfig._schema_utils import AbstractSchemaPrinter - from ZConfig._schema_utils import MARKER + from ZConfig._schema_utils import load_schema class RstSchemaFormatter(AbstractSchemaFormatter): diff --git a/src/ZConfig/tests/library/thing/__init__.py b/src/ZConfig/tests/library/thing/__init__.py index 4ab184e..fe823d2 100644 --- a/src/ZConfig/tests/library/thing/__init__.py +++ b/src/ZConfig/tests/library/thing/__init__.py @@ -18,5 +18,6 @@ import os + here = os.path.dirname(__file__) __path__.append(os.path.join(here, "extras")) diff --git a/src/ZConfig/tests/support.py b/src/ZConfig/tests/support.py index 40cb283..62d0bff 100644 --- a/src/ZConfig/tests/support.py +++ b/src/ZConfig/tests/support.py @@ -20,12 +20,11 @@ import unittest import ZConfig - +from ZConfig._compat import NStringIO as StringIO +from ZConfig._compat import pathname2url from ZConfig.loader import ConfigLoader from ZConfig.url import urljoin -from ZConfig._compat import NStringIO as StringIO -from ZConfig._compat import pathname2url INPUT_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), "input")) CONFIG_BASE = "file://%s/" % pathname2url(INPUT_DIR) diff --git a/src/ZConfig/tests/test_cfgimports.py b/src/ZConfig/tests/test_cfgimports.py index 7c63616..91e2121 100644 --- a/src/ZConfig/tests/test_cfgimports.py +++ b/src/ZConfig/tests/test_cfgimports.py @@ -18,7 +18,6 @@ import ZConfig import ZConfig.tests.support - from ZConfig._compat import NStringIO as StringIO diff --git a/src/ZConfig/tests/test_cmdline.py b/src/ZConfig/tests/test_cmdline.py index d6b9ca9..5985100 100644 --- a/src/ZConfig/tests/test_cmdline.py +++ b/src/ZConfig/tests/test_cmdline.py @@ -18,7 +18,6 @@ import ZConfig import ZConfig.tests.support - from ZConfig.cmdline import ExtendedConfigLoader diff --git a/src/ZConfig/tests/test_config.py b/src/ZConfig/tests/test_config.py index 763d8cf..14ee729 100644 --- a/src/ZConfig/tests/test_config.py +++ b/src/ZConfig/tests/test_config.py @@ -17,12 +17,10 @@ import unittest import ZConfig - +from ZConfig._compat import NStringIO as StringIO from ZConfig.tests.support import CONFIG_BASE from ZConfig.tests.support import TestHelper -from ZConfig._compat import NStringIO as StringIO - class ConfigurationTestCase(TestHelper, unittest.TestCase): diff --git a/src/ZConfig/tests/test_cookbook.py b/src/ZConfig/tests/test_cookbook.py index 7b019ef..773f112 100644 --- a/src/ZConfig/tests/test_cookbook.py +++ b/src/ZConfig/tests/test_cookbook.py @@ -20,9 +20,10 @@ """ -import ZConfig.tests.support import unittest +import ZConfig.tests.support + def basic_key_mapping_password_to_passwd(key): # Lower-case the key since that's what basic-key does: diff --git a/src/ZConfig/tests/test_datatypes.py b/src/ZConfig/tests/test_datatypes.py index 310e5d2..582ef93 100644 --- a/src/ZConfig/tests/test_datatypes.py +++ b/src/ZConfig/tests/test_datatypes.py @@ -13,19 +13,19 @@ ############################################################################## """Tests of standard ZConfig datatypes.""" +import datetime import os -import sys import shutil import socket -import datetime +import sys import tempfile import unittest import ZConfig._compat import ZConfig.datatypes - from ZConfig.tests.support import TestHelper + here = os.path.abspath(__file__) diff --git a/src/ZConfig/tests/test_info.py b/src/ZConfig/tests/test_info.py index 145379e..21e98f3 100644 --- a/src/ZConfig/tests/test_info.py +++ b/src/ZConfig/tests/test_info.py @@ -14,18 +14,16 @@ import unittest -from ZConfig import SchemaError from ZConfig import ConfigurationError - -from ZConfig.info import Unbounded +from ZConfig import SchemaError +from ZConfig.info import AbstractType from ZConfig.info import BaseInfo from ZConfig.info import BaseKeyInfo from ZConfig.info import KeyInfo +from ZConfig.info import SchemaType from ZConfig.info import SectionInfo -from ZConfig.info import AbstractType from ZConfig.info import SectionType -from ZConfig.info import SchemaType - +from ZConfig.info import Unbounded from ZConfig.tests.support import TestHelper diff --git a/src/ZConfig/tests/test_loader.py b/src/ZConfig/tests/test_loader.py index 88ab855..ec9763c 100644 --- a/src/ZConfig/tests/test_loader.py +++ b/src/ZConfig/tests/test_loader.py @@ -21,11 +21,10 @@ import ZConfig import ZConfig.loader import ZConfig.url - from ZConfig._compat import NStringIO as StringIO from ZConfig._compat import urllib2 - -from ZConfig.tests.support import CONFIG_BASE, TestHelper +from ZConfig.tests.support import CONFIG_BASE +from ZConfig.tests.support import TestHelper myfile = os.path.abspath(__file__) diff --git a/src/ZConfig/tests/test_matcher.py b/src/ZConfig/tests/test_matcher.py index b2ed374..8023112 100644 --- a/src/ZConfig/tests/test_matcher.py +++ b/src/ZConfig/tests/test_matcher.py @@ -16,11 +16,9 @@ from ZConfig import ConfigurationError from ZConfig import DataConversionError - -from ZConfig.matcher import SectionValue -from ZConfig.matcher import SectionMatcher from ZConfig.matcher import BaseMatcher - +from ZConfig.matcher import SectionMatcher +from ZConfig.matcher import SectionValue from ZConfig.tests.support import TestHelper diff --git a/src/ZConfig/tests/test_pygments.py b/src/ZConfig/tests/test_pygments.py index 377df98..ae21d03 100644 --- a/src/ZConfig/tests/test_pygments.py +++ b/src/ZConfig/tests/test_pygments.py @@ -16,10 +16,12 @@ """ -from __future__ import print_function, absolute_import +from __future__ import absolute_import +from __future__ import print_function import unittest + try: import pygments.lexer import pygments.token diff --git a/src/ZConfig/tests/test_readme.py b/src/ZConfig/tests/test_readme.py index 1cc86c2..6795211 100644 --- a/src/ZConfig/tests/test_readme.py +++ b/src/ZConfig/tests/test_readme.py @@ -12,13 +12,14 @@ # ############################################################################## import doctest -import manuel.capture -import manuel.doctest -import manuel.testing +import logging import os import os.path import unittest -import logging + +import manuel.capture +import manuel.doctest +import manuel.testing options = doctest.REPORT_NDIFF | doctest.ELLIPSIS @@ -60,7 +61,7 @@ def docSetUp(test): old['pwd'] = os.getcwd() doc_path = os.path.join( findRoot(), - 'doc') + 'docs') os.chdir(doc_path) setUp(test) @@ -83,7 +84,7 @@ def test_suite(): ), manuel.testing.TestSuite( plugins, - os.path.join(root, 'doc', 'using-logging.rst'), + os.path.join(root, 'docs', 'using-logging.rst'), globs={'resetLoggers': lambda: tearDown(None)}, setUp=docSetUp, tearDown=docTearDown, ), diff --git a/src/ZConfig/tests/test_schema.py b/src/ZConfig/tests/test_schema.py index dfeb370..d3e0c06 100644 --- a/src/ZConfig/tests/test_schema.py +++ b/src/ZConfig/tests/test_schema.py @@ -16,8 +16,8 @@ import unittest import ZConfig - -from ZConfig.tests.support import TestHelper, CONFIG_BASE +from ZConfig.tests.support import CONFIG_BASE +from ZConfig.tests.support import TestHelper def uppercase(value): @@ -1182,8 +1182,8 @@ def test_error_extra_cdata(self): "non-blank character data") def test_error_subclass(self): - import ZConfig.schema import ZConfig.datatypes + import ZConfig.schema class MockLoader(object): registry = ZConfig.datatypes.Registry() diff --git a/src/ZConfig/tests/test_schema2html.py b/src/ZConfig/tests/test_schema2html.py index 8245c70..5ea426b 100644 --- a/src/ZConfig/tests/test_schema2html.py +++ b/src/ZConfig/tests/test_schema2html.py @@ -17,10 +17,10 @@ import unittest import docutils -import docutils.utils import docutils.frontend import docutils.parsers.rst import docutils.parsers.rst.directives +import docutils.utils try: @@ -32,12 +32,9 @@ except ImportError: from ZConfig._compat import NStringIO as StringIO - from ZConfig import schema2html - -from ZConfig.sphinx import SchemaToRstDirective from ZConfig.sphinx import RstSchemaFormatter - +from ZConfig.sphinx import SchemaToRstDirective from ZConfig.tests import support diff --git a/src/ZConfig/tests/test_schemaless.py b/src/ZConfig/tests/test_schemaless.py index 3a6ab9a..0fc2a51 100644 --- a/src/ZConfig/tests/test_schemaless.py +++ b/src/ZConfig/tests/test_schemaless.py @@ -17,9 +17,10 @@ """ __docformat__ = "reStructuredText" +import unittest + import manuel.doctest import manuel.testing -import unittest from ZConfig.schemaless import Section diff --git a/src/ZConfig/tests/test_subst.py b/src/ZConfig/tests/test_subst.py index 8f90ed7..f2506cd 100644 --- a/src/ZConfig/tests/test_subst.py +++ b/src/ZConfig/tests/test_subst.py @@ -15,12 +15,14 @@ # This is needed to support Python 2.1. from __future__ import nested_scopes -import os +import os import unittest -from ZConfig import SubstitutionReplacementError, SubstitutionSyntaxError -from ZConfig.substitution import isname, substitute +from ZConfig import SubstitutionReplacementError +from ZConfig import SubstitutionSyntaxError +from ZConfig.substitution import isname +from ZConfig.substitution import substitute class SubstitutionTestCase(unittest.TestCase): diff --git a/src/ZConfig/url.py b/src/ZConfig/url.py index f88c219..d6126e7 100644 --- a/src/ZConfig/url.py +++ b/src/ZConfig/url.py @@ -20,6 +20,7 @@ from ZConfig._compat import urlparse as _urlparse + urlsplit = _urlparse.urlsplit diff --git a/src/ZConfig/validator.py b/src/ZConfig/validator.py index ddfa529..245f83b 100755 --- a/src/ZConfig/validator.py +++ b/src/ZConfig/validator.py @@ -16,10 +16,10 @@ """ from __future__ import print_function + import argparse import sys - import ZConfig