From 1f7c9ef949e7d68b6dd642158ee35772614cb2e0 Mon Sep 17 00:00:00 2001 From: Frost Ming Date: Sat, 10 Nov 2018 12:48:26 +0800 Subject: [PATCH] update patch --- pipenv/utils.py | 7 +- pipenv/vendor/tomlkit/api.py | 2 - pipenv/vendor/tomlkit/container.py | 16 +- pipenv/vendor/tomlkit/exceptions.py | 2 - pipenv/vendor/tomlkit/items.py | 13 +- pipenv/vendor/tomlkit/parser.py | 7 - pipenv/vendor/tomlkit/source.py | 2 - pipenv/vendor/tomlkit/toml_file.py | 3 - pipenv/vendor/vendor.txt | 3 +- .../vendor/tomlkit-dump-inline-table.patch | 34 ----- .../patches/vendor/tomlkit-fix.patch | 144 ++++++++++++++++++ .../vendor/tomlkit-typing-imports.patch | 93 ----------- .../patches/vendor/tomlkit-update-items.patch | 27 ---- 13 files changed, 158 insertions(+), 195 deletions(-) delete mode 100644 tasks/vendoring/patches/vendor/tomlkit-dump-inline-table.patch create mode 100644 tasks/vendoring/patches/vendor/tomlkit-fix.patch delete mode 100644 tasks/vendoring/patches/vendor/tomlkit-typing-imports.patch delete mode 100644 tasks/vendoring/patches/vendor/tomlkit-update-items.patch diff --git a/pipenv/utils.py b/pipenv/utils.py index 9d495fa367..9a74b2b94d 100644 --- a/pipenv/utils.py +++ b/pipenv/utils.py @@ -102,19 +102,14 @@ def convert_toml_outline_tables(parsed): else: empty_inline_table = toml.TomlDecoder().get_empty_inline_table for section in ("packages", "dev-packages"): - has_outline_table = False - table_data = parsed.get(section, {}).copy() + table_data = parsed.get(section, {}) for package, value in table_data.items(): if hasattr(value, "keys") and not isinstance( value, (tomlkit.items.InlineTable, toml.decoder.InlineTableDict) ): - has_outline_table = True table = empty_inline_table() table.update(value) table_data[package] = table - if has_outline_table: - # We'll lose comments here, only update when necessary - parsed[section] = table_data return parsed diff --git a/pipenv/vendor/tomlkit/api.py b/pipenv/vendor/tomlkit/api.py index e541c20c17..0ac2675262 100644 --- a/pipenv/vendor/tomlkit/api.py +++ b/pipenv/vendor/tomlkit/api.py @@ -1,7 +1,5 @@ import datetime as _datetime -from typing import Tuple - from ._utils import parse_rfc3339 from .container import Container from .items import AoT diff --git a/pipenv/vendor/tomlkit/container.py b/pipenv/vendor/tomlkit/container.py index cb8af1d522..9b5db5cb66 100644 --- a/pipenv/vendor/tomlkit/container.py +++ b/pipenv/vendor/tomlkit/container.py @@ -1,13 +1,5 @@ from __future__ import unicode_literals -from typing import Any -from typing import Dict -from typing import Generator -from typing import List -from typing import Optional -from typing import Tuple -from typing import Union - from ._compat import decode from .exceptions import KeyAlreadyPresent from .exceptions import NonExistentKey @@ -17,6 +9,7 @@ from .items import Key from .items import Null from .items import Table +from .items import Trivia from .items import Whitespace from .items import item as _item @@ -221,7 +214,12 @@ def remove(self, key): # type: (Union[Key, str]) -> Container for i in idx: self._body[i] = (None, Null()) else: - self._body[idx] = (None, Null()) + old_data = self._body[idx][1] + trivia = getattr(old_data, "trivia", None) + if trivia and trivia.comment: + self._body[idx] = (None, Comment(Trivia(comment_ws="", comment=trivia.comment))) + else: + self._body[idx] = (None, Null()) super(Container, self).__delitem__(key.key) diff --git a/pipenv/vendor/tomlkit/exceptions.py b/pipenv/vendor/tomlkit/exceptions.py index 4fbc667bdc..c1a4e620e0 100644 --- a/pipenv/vendor/tomlkit/exceptions.py +++ b/pipenv/vendor/tomlkit/exceptions.py @@ -1,5 +1,3 @@ -from typing import Optional - class TOMLKitError(Exception): diff --git a/pipenv/vendor/tomlkit/items.py b/pipenv/vendor/tomlkit/items.py index 375b5f0251..7035b69ecc 100644 --- a/pipenv/vendor/tomlkit/items.py +++ b/pipenv/vendor/tomlkit/items.py @@ -7,13 +7,6 @@ from datetime import datetime from datetime import time from enum import Enum -from typing import Any -from typing import Dict -from typing import Generator -from typing import List -from typing import Optional -from typing import Union - from ._compat import PY2 from ._compat import decode @@ -25,6 +18,7 @@ from pipenv.vendor.backports.functools_lru_cache import lru_cache else: from functools import lru_cache +from toml.decoder import InlineTableDict def item(value, _parent=None): @@ -40,7 +34,10 @@ def item(value, _parent=None): elif isinstance(value, float): return Float(value, Trivia(), str(value)) elif isinstance(value, dict): - val = Table(Container(), Trivia(), False) + if isinstance(value, InlineTableDict): + val = InlineTable(Container(), Trivia()) + else: + val = Table(Container(), Trivia(), False) for k, v in sorted(value.items(), key=lambda i: (isinstance(i[1], dict), i[0])): val[k] = item(v, _parent=val) diff --git a/pipenv/vendor/tomlkit/parser.py b/pipenv/vendor/tomlkit/parser.py index 7b9483313f..3f507bb4ca 100644 --- a/pipenv/vendor/tomlkit/parser.py +++ b/pipenv/vendor/tomlkit/parser.py @@ -4,13 +4,6 @@ import re import string -from typing import Any -from typing import Generator -from typing import List -from typing import Optional -from typing import Tuple -from typing import Union - from ._compat import chr from ._compat import decode from ._utils import _escaped diff --git a/pipenv/vendor/tomlkit/source.py b/pipenv/vendor/tomlkit/source.py index 1a96e05893..dcfdafd0a5 100644 --- a/pipenv/vendor/tomlkit/source.py +++ b/pipenv/vendor/tomlkit/source.py @@ -4,8 +4,6 @@ import itertools from copy import copy -from typing import Optional -from typing import Tuple from ._compat import PY2 from ._compat import unicode diff --git a/pipenv/vendor/tomlkit/toml_file.py b/pipenv/vendor/tomlkit/toml_file.py index 3b416664dd..631e995958 100644 --- a/pipenv/vendor/tomlkit/toml_file.py +++ b/pipenv/vendor/tomlkit/toml_file.py @@ -1,8 +1,5 @@ import io -from typing import Any -from typing import Dict - from .api import loads from .toml_document import TOMLDocument diff --git a/pipenv/vendor/vendor.txt b/pipenv/vendor/vendor.txt index 3228068f84..9924810eed 100644 --- a/pipenv/vendor/vendor.txt +++ b/pipenv/vendor/vendor.txt @@ -34,7 +34,7 @@ requirementslib==1.2.5 pyparsing==2.2.2 pytoml==0.1.19 plette==0.2.2 - tomlkit==0.4.6 + tomlkit==0.5.2 shellingham==1.2.7 six==1.11.0 semver==2.8.1 @@ -51,4 +51,3 @@ git+https://github.com/sarugaku/passa.git@master#egg=passa cursor==1.2.0 resolvelib==0.2.2 backports.functools_lru_cache==1.5 -tomlkit \ No newline at end of file diff --git a/tasks/vendoring/patches/vendor/tomlkit-dump-inline-table.patch b/tasks/vendoring/patches/vendor/tomlkit-dump-inline-table.patch deleted file mode 100644 index 8cd6d5cafb..0000000000 --- a/tasks/vendoring/patches/vendor/tomlkit-dump-inline-table.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff --git a/pipenv/vendor/tomlkit/items.py b/pipenv/vendor/tomlkit/items.py -index 781e2e98..c3c2d59f 100644 ---- a/pipenv/vendor/tomlkit/items.py -+++ b/pipenv/vendor/tomlkit/items.py -@@ -21,6 +21,7 @@ if PY2: - from pipenv.vendor.backports.functools_lru_cache import lru_cache - else: - from functools import lru_cache -+from toml.decoder import InlineTableDict - - - def item(value, _parent=None): -@@ -36,7 +37,10 @@ def item(value, _parent=None): - elif isinstance(value, float): - return Float(value, Trivia(), str(value)) - elif isinstance(value, dict): -- val = Table(Container(), Trivia(), False) -+ if isinstance(value, InlineTableDict): -+ val = InlineTable(Container(), Trivia()) -+ else: -+ val = Table(Container(), Trivia(), False) - for k, v in sorted(value.items(), key=lambda i: (isinstance(i[1], dict), i[0])): - val[k] = item(v, _parent=val) - -@@ -1000,6 +1004,9 @@ class InlineTable(Item, dict): - if key is not None: - super(InlineTable, self).__setitem__(key, value) - -+ if hasattr(value, "trivia") and value.trivia.comment: -+ value.trivia.comment = "" -+ - m = re.match("(?s)^[^ ]*([ ]+).*$", self._trivia.indent) - if not m: - return diff --git a/tasks/vendoring/patches/vendor/tomlkit-fix.patch b/tasks/vendoring/patches/vendor/tomlkit-fix.patch new file mode 100644 index 0000000000..5dd9d3fe1e --- /dev/null +++ b/tasks/vendoring/patches/vendor/tomlkit-fix.patch @@ -0,0 +1,144 @@ +diff --git a/pipenv/vendor/tomlkit/api.py b/pipenv/vendor/tomlkit/api.py +index e541c20c..0ac26752 100644 +--- a/pipenv/vendor/tomlkit/api.py ++++ b/pipenv/vendor/tomlkit/api.py +@@ -1,7 +1,5 @@ + import datetime as _datetime + +-from typing import Tuple +- + from ._utils import parse_rfc3339 + from .container import Container + from .items import AoT +diff --git a/pipenv/vendor/tomlkit/container.py b/pipenv/vendor/tomlkit/container.py +index cb8af1d5..56ee2d62 100644 +--- a/pipenv/vendor/tomlkit/container.py ++++ b/pipenv/vendor/tomlkit/container.py +@@ -1,13 +1,5 @@ + from __future__ import unicode_literals + +-from typing import Any +-from typing import Dict +-from typing import Generator +-from typing import List +-from typing import Optional +-from typing import Tuple +-from typing import Union +- + from ._compat import decode + from .exceptions import KeyAlreadyPresent + from .exceptions import NonExistentKey +@@ -17,6 +9,7 @@ from .items import Item + from .items import Key + from .items import Null + from .items import Table ++from .items import Trivia + from .items import Whitespace + from .items import item as _item + +@@ -221,7 +214,12 @@ class Container(dict): + for i in idx: + self._body[i] = (None, Null()) + else: +- self._body[idx] = (None, Null()) ++ old_data = self._body[idx][1] ++ trivia = getattr(old_data, "trivia", None) ++ if trivia and trivia.comment: ++ self._body[idx] = (None, Comment(Trivia(comment_ws="", comment=trivia.comment))) ++ else: ++ self._body[idx] = (None, Null()) + + super(Container, self).__delitem__(key.key) + +diff --git a/pipenv/vendor/tomlkit/exceptions.py b/pipenv/vendor/tomlkit/exceptions.py +index 4fbc667b..c1a4e620 100644 +--- a/pipenv/vendor/tomlkit/exceptions.py ++++ b/pipenv/vendor/tomlkit/exceptions.py +@@ -1,5 +1,3 @@ +-from typing import Optional +- + + class TOMLKitError(Exception): + +diff --git a/pipenv/vendor/tomlkit/items.py b/pipenv/vendor/tomlkit/items.py +index 375b5f02..7035b69e 100644 +--- a/pipenv/vendor/tomlkit/items.py ++++ b/pipenv/vendor/tomlkit/items.py +@@ -7,13 +7,6 @@ from datetime import date + from datetime import datetime + from datetime import time + from enum import Enum +-from typing import Any +-from typing import Dict +-from typing import Generator +-from typing import List +-from typing import Optional +-from typing import Union +- + + from ._compat import PY2 + from ._compat import decode +@@ -25,6 +18,7 @@ if PY2: + from pipenv.vendor.backports.functools_lru_cache import lru_cache + else: + from functools import lru_cache ++from toml.decoder import InlineTableDict + + + def item(value, _parent=None): +@@ -40,7 +34,10 @@ def item(value, _parent=None): + elif isinstance(value, float): + return Float(value, Trivia(), str(value)) + elif isinstance(value, dict): +- val = Table(Container(), Trivia(), False) ++ if isinstance(value, InlineTableDict): ++ val = InlineTable(Container(), Trivia()) ++ else: ++ val = Table(Container(), Trivia(), False) + for k, v in sorted(value.items(), key=lambda i: (isinstance(i[1], dict), i[0])): + val[k] = item(v, _parent=val) + +diff --git a/pipenv/vendor/tomlkit/parser.py b/pipenv/vendor/tomlkit/parser.py +index 7b948331..3f507bb4 100644 +--- a/pipenv/vendor/tomlkit/parser.py ++++ b/pipenv/vendor/tomlkit/parser.py +@@ -4,13 +4,6 @@ from __future__ import unicode_literals + import re + import string + +-from typing import Any +-from typing import Generator +-from typing import List +-from typing import Optional +-from typing import Tuple +-from typing import Union +- + from ._compat import chr + from ._compat import decode + from ._utils import _escaped +diff --git a/pipenv/vendor/tomlkit/source.py b/pipenv/vendor/tomlkit/source.py +index 1a96e058..dcfdafd0 100644 +--- a/pipenv/vendor/tomlkit/source.py ++++ b/pipenv/vendor/tomlkit/source.py +@@ -4,8 +4,6 @@ from __future__ import unicode_literals + import itertools + + from copy import copy +-from typing import Optional +-from typing import Tuple + + from ._compat import PY2 + from ._compat import unicode +diff --git a/pipenv/vendor/tomlkit/toml_file.py b/pipenv/vendor/tomlkit/toml_file.py +index 3b416664..631e9959 100644 +--- a/pipenv/vendor/tomlkit/toml_file.py ++++ b/pipenv/vendor/tomlkit/toml_file.py +@@ -1,8 +1,5 @@ + import io + +-from typing import Any +-from typing import Dict +- + from .api import loads + from .toml_document import TOMLDocument + diff --git a/tasks/vendoring/patches/vendor/tomlkit-typing-imports.patch b/tasks/vendoring/patches/vendor/tomlkit-typing-imports.patch deleted file mode 100644 index 2288b51333..0000000000 --- a/tasks/vendoring/patches/vendor/tomlkit-typing-imports.patch +++ /dev/null @@ -1,93 +0,0 @@ -diff --git a/pipenv/vendor/tomlkit/api.py b/pipenv/vendor/tomlkit/api.py -index e541c20c..0ac26752 100644 ---- a/pipenv/vendor/tomlkit/api.py -+++ b/pipenv/vendor/tomlkit/api.py -@@ -1,7 +1,5 @@ - import datetime as _datetime - --from typing import Tuple -- - from ._utils import parse_rfc3339 - from .container import Container - from .items import AoT -diff --git a/pipenv/vendor/tomlkit/container.py b/pipenv/vendor/tomlkit/container.py -index c1d2d7c6..a7876ff1 100644 ---- a/pipenv/vendor/tomlkit/container.py -+++ b/pipenv/vendor/tomlkit/container.py -@@ -1,13 +1,5 @@ - from __future__ import unicode_literals - --from typing import Any --from typing import Dict --from typing import Generator --from typing import List --from typing import Optional --from typing import Tuple --from typing import Union -- - from ._compat import decode - from .exceptions import KeyAlreadyPresent - from .exceptions import NonExistentKey -diff --git a/pipenv/vendor/tomlkit/exceptions.py b/pipenv/vendor/tomlkit/exceptions.py -index 8d48bf19..d889a924 100644 ---- a/pipenv/vendor/tomlkit/exceptions.py -+++ b/pipenv/vendor/tomlkit/exceptions.py -@@ -1,6 +1,3 @@ --from typing import Optional -- -- - class TOMLKitError(Exception): - - pass -diff --git a/pipenv/vendor/tomlkit/items.py b/pipenv/vendor/tomlkit/items.py -index 747dbd50..8807f4b3 100644 ---- a/pipenv/vendor/tomlkit/items.py -+++ b/pipenv/vendor/tomlkit/items.py -@@ -6,14 +6,11 @@ import string - from datetime import date - from datetime import datetime - from datetime import time --from enum import Enum --from typing import Any --from typing import Dict --from typing import Generator --from typing import List --from typing import Optional --from typing import Union -- -+import sys -+if sys.version_info >= (3, 4): -+ from enum import Enum -+else: -+ from pipenv.vendor.backports.enum import Enum - - from ._compat import PY2 - from ._compat import decode -diff --git a/pipenv/vendor/tomlkit/parser.py b/pipenv/vendor/tomlkit/parser.py -index b55a3fe4..3d4984d1 100644 ---- a/pipenv/vendor/tomlkit/parser.py -+++ b/pipenv/vendor/tomlkit/parser.py -@@ -7,10 +7,6 @@ import re - import string - - from copy import copy --from typing import Iterator --from typing import Optional --from typing import Tuple --from typing import Union - - from ._compat import PY2 - from ._compat import chr -diff --git a/pipenv/vendor/tomlkit/toml_file.py b/pipenv/vendor/tomlkit/toml_file.py -index 3b416664..631e9959 100644 ---- a/pipenv/vendor/tomlkit/toml_file.py -+++ b/pipenv/vendor/tomlkit/toml_file.py -@@ -1,8 +1,5 @@ - import io - --from typing import Any --from typing import Dict -- - from .api import loads - from .toml_document import TOMLDocument - diff --git a/tasks/vendoring/patches/vendor/tomlkit-update-items.patch b/tasks/vendoring/patches/vendor/tomlkit-update-items.patch deleted file mode 100644 index ed2fb95eb9..0000000000 --- a/tasks/vendoring/patches/vendor/tomlkit-update-items.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/pipenv/vendor/tomlkit/container.py b/pipenv/vendor/tomlkit/container.py -index 37014921..987a0790 100644 ---- a/pipenv/vendor/tomlkit/container.py -+++ b/pipenv/vendor/tomlkit/container.py -@@ -9,6 +9,7 @@ from .items import Item - from .items import Key - from .items import Null - from .items import Table -+from .items import Trivia - from .items import Whitespace - from .items import item as _item - -@@ -189,8 +190,12 @@ class Container(dict): - if idx is None: - raise NonExistentKey(key) - -- self._body[idx] = (None, Null()) -- -+ old_data = self._body[idx][1] -+ trivia = getattr(old_data, "trivia", None) -+ if trivia and getattr(trivia, "comment", None): -+ self._body[idx] = (None, Comment(Trivia(comment_ws="", comment=trivia.comment))) -+ else: -+ self._body[idx] = (None, Null()) - super(Container, self).__delitem__(key.key) - - return self