3
3
import platform
4
4
5
5
import twisted
6
+ import OpenSSL
6
7
7
8
import scrapy
8
9
from scrapy .commands import ScrapyCommand
@@ -26,11 +27,22 @@ def run(self, args, opts):
26
27
import lxml .etree
27
28
lxml_version = "." .join (map (str , lxml .etree .LXML_VERSION ))
28
29
libxml2_version = "." .join (map (str , lxml .etree .LIBXML_VERSION ))
29
- print ("Scrapy : %s" % scrapy .__version__ )
30
- print ("lxml : %s" % lxml_version )
31
- print ("libxml2 : %s" % libxml2_version )
32
- print ("Twisted : %s" % twisted .version .short ())
33
- print ("Python : %s" % sys .version .replace ("\n " , "- " ))
34
- print ("Platform: %s" % platform .platform ())
30
+ print ("Scrapy : %s" % scrapy .__version__ )
31
+ print ("lxml : %s" % lxml_version )
32
+ print ("libxml2 : %s" % libxml2_version )
33
+ print ("Twisted : %s" % twisted .version .short ())
34
+ print ("Python : %s" % sys .version .replace ("\n " , "- " ))
35
+ print ("pyOpenSSL : %s" % self ._get_openssl_version ())
36
+ print ("Platform : %s" % platform .platform ())
35
37
else :
36
38
print ("Scrapy %s" % scrapy .__version__ )
39
+
40
+ def _get_openssl_version (self ):
41
+ try :
42
+ openssl = OpenSSL .SSL .SSLeay_version (OpenSSL .SSL .SSLEAY_VERSION )\
43
+ .decode ('ascii' , errors = 'replace' )
44
+ # pyOpenSSL 0.12 does not expose openssl version
45
+ except AttributeError :
46
+ openssl = 'Unknown OpenSSL version'
47
+
48
+ return '{} ({})' .format (OpenSSL .version .__version__ , openssl )
0 commit comments