diff options
Diffstat (limited to 'lib/python2.7/site-packages/requests-2.13.0-py2.7.egg/requests/packages/idna/intranges.py')
-rw-r--r-- | lib/python2.7/site-packages/requests-2.13.0-py2.7.egg/requests/packages/idna/intranges.py | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/lib/python2.7/site-packages/requests-2.13.0-py2.7.egg/requests/packages/idna/intranges.py b/lib/python2.7/site-packages/requests-2.13.0-py2.7.egg/requests/packages/idna/intranges.py deleted file mode 100644 index ee8a175d..00000000 --- a/lib/python2.7/site-packages/requests-2.13.0-py2.7.egg/requests/packages/idna/intranges.py +++ /dev/null @@ -1,46 +0,0 @@ -""" -Given a list of integers, made up of (hopefully) a small number of long runs -of consecutive integers, compute a representation of the form -((start1, end1), (start2, end2) ...). Then answer the question "was x present -in the original list?" in time O(log(# runs)). -""" - -import bisect - -def intranges_from_list(list_): - """Represent a list of integers as a sequence of ranges: - ((start_0, end_0), (start_1, end_1), ...), such that the original - integers are exactly those x such that start_i <= x < end_i for some i. - """ - - sorted_list = sorted(list_) - ranges = [] - last_write = -1 - for i in range(len(sorted_list)): - if i+1 < len(sorted_list): - if sorted_list[i] == sorted_list[i+1]-1: - continue - current_range = sorted_list[last_write+1:i+1] - range_tuple = (current_range[0], current_range[-1] + 1) - ranges.append(range_tuple) - last_write = i - - return tuple(ranges) - - -def intranges_contain(int_, ranges): - """Determine if `int_` falls into one of the ranges in `ranges`.""" - tuple_ = (int_, int_) - pos = bisect.bisect_left(ranges, tuple_) - # we could be immediately ahead of a tuple (start, end) - # with start < int_ <= end - if pos > 0: - left, right = ranges[pos-1] - if left <= int_ < right: - return True - # or we could be immediately behind a tuple (int_, end) - if pos < len(ranges): - left, _ = ranges[pos] - if left == int_: - return True - return False |