Skip to content

Commit 2f0c46e

Browse files
authored
Merge pull request scrapy#3946 from elacuesta/simplify_versions
[MRG+1] Simplify version reporting
2 parents 3040f77 + da385b5 commit 2f0c46e

File tree

2 files changed

+13
-24
lines changed

2 files changed

+13
-24
lines changed

scrapy/utils/ssl.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# -*- coding: utf-8 -*-
22

3+
import OpenSSL
34
import OpenSSL._util as pyOpenSSLutil
45

56
from scrapy.utils.python import to_native_str
@@ -48,3 +49,10 @@ def get_temp_key_info(ssl_object):
4849
key_info.append(ffi_buf_to_string(pyOpenSSLutil.lib.OBJ_nid2sn(key_type)))
4950
key_info.append('%s bits' % pyOpenSSLutil.lib.EVP_PKEY_bits(temp_key))
5051
return ', '.join(key_info)
52+
53+
54+
def get_openssl_version():
55+
system_openssl = OpenSSL.SSL.SSLeay_version(
56+
OpenSSL.SSL.SSLEAY_VERSION
57+
).decode('ascii', errors='replace')
58+
return '{} ({})'.format(OpenSSL.version.__version__, system_openssl)

scrapy/utils/versions.py

Lines changed: 5 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,31 @@
11
import platform
22
import sys
33

4+
import cryptography
45
import cssselect
56
import lxml.etree
67
import parsel
78
import twisted
89
import w3lib
910

1011
import scrapy
12+
from scrapy.utils.ssl import get_openssl_version
1113

1214

1315
def scrapy_components_versions():
1416
lxml_version = ".".join(map(str, lxml.etree.LXML_VERSION))
1517
libxml2_version = ".".join(map(str, lxml.etree.LIBXML_VERSION))
16-
try:
17-
w3lib_version = w3lib.__version__
18-
except AttributeError:
19-
w3lib_version = "<1.14.3"
20-
try:
21-
import cryptography
22-
cryptography_version = cryptography.__version__
23-
except ImportError:
24-
cryptography_version = "unknown"
2518

2619
return [
2720
("Scrapy", scrapy.__version__),
2821
("lxml", lxml_version),
2922
("libxml2", libxml2_version),
3023
("cssselect", cssselect.__version__),
3124
("parsel", parsel.__version__),
32-
("w3lib", w3lib_version),
25+
("w3lib", w3lib.__version__),
3326
("Twisted", twisted.version.short()),
3427
("Python", sys.version.replace("\n", "- ")),
35-
("pyOpenSSL", _get_openssl_version()),
36-
("cryptography", cryptography_version),
28+
("pyOpenSSL", get_openssl_version()),
29+
("cryptography", cryptography.__version__),
3730
("Platform", platform.platform()),
3831
]
39-
40-
41-
def _get_openssl_version():
42-
try:
43-
import OpenSSL
44-
openssl = OpenSSL.SSL.SSLeay_version(OpenSSL.SSL.SSLEAY_VERSION)\
45-
.decode('ascii', errors='replace')
46-
# pyOpenSSL 0.12 does not expose openssl version
47-
except AttributeError:
48-
openssl = 'Unknown OpenSSL version'
49-
50-
return '{} ({})'.format(OpenSSL.version.__version__, openssl)

0 commit comments

Comments
 (0)