<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/zope-security.git/src, branch remove_u</title>
<subtitle>github.com: zopefoundation/zope.security.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-security.git/'/>
<entry>
<title>Simplify _compat.py now that we only run on newer Pythons</title>
<updated>2017-09-07T22:52:15+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2017-09-07T22:52:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-security.git/commit/?id=c0807b6ca629731510ae41ccbcab27570d687546'/>
<id>c0807b6ca629731510ae41ccbcab27570d687546</id>
<content type='text'>
- We have u'literals' so we don't need a _u() function.
  For the record the Emacs replacement regex was
  `_u(\(['"]\)\([^)]*\)\1) -&gt; u\1\2\1`. Amazingly, I typed that right
  on the first try.

A few things were only used in one (test) file or function, so it was
better to keep the use, if any, local and out of the "public" api:

- We can use io.StringIO everywhere and it's fast. It was only
 imported in one file anyway.
- We can just import pickle. It was only imported in one file anyway.
- TEXT was only used in one test function, `type(u'')` is just as
 clear (especially since the usual name is `text_type`).
- reload was only used in one test function, so move the definition
 there.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- We have u'literals' so we don't need a _u() function.
  For the record the Emacs replacement regex was
  `_u(\(['"]\)\([^)]*\)\1) -&gt; u\1\2\1`. Amazingly, I typed that right
  on the first try.

A few things were only used in one (test) file or function, so it was
better to keep the use, if any, local and out of the "public" api:

- We can use io.StringIO everywhere and it's fast. It was only
 imported in one file anyway.
- We can just import pickle. It was only imported in one file anyway.
- TEXT was only used in one test function, `type(u'')` is just as
 clear (especially since the usual name is `text_type`).
- reload was only used in one test function, so move the definition
 there.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix issue with __length_hint__ in pure Python 3. This is picked out of #29</title>
<updated>2017-09-07T16:08:01+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2017-09-07T16:08:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-security.git/commit/?id=c154bb046668f9307286922ca1a025088f396792'/>
<id>c154bb046668f9307286922ca1a025088f396792</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix proxying of providedBy on Python 3 and fix __length_hint__</title>
<updated>2017-08-30T14:05:37+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2017-08-30T13:50:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-security.git/commit/?id=6f8de039836b62cf8c24c5ea23dfa0e6f0e629b6'/>
<id>6f8de039836b62cf8c24c5ea23dfa0e6f0e629b6</id>
<content type='text'>
Fixes #27.

Add special cases to defaultCheckers for the two types of objects that
can be returned from zope.interface.providedBy. On Python 2, these
were never proxied, but on Python 3 they were. Now it's
consistent (they're never proxied). (Using an _iteratorChecker for
them would be a breaking change because the results of iterating them
would be security proxied interface objects that don't compare
equally.)

Also fix `__length_hint__` while we're at it. Previously it was
ignored because it is looked up on the type of the object, and proxy
didn't implement that. So implement it, and add it to the list of
names allowed for iterators.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #27.

Add special cases to defaultCheckers for the two types of objects that
can be returned from zope.interface.providedBy. On Python 2, these
were never proxied, but on Python 3 they were. Now it's
consistent (they're never proxied). (Using an _iteratorChecker for
them would be a breaking change because the results of iterating them
would be security proxied interface objects that don't compare
equally.)

Also fix `__length_hint__` while we're at it. Previously it was
ignored because it is looked up on the type of the object, and proxy
didn't implement that. So implement it, and add it to the list of
names allowed for iterators.
</pre>
</div>
</content>
</entry>
<entry>
<title>OrderedDict, BTree and dict all iterate the same way.</title>
<updated>2017-05-17T12:10:48+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2017-05-17T12:10:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-security.git/commit/?id=cdb0161c7edf67857a7625ec666a80c9cd35c297'/>
<id>cdb0161c7edf67857a7625ec666a80c9cd35c297</id>
<content type='text'>
Fixes #23. Also a further fix for #20 (you couldn't iterate a BTree
all by itself).

Refactor the test case for BTree to be a shared implementation and
confirm that it works as expected for dict, using the actual dict
checker. Then apply it to OrderedDict and BTree and fix the resulting
failures by refactoring the fixup in checker.py to a shared
implementation and applying it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fixes #23. Also a further fix for #20 (you couldn't iterate a BTree
all by itself).

Refactor the test case for BTree to be a shared implementation and
confirm that it works as expected for dict, using the actual dict
checker. Then apply it to OrderedDict and BTree and fix the resulting
failures by refactoring the fixup in checker.py to a shared
implementation and applying it.
</pre>
</div>
</content>
</entry>
<entry>
<title>Be specific that BTrees.keys and .values also are fixed in the same way that .items was. See #20 and #21.</title>
<updated>2017-04-26T12:43:41+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2017-04-26T12:43:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-security.git/commit/?id=486a6c3801bcb7473f190adcc5f80f98fda87362'/>
<id>486a6c3801bcb7473f190adcc5f80f98fda87362</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix iteration of BTrees.items() in pure-python; and 3.6 support</title>
<updated>2017-04-24T13:00:59+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2017-04-24T11:54:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-security.git/commit/?id=9aaf59b541bc3e0616f9f9f95b6345d1a4400e68'/>
<id>9aaf59b541bc3e0616f9f9f95b6345d1a4400e68</id>
<content type='text'>
Also fix ``list(proxy_btree.items())`` (or a list comprehension of the
same) in Python 3, which wants the ``__len__`` for a hint.

This is a central place to make sure these all behave consistently.

Fixes #20

Also drop pypy3

As a 3.2 implementation, it's not supported by pip anymore. There is a
much more recent version, 3.5-beta, but it's not on Travis yet. The
3.3-alpha which is on Travis is a dead end.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also fix ``list(proxy_btree.items())`` (or a list comprehension of the
same) in Python 3, which wants the ``__len__`` for a hint.

This is a central place to make sure these all behave consistently.

Fixes #20

Also drop pypy3

As a 3.2 implementation, it's not supported by pip anymore. There is a
much more recent version, 3.5-beta, but it's not on Travis yet. The
3.3-alpha which is on Travis is a dead end.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix test failures on 64-bit Windows</title>
<updated>2016-06-06T07:47:36+00:00</updated>
<author>
<name>Marius Gedminas</name>
<email>marius@gedmin.as</email>
</author>
<published>2016-06-06T07:47:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-security.git/commit/?id=7a677d8e92774290c6ce4e92b5ebac8b25209277'/>
<id>7a677d8e92774290c6ce4e92b5ebac8b25209277</id>
<content type='text'>
Hopefully.  Appveyor should tell me if I've succeeded.

Fixes #17.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Hopefully.  Appveyor should tell me if I've succeeded.

Fixes #17.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'master' of https://github.com/zopefoundation/zope.security into pypy-support</title>
<updated>2015-06-02T18:56:11+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2015-06-02T18:56:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-security.git/commit/?id=3606074d3814d4876608ccfac13bf32cd0fe473e'/>
<id>3606074d3814d4876608ccfac13bf32cd0fe473e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make iteration over security-proxied items work under Python3 using the pure-python implementation. Fixes zopefoundation/zope.component#16.</title>
<updated>2015-06-02T18:55:54+00:00</updated>
<author>
<name>Jason Madden</name>
<email>jamadden@gmail.com</email>
</author>
<published>2015-06-02T18:55:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-security.git/commit/?id=349723661c15ea30dfd9df3bc32ae1df8c8ad0df'/>
<id>349723661c15ea30dfd9df3bc32ae1df8c8ad0df</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #12 from NextThought/pypy-support</title>
<updated>2015-06-02T17:59:33+00:00</updated>
<author>
<name>Tres Seaver</name>
<email>tseaver@palladion.com</email>
</author>
<published>2015-06-02T17:59:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/python-packages/zope-security.git/commit/?id=ee409d022cba7fed2ed8e2c35f92dfe56901a625'/>
<id>ee409d022cba7fed2ed8e2c35f92dfe56901a625</id>
<content type='text'>
Skip the failing class-hashing tests under PyPy 2.5.0. Fixes #11.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Skip the failing class-hashing tests under PyPy 2.5.0. Fixes #11.</pre>
</div>
</content>
</entry>
</feed>
