[Zope-dev] zope-tests - OK: 39

2012-03-21 Thread Zope tests summarizer
This is the summary for test reports received on the 
zope-tests list between 2012-03-20 00:00:00 UTC and 2012-03-21 00:00:00 UTC:

See the footnotes for test reports of unsuccessful builds.

An up-to date view of the builders is also available in our 
buildbot documentation: 
http://docs.zope.org/zopetoolkit/process/buildbots.html#the-nightly-builds

Reports received


   ZTK 1.0 / Python2.4.6 Linux 64bit
   ZTK 1.0 / Python2.5.5 Linux 64bit
   ZTK 1.0 / Python2.6.7 Linux 64bit
   ZTK 1.0dev / Python2.4.6 Linux 64bit
   ZTK 1.0dev / Python2.5.5 Linux 64bit
   ZTK 1.0dev / Python2.6.7 Linux 64bit
   ZTK 1.1 / Python2.5.5 Linux 64bit
   ZTK 1.1 / Python2.6.7 Linux 64bit
   ZTK 1.1 / Python2.7.2 Linux 64bit
   Zope 3.4 KGS / Python2.4.6 64bit linux
   Zope 3.4 KGS / Python2.5.5 64bit linux
   Zope 3.4 Known Good Set / py2.4-32bit-linux
   Zope 3.4 Known Good Set / py2.4-64bit-linux
   Zope 3.4 Known Good Set / py2.5-32bit-linux
   Zope 3.4 Known Good Set / py2.5-64bit-linux
   Zope-2.10 Python-2.4.6 : Linux
   Zope-2.11 Python-2.4.6 : Linux
   Zope-2.12 Python-2.6.6 : Linux
   Zope-2.12-alltests Python-2.6.6 : Linux
   Zope-2.13 Python-2.6.6 : Linux
   Zope-2.13-alltests Python-2.6.6 : Linux
   Zope-trunk Python-2.6.6 : Linux
   Zope-trunk-alltests Python-2.6.6 : Linux
   winbot / ZODB_dev py_265_win32
   winbot / ZODB_dev py_265_win64
   winbot / ZODB_dev py_270_win32
   winbot / ZODB_dev py_270_win64
   winbot / ztk_10 py_254_win32
   winbot / ztk_10 py_265_win32
   winbot / ztk_10 py_265_win64
   winbot / ztk_11 py_254_win32
   winbot / ztk_11 py_265_win32
   winbot / ztk_11 py_265_win64
   winbot / ztk_11 py_270_win32
   winbot / ztk_11 py_270_win64
   winbot / ztk_dev py_265_win32
   winbot / ztk_dev py_265_win64
   winbot / ztk_dev py_270_win32
   winbot / ztk_dev py_270_win64

Non-OK results
--

___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] New release for zope.schema

2012-03-21 Thread Marius Gedminas
On Wed, Mar 21, 2012 at 08:31:39PM +0100, Hanno Schlichting wrote:
> On Wed, Mar 21, 2012 at 6:58 PM, Marius Gedminas  wrote:
> >    For packages that have C extension modules there are probably extra
> >    steps needed to produce Windows binary eggs.  I don't know those
> >    steps (winbot is involved somehow), so I avoid making releases of
> >    packages that have C extension modules.  How do I check if a package
> >    has C extension modules?  I go to PyPI and look if there are Windows
> >    binary eggs available for download for the current version.
> >    zope.schema doesn't, so I'm just including this for general
> >    reference purposes.
> 
> The point of winbot is to take away all the pain and it does so.
> 
> There's no extra steps at all for packages containing C extensions.
> Just make sure you create a release with a proper tag - winbot does
> the rest.

Oh, that is awesome!

Marius Gedminas
-- 
http://pov.lt/ -- Zope 3/BlueBream consulting and development


signature.asc
Description: Digital signature
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] New release for zope.schema

2012-03-21 Thread Hanno Schlichting
On Wed, Mar 21, 2012 at 6:58 PM, Marius Gedminas  wrote:
>    For packages that have C extension modules there are probably extra
>    steps needed to produce Windows binary eggs.  I don't know those
>    steps (winbot is involved somehow), so I avoid making releases of
>    packages that have C extension modules.  How do I check if a package
>    has C extension modules?  I go to PyPI and look if there are Windows
>    binary eggs available for download for the current version.
>    zope.schema doesn't, so I'm just including this for general
>    reference purposes.

The point of winbot is to take away all the pain and it does so.

There's no extra steps at all for packages containing C extensions.
Just make sure you create a release with a proper tag - winbot does
the rest.

Hanno
___
Zope-Dev maillist  -  Zope-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 https://mail.zope.org/mailman/listinfo/zope-announce
 https://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] New release for zope.schema

2012-03-21 Thread Marius Gedminas
On Wed, Mar 21, 2012 at 05:29:44PM +0100, Jan-Carel Brand wrote:
> What needs to be done for a new release of zope.schema? (4.1)

(Note: historically zope.schema always used three version components:
4.1.0, not 4.1.)

Somebody with interest and PyPI access has to check it out and run
fullrelease (from zest.releaser).  Ideally, after running the test suite
to make sure it passes.  For all supported Python versions, if possible.
Which are, ideally, enumerated in setup.py as Trove classifiers.

For packages that have C extension modules there are probably extra
steps needed to produce Windows binary eggs.  I don't know those
steps (winbot is involved somehow), so I avoid making releases of
packages that have C extension modules.  How do I check if a package
has C extension modules?  I go to PyPI and look if there are Windows
binary eggs available for download for the current version.
zope.schema doesn't, so I'm just including this for general
reference purposes.

> And is there anything I can do to help speed it up?

Yes: you can bring it up on the mailing list, like you've done here.  ;)

Also, thank you for the convenient diff.  I'll review it.

Also, would you like to have PyPI access to zope.schema, so that you can
do the release yourself?  If so, tell us your PyPI username.

> Even just an alpha/beta release would be very helpful.

I think uploading alpha/beta releases to PyPI is frowned upon, because
tools tend to download them blindly, as if they were final releases.

> svn --non-interactive diff 
> http://svn.zope.org/repos/main/zope.schema/tags/4.0.1 
> http://svn.zope.org/repos/main/zope.schema/trunk
> Index: CHANGES.txt
> ===
> --- CHANGES.txt   (.../tags/4.0.1)(revision 124658)
> +++ CHANGES.txt   (.../trunk) (revision 124658)
> @@ -2,6 +2,18 @@
>  CHANGES
>  ===
>  
> +4.1 (unreleased)

This should be 4.1.0.

> +--
> +
> +- Add TreeVocabulary for nested tree-like vocabularies.
> +
> +- Fix broken Object field validation where the schema contains a Choice with
> +  ICountextSourceBinder source. In this case the vocabulary was not iterable
> +  because the field was not bound and the source binder dien't return the 

Spelling: dien't.

> +  real vocabulary. Added simple test for IContextSourceBinder validation. 
> But a
> +  test with an Object field with a schema using a Choice with
> +  IContextSourceBinder is still missing.
> +
>  4.0.1 (2011-11-14)
>  --
>  
> Index: setup.py
> ===
> --- setup.py  (.../tags/4.0.1)(revision 124658)
> +++ setup.py  (.../trunk) (revision 124658)
> @@ -19,6 +19,7 @@
>  """Setup for zope.schema package
>  """
>  import os
> +import sys
>  from setuptools import setup, find_packages
>  
>  def read(*rnames):
> @@ -60,8 +61,18 @@
>  suite.addTest(mod.test_suite())
>  return suite
>  
> +REQUIRES = [
> +'setuptools',
> +'zope.interface >= 3.6.0',
> +'zope.event',
> +'six',
> +]
> +
> +if sys.version_info < (2 , 7):

No space before the comma.

> +REQUIRES += ['ordereddict'],

Trailing comma warning!  I do not think this does what you want it to
do:

>>> REQUIRES = [
... 'setuptools',
... 'zope.interface >= 3.6.0',
... 'zope.event',
... 'six',
... ]
>>> REQUIRES += ['ordereddict'],
>>> REQUIRES
['setuptools', 'zope.interface >= 3.6.0', 'zope.event', 'six', 
['ordereddict']]

I don't know if setuptools can handle this correctly, but it feels wrong
anyway.  Please fix.

> +
>  setup(name='zope.schema',
> -  version = '4.0.1',
> +  version = '4.1dev',

This should be '4.1.0dev'.

>url='http://pypi.python.org/pypi/zope.schema',
>license='ZPL 2.1',
>description='zope.interface extension for defining data schemas',
> @@ -81,11 +92,8 @@
>namespace_packages=['zope',],
>extras_require={'test': ['zope.testing'],
>'docs': ['z3c.recipe.sphinxdoc']},
> -  install_requires=['setuptools',
> -'zope.interface >= 3.6.0',
> -'zope.event',
> -'six',
> -   ],
> +  install_requires=REQUIRES,
> +  

The blank line (and trailing whitespace) do not seem to be useful here.

>classifiers=[
>  "Development Status :: 5 - Production/Stable",
>  "Intended Audience :: Developers",
> Index: src/zope/schema/fields.txt
> ===
> --- src/zope/schema/fields.txt(.../tags/4.0.1)(revision 
> 124658)
> +++ src/zope/schema/fields.txt(.../trunk) (revision 124658)
> @@ -116,6 +116,9 @@
>  The vocabulary interface is simple enough that writing a custom vocabulary is
>  not

[Zope-dev] New release for zope.schema

2012-03-21 Thread Jan-Carel Brand
Hi folks

What needs to be done for a new release of zope.schema? (4.1)
And is there anything I can do to help speed it up?

Even just an alpha/beta release would be very helpful.

Thanks
JC
svn --non-interactive diff http://svn.zope.org/repos/main/zope.schema/tags/4.0.1 http://svn.zope.org/repos/main/zope.schema/trunk
Index: CHANGES.txt
===
--- CHANGES.txt	(.../tags/4.0.1)	(revision 124658)
+++ CHANGES.txt	(.../trunk)	(revision 124658)
@@ -2,6 +2,18 @@
 CHANGES
 ===
 
+4.1 (unreleased)
+--
+
+- Add TreeVocabulary for nested tree-like vocabularies.
+
+- Fix broken Object field validation where the schema contains a Choice with
+  ICountextSourceBinder source. In this case the vocabulary was not iterable
+  because the field was not bound and the source binder dien't return the 
+  real vocabulary. Added simple test for IContextSourceBinder validation. But a
+  test with an Object field with a schema using a Choice with
+  IContextSourceBinder is still missing.
+
 4.0.1 (2011-11-14)
 --
 
Index: setup.py
===
--- setup.py	(.../tags/4.0.1)	(revision 124658)
+++ setup.py	(.../trunk)	(revision 124658)
@@ -19,6 +19,7 @@
 """Setup for zope.schema package
 """
 import os
+import sys
 from setuptools import setup, find_packages
 
 def read(*rnames):
@@ -60,8 +61,18 @@
 suite.addTest(mod.test_suite())
 return suite
 
+REQUIRES = [
+'setuptools',
+'zope.interface >= 3.6.0',
+'zope.event',
+'six',
+]
+
+if sys.version_info < (2 , 7):
+REQUIRES += ['ordereddict'],
+
 setup(name='zope.schema',
-  version = '4.0.1',
+  version = '4.1dev',
   url='http://pypi.python.org/pypi/zope.schema',
   license='ZPL 2.1',
   description='zope.interface extension for defining data schemas',
@@ -81,11 +92,8 @@
   namespace_packages=['zope',],
   extras_require={'test': ['zope.testing'],
   'docs': ['z3c.recipe.sphinxdoc']},
-  install_requires=['setuptools',
-'zope.interface >= 3.6.0',
-'zope.event',
-'six',
-   ],
+  install_requires=REQUIRES,
+  
   classifiers=[
 "Development Status :: 5 - Production/Stable",
 "Intended Audience :: Developers",
Index: src/zope/schema/fields.txt
===
--- src/zope/schema/fields.txt	(.../tags/4.0.1)	(revision 124658)
+++ src/zope/schema/fields.txt	(.../trunk)	(revision 124658)
@@ -116,6 +116,9 @@
 The vocabulary interface is simple enough that writing a custom vocabulary is
 not too difficult itself.
 
+See for example zope.schema.vocabulary.TreeVocabulary for another
+IBaseVocabulary supporting vocabulary that provides a nested, tree-like structure.
+
 Choices and Collections
 ---
 
@@ -156,3 +159,4 @@
 
 This level of indirection may be unnecessary for some applications, and can be
 disabled with simple ZCML changes within `zope.app`.
+
Index: src/zope/schema/vocabulary.py
===
--- src/zope/schema/vocabulary.py	(.../tags/4.0.1)	(revision 124658)
+++ src/zope/schema/vocabulary.py	(.../trunk)	(revision 124658)
@@ -13,14 +13,19 @@
 ##
 """Vocabulary support for schema.
 """
+try:
+from collections import OrderedDict
+except:
+from ordereddict import OrderedDict
+
 from zope.interface.declarations import directlyProvides, implementer
 from zope.schema.interfaces import ValidationError
 from zope.schema.interfaces import IVocabularyRegistry
 from zope.schema.interfaces import IVocabulary, IVocabularyTokenized
+from zope.schema.interfaces import ITreeVocabulary
 from zope.schema.interfaces import ITokenizedTerm, ITitledTokenizedTerm
 
 # simple vocabularies performing enumerated-like tasks
-
 _marker = object()
 
 @implementer(ITokenizedTerm)
@@ -68,6 +73,7 @@
 if interfaces:
 directlyProvides(self, *interfaces)
 
+@classmethod
 def fromItems(cls, items, *interfaces):
 """Construct a vocabulary from a list of (token, value) pairs.
 
@@ -80,8 +86,8 @@
 """
 terms = [cls.createTerm(value, token) for (token, value) in items]
 return cls(terms, *interfaces)
-fromItems = classmethod(fromItems)
 
+@classmethod
 def fromValues(cls, values, *interfaces):
 """Construct a vocabulary from a simple list.
 
@@ -96,8 +102,8 @@
 """
 terms = [cls.createTerm(value) for value in values]
 return cls(terms, *interfaces)
-fromValues = classmethod(fromValues)
 
+@classmethod
 def createTerm(cls, *args):
 """Create a single term from data.
 
@@ -105,7 +111,6 @@
 a term of the appropri