From 68196b1b6ab9466d1eac684adf9e6994601ca274 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Tue, 1 Dec 2015 10:54:37 +0100 Subject: [FIX] setup: missing cacert.pem data file for requests in win32 packaging This data file is required when making HTTPS requests with Python's `requests` package. Without it, modules such as account_yodlee/account_plaid won't be able to call their secure API. + minor refactoring (3 strikes and the code is out) --- setup.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'setup.py') diff --git a/setup.py b/setup.py index 365e4f4d118..6b3a3f7a2b1 100644 --- a/setup.py +++ b/setup.py @@ -35,16 +35,19 @@ def py2exe_datafiles(): data_files[base] = [join(root, f) for f in filenames] import docutils - dudir = dirname(docutils.__file__) - for root, _, filenames in os.walk(dudir): - base = join('docutils', root[len(dudir) + 1:]) - data_files[base] = [join(root, f) for f in filenames if not f.endswith(('.py', '.pyc', '.pyo'))] - import passlib - pl = dirname(passlib.__file__) - for root, _, filenames in os.walk(pl): - base = join('passlib', root[len(pl) + 1:]) - data_files[base] = [join(root, f) for f in filenames if not f.endswith(('.py', '.pyc', '.pyo'))] + import requests + data_mapping = ((docutils, 'docutils'), + (passlib, 'passlib'), + (requests, 'requests')) + + for mod, datadir in data_mapping: + basedir = dirname(mod.__file__) + for root, _, filenames in os.walk(basedir): + base = join(datadir, root[len(basedir) + 1:]) + data_files[base] = [join(root, f) + for f in filenames + if not f.endswith(('.py', '.pyc', '.pyo'))] return data_files.items() -- cgit v1.2.3