diff options
author | Alex Gaynor <alex.gaynor@gmail.com> | 2015-12-24 11:34:24 -0500 |
---|---|---|
committer | Alex Gaynor <alex.gaynor@gmail.com> | 2015-12-24 11:34:24 -0500 |
commit | a3fa8d6872d32005e6e600e27a48343d2f21d13d (patch) | |
tree | a8da549445876744823e39fac91a2f84007250af /src | |
parent | 9f71bf79971d5365a4a89cfbc6b29197a57e9042 (diff) | |
download | cryptography-a3fa8d6872d32005e6e600e27a48343d2f21d13d.tar.gz cryptography-a3fa8d6872d32005e6e600e27a48343d2f21d13d.tar.bz2 cryptography-a3fa8d6872d32005e6e600e27a48343d2f21d13d.zip |
full indexing support + testsg
Diffstat (limited to 'src')
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/x509.py | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/x509.py b/src/cryptography/hazmat/backends/openssl/x509.py index 4bddee4c..2f7d082f 100644 --- a/src/cryptography/hazmat/backends/openssl/x509.py +++ b/src/cryptography/hazmat/backends/openssl/x509.py @@ -873,10 +873,18 @@ class _CertificateRevocationList(object): yield self._revoked_cert(i) def __getitem__(self, idx): - idx = operator.index(idx) - if not 0 <= idx < len(self): - raise IndexError - return self._revoked_cert(idx) + if isinstance(idx, slice): + start, stop, step = idx.indices(len(self)) + return [ + self._revoked_cert(idx) for idx in range(start, stop, step) + ] + else: + idx = operator.index(idx) + if idx < 0: + idx += len(self) + if not 0 <= idx < len(self): + raise IndexError + return self._revoked_cert(idx) def __len__(self): revoked = self._backend._lib.X509_CRL_get_REVOKED(self._x509_crl) |