File manager - Edit - /home/newsbmcs.com/public_html/static/img/logo/_trie.tar
Back
py.py 0000644 00000003357 15030161725 0005556 0 ustar 00 from __future__ import absolute_import, division, unicode_literals from pip._vendor.six import text_type from bisect import bisect_left from ._base import Trie as ABCTrie class Trie(ABCTrie): def __init__(self, data): if not all(isinstance(x, text_type) for x in data.keys()): raise TypeError("All keys must be strings") self._data = data self._keys = sorted(data.keys()) self._cachestr = "" self._cachepoints = (0, len(data)) def __contains__(self, key): return key in self._data def __len__(self): return len(self._data) def __iter__(self): return iter(self._data) def __getitem__(self, key): return self._data[key] def keys(self, prefix=None): if prefix is None or prefix == "" or not self._keys: return set(self._keys) if prefix.startswith(self._cachestr): lo, hi = self._cachepoints start = i = bisect_left(self._keys, prefix, lo, hi) else: start = i = bisect_left(self._keys, prefix) keys = set() if start == len(self._keys): return keys while self._keys[i].startswith(prefix): keys.add(self._keys[i]) i += 1 self._cachestr = prefix self._cachepoints = (start, i) return keys def has_keys_with_prefix(self, prefix): if prefix in self._data: return True if prefix.startswith(self._cachestr): lo, hi = self._cachepoints i = bisect_left(self._keys, prefix, lo, hi) else: i = bisect_left(self._keys, prefix) if i == len(self._keys): return False return self._keys[i].startswith(prefix) __pycache__/_base.cpython-310.pyc 0000644 00000003040 15030161725 0012523 0 ustar 00 o �7]h� � @ sX d dl mZmZmZ zd dlmZ W n ey! d dlmZ Y nw G dd� de�ZdS )� )�absolute_import�division�unicode_literals)�Mappingc s: e Zd ZdZd� fdd� Zdd� Zdd� Zd d � Z� ZS )�TriezAbstract base class for triesNc s0 t t| ��� }� d u rt|�S � fdd�|D �S )Nc s h | ] }|� � �r|�qS � )� startswith)�.0�x��prefixr �B/usr/lib/python3/dist-packages/pip/_vendor/html5lib/_trie/_base.py� <setcomp> s zTrie.keys.<locals>.<setcomp>)�superr �keys�set)�selfr r �� __class__r r r s z Trie.keysc C s"