diff options
author | Jason R. Coombs <jaraco@jaraco.com> | 2016-05-31 22:05:47 -0400 |
---|---|---|
committer | Jason R. Coombs <jaraco@jaraco.com> | 2016-05-31 22:05:47 -0400 |
commit | f84edd610dbc12497a79b172312e2061979f5523 (patch) | |
tree | b4f73e682614a7d2d93c3488e56fbd104f0bbc88 /setuptools/command/upload_docs.py | |
parent | 4b0aaa921e46afbfa2f98069ea016f80c3ab1c84 (diff) | |
download | python-setuptools-git-f84edd610dbc12497a79b172312e2061979f5523.tar.gz |
Replace _build_parts with map and flatten.
Diffstat (limited to 'setuptools/command/upload_docs.py')
-rw-r--r-- | setuptools/command/upload_docs.py | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/setuptools/command/upload_docs.py b/setuptools/command/upload_docs.py index 4ad66c29..3158c435 100644 --- a/setuptools/command/upload_docs.py +++ b/setuptools/command/upload_docs.py @@ -14,6 +14,7 @@ import zipfile import tempfile import shutil import itertools +import functools from setuptools.extern import six from setuptools.extern.six.moves import http_client, urllib @@ -96,14 +97,9 @@ class upload_docs(upload): finally: shutil.rmtree(tmp_dir) - @classmethod - def _build_parts(cls, data, sep_boundary): - for key, values in six.iteritems(data): - for part in cls._build_part(key, values): - yield part - @staticmethod - def _build_part(key, values, sep_boundary): + def _build_part(item, sep_boundary): + key, values = item title = '\nContent-Disposition: form-data; name="%s"' % key # handle multiple entries for the same name if not isinstance(values, list): @@ -130,10 +126,13 @@ class upload_docs(upload): sep_boundary = b'\n--' + boundary end_boundary = sep_boundary + b'--' end_items = end_boundary, b"\n", - body_items = itertools.chain( - cls._build_parts(data, sep_boundary), - end_items, + builder = functools.partial( + cls._build_part, + sep_boundary=sep_boundary, ) + part_groups = map(builder, data.items()) + parts = itertools.chain.from_iterable(part_groups) + body_items = itertools.chain(parts, end_items) return b''.join(body_items) def upload_file(self, filename): |