OXIESEC PANEL
- Current Dir:
/
/
var
/
www
/
reader
/
venv
/
lib
/
python3.6
/
site-packages
/
pip
/
_vendor
/
html5lib
/
_trie
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
05/09/2024 06:58:42 AM
rwxr-xr-x
📄
__init__.py
109 bytes
05/09/2024 06:58:42 AM
rw-r--r--
📄
_base.py
1013 bytes
05/09/2024 06:58:42 AM
rw-r--r--
📄
py.py
1.73 KB
05/09/2024 06:58:42 AM
rw-r--r--
Editing: _base.py
Close
from __future__ import absolute_import, division, unicode_literals try: from collections.abc import Mapping except ImportError: # Python 2.7 from collections import Mapping class Trie(Mapping): """Abstract base class for tries""" def keys(self, prefix=None): # pylint:disable=arguments-differ keys = super(Trie, self).keys() if prefix is None: return set(keys) return {x for x in keys if x.startswith(prefix)} def has_keys_with_prefix(self, prefix): for key in self.keys(): if key.startswith(prefix): return True return False def longest_prefix(self, prefix): if prefix in self: return prefix for i in range(1, len(prefix) + 1): if prefix[:-i] in self: return prefix[:-i] raise KeyError(prefix) def longest_prefix_item(self, prefix): lprefix = self.longest_prefix(prefix) return (lprefix, self[lprefix])