OXIESEC PANEL
- Current Dir:
/
/
opt
/
alt
/
python37
/
lib
/
python3.7
/
site-packages
/
exabgp
/
util
Server IP: 2a02:4780:11:1084:0:327f:3464:10
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
03/16/2023 12:55:54 PM
rwxr-xr-x
📄
__init__.py
1.68 KB
03/13/2021 04:30:48 PM
rw-r--r--
📁
__pycache__
-
03/16/2023 12:55:54 PM
rwxr-xr-x
📄
cache.py
1.38 KB
03/13/2021 04:30:48 PM
rw-r--r--
📄
coroutine.py
582 bytes
03/13/2021 04:30:48 PM
rw-r--r--
📄
dictionary.py
448 bytes
03/13/2021 04:30:48 PM
rw-r--r--
📄
dns.py
1002 bytes
03/13/2021 04:30:48 PM
rw-r--r--
📄
enumeration.py
720 bytes
03/13/2021 04:30:48 PM
rw-r--r--
📄
errstr.py
517 bytes
03/13/2021 04:30:48 PM
rw-r--r--
📄
hashtable.py
615 bytes
03/13/2021 04:30:48 PM
rw-r--r--
📄
ip.py
559 bytes
03/13/2021 04:30:48 PM
rw-r--r--
📄
od.py
498 bytes
03/13/2021 04:30:48 PM
rw-r--r--
📄
panic.py
4.1 KB
03/13/2021 04:30:48 PM
rw-r--r--
📄
test.py
189 bytes
03/13/2021 04:30:48 PM
rw-r--r--
📄
trace.py
376 bytes
03/13/2021 04:30:48 PM
rw-r--r--
📄
usage.py
652 bytes
03/13/2021 04:30:48 PM
rw-r--r--
Editing: cache.py
Close
# encoding: utf-8 """ cache.py Created by David Farrar on 2012-12-27. Copyright (c) 2009-2017 Exa Networks. All rights reserved. License: 3-clause BSD. (See the COPYRIGHT file) """ import time class Cache(dict): def __init__(self, min_items=10, max_items=2000, cache_life=3600): dict.__init__(self) self.ordered = [] self.min_items = min_items self.max_items = max_items self.cache_life = cache_life self.last_accessed = int(time.time()) def cache(self, key, value): now = int(time.time()) if now - self.last_accessed >= self.cache_life: self.truncate(self.min_items) elif len(self) >= self.max_items: self.truncate(self.max_items // 2) if key not in self: self.ordered.append(key) self.last_accessed = now self[key] = value return value def retrieve(self, key): now = int(time.time()) res = self[key] if now - self.last_accessed >= self.cache_life: self.truncate(self.min_items) # only update the access time if we modified the cache self.last_accessed = now return res def truncate(self, pos): pos = len(self.ordered) - pos expiring = self.ordered[:pos] self.ordered = self.ordered[pos:] for _key in expiring: self.pop(_key)