diff options
Diffstat (limited to 'setuptools/ssl_support.py')
-rw-r--r-- | setuptools/ssl_support.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/setuptools/ssl_support.py b/setuptools/ssl_support.py index 2313651f..0635c43d 100644 --- a/setuptools/ssl_support.py +++ b/setuptools/ssl_support.py @@ -2,6 +2,7 @@ import os import socket import atexit import re +import functools from setuptools.extern.six.moves import urllib, http_client, map, filter @@ -204,14 +205,18 @@ def opener_for(ca_bundle=None): ).open -_wincerts = None +# from jaraco.functools +def once(func): + @functools.wraps(func) + def wrapper(*args, **kwargs): + if not hasattr(func, 'always_returns'): + func.always_returns = func(*args, **kwargs) + return func.always_returns + return wrapper +@once def get_win_certfile(): - global _wincerts - if _wincerts is not None: - return _wincerts.name - try: from wincertstore import CertFile except ImportError: |