[Checkins] [zopefoundation/zope.schema] f1d76a: Make Object a bootstrapfield and share the logic b...

GitHub noreply at github.com
Fri Sep 7 16:50:38 CEST 2018


  Branch: refs/heads/master
  Home:   https://github.com/zopefoundation/zope.schema
  Commit: f1d76a77ce601fa75ffaf0ed345820950c4e318e
      https://github.com/zopefoundation/zope.schema/commit/f1d76a77ce601fa75ffaf0ed345820950c4e318e
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2018-09-06 (Thu, 06 Sep 2018)

  Changed paths:
    M CHANGES.rst
    M docs/api.rst
    M docs/validation.rst
    M src/zope/schema/_bootstrapfields.py
    M src/zope/schema/_bootstrapinterfaces.py
    M src/zope/schema/_field.py
    M src/zope/schema/_schema.py
    M src/zope/schema/interfaces.py
    M src/zope/schema/tests/test__field.py

  Log Message:
  -----------
  Make Object a bootstrapfield and share the logic between Object validation and the public functions get[Schema]ValidationErrors.

Fixes #57

This makes Object bind all fields (not just choices) before
validation. This fixes #17 in a backwards compatible way.

Binding all attributes, not just Choices, reduced the dependencies of
Object and facilitated making it a bootstrap field. Making it a
bootstrap field in turn let us use it in more places in interfaces.py,
which fixes #13.

Switch from just repeating attribute names in interfaces.py to a real
__all__ attribute that linters can warn about.

Change ..autoclass:: in api.rst to ..autointerface:: so we get the
actual member documentation and not lots of warnings about missing
__mro__. (This is unrelated, I was just tired of the warnings.)


  Commit: 105c6d092289e9dd8fbae156be94cb8819c3fce3
      https://github.com/zopefoundation/zope.schema/commit/105c6d092289e9dd8fbae156be94cb8819c3fce3
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2018-09-06 (Thu, 06 Sep 2018)

  Changed paths:
    M src/zope/schema/interfaces.py

  Log Message:
  -----------
  Sort imports in interfaces.py


  Commit: 6d439c606443c1d2ea24eec598e37a02ad1145fd
      https://github.com/zopefoundation/zope.schema/commit/6d439c606443c1d2ea24eec598e37a02ad1145fd
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2018-09-06 (Thu, 06 Sep 2018)

  Changed paths:
    M src/zope/schema/_bootstrapfields.py

  Log Message:
  -----------
  Make VALIDATED_OBJECTS private, and use a set, not the instance's dict (which can be optimized to hold str objects or share keys, something we don't expect to do) to hold id(value).


  Commit: 6d68cccd48a41bd29d1a076f6fd95b0480768bdd
      https://github.com/zopefoundation/zope.schema/commit/6d68cccd48a41bd29d1a076f6fd95b0480768bdd
  Author: Jason Madden <jamadden at gmail.com>
  Date:   2018-09-07 (Fri, 07 Sep 2018)

  Changed paths:
    M src/zope/schema/_bootstrapfields.py
    M src/zope/schema/tests/test__bootstrapfields.py
    M src/zope/schema/tests/test__field.py

  Log Message:
  -----------
  Move ObjectTests from test__field to test__bootstrapfield to match Object itself.


  Commit: 0a719f2ded189630a0a77e9292a66a3662c6512c
      https://github.com/zopefoundation/zope.schema/commit/0a719f2ded189630a0a77e9292a66a3662c6512c
  Author: Jason Madden <jason+github at nextthought.com>
  Date:   2018-09-07 (Fri, 07 Sep 2018)

  Changed paths:
    M CHANGES.rst
    M docs/api.rst
    M docs/validation.rst
    M src/zope/schema/_bootstrapfields.py
    M src/zope/schema/_bootstrapinterfaces.py
    M src/zope/schema/_field.py
    M src/zope/schema/_schema.py
    M src/zope/schema/interfaces.py
    M src/zope/schema/tests/test__bootstrapfields.py
    M src/zope/schema/tests/test__field.py

  Log Message:
  -----------
  Merge pull request #59 from zopefoundation/issue13

Make Object a bootstrapfield and share the logic between Object validation and the public functions get[Schema]ValidationErrors.


Compare: https://github.com/zopefoundation/zope.schema/compare/c20562ba663e...0a719f2ded18
      **NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.


More information about the checkins mailing list