OXIESEC PANEL
- Current Dir:
/
/
opt
/
alt
/
python37
/
lib
/
python3.7
/
site-packages
/
html5lib
/
_trie
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
03/16/2023 11:26:01 AM
rwxr-xr-x
📄
__init__.py
289 bytes
12/07/2017 12:25:26 PM
rw-r--r--
📁
__pycache__
-
03/16/2023 11:26:01 AM
rwxr-xr-x
📄
_base.py
930 bytes
12/07/2017 12:25:26 PM
rw-r--r--
📄
datrie.py
1.14 KB
12/07/2017 12:25:26 PM
rw-r--r--
📄
py.py
1.72 KB
12/07/2017 12:25:26 PM
rw-r--r--
Editing: datrie.py
Close
from __future__ import absolute_import, division, unicode_literals from datrie import Trie as DATrie from six import text_type from ._base import Trie as ABCTrie class Trie(ABCTrie): def __init__(self, data): chars = set() for key in data.keys(): if not isinstance(key, text_type): raise TypeError("All keys must be strings") for char in key: chars.add(char) self._data = DATrie("".join(chars)) for key, value in data.items(): self._data[key] = value def __contains__(self, key): return key in self._data def __len__(self): return len(self._data) def __iter__(self): raise NotImplementedError() def __getitem__(self, key): return self._data[key] def keys(self, prefix=None): return self._data.keys(prefix) def has_keys_with_prefix(self, prefix): return self._data.has_keys_with_prefix(prefix) def longest_prefix(self, prefix): return self._data.longest_prefix(prefix) def longest_prefix_item(self, prefix): return self._data.longest_prefix_item(prefix)