Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 2 additions & 28 deletions interface/compat.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import functools
import sys
from itertools import repeat

version_info = sys.version_info

PY2 = version_info.major == 2
PY3 = version_info.major == 3

if PY2: # pragma: nocover-py3
from itertools import izip_longest as zip_longest
from funcsigs import signature, Parameter

@functools.wraps(functools.wraps)
Expand Down Expand Up @@ -48,6 +48,7 @@ def _is_wrapper(f):

else: # pragma: nocover-py2
from inspect import signature, Parameter, unwrap
from itertools import zip_longest

wraps = functools.wraps

Expand All @@ -58,33 +59,6 @@ def viewkeys(d):
return d.keys()


def zip_longest(left, right):
"""Simple zip_longest that only supports two iterators and None default.
"""
left = iter(left)
right = iter(right)
left_done = False
right_done = False
while True:
try:
left_yielded = next(left)
except StopIteration:
left_done = True
left_yielded = None
left = repeat(None)
try:
right_yielded = next(right)
except StopIteration:
right_done = True
right_yielded = None
right = repeat(None)

if left_done and right_done:
break

yield left_yielded, right_yielded


# Taken from six version 1.10.0.
def with_metaclass(meta, *bases):
"""Create a base class with a metaclass."""
Expand Down