OXIESEC PANEL
- Current Dir:
/
/
usr
/
local
/
lib
/
python3.6
/
dist-packages
/
pip
/
_vendor
/
tenacity
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
10/28/2024 06:26:52 AM
rwxr-xr-x
📄
__init__.py
17.83 KB
10/28/2024 06:26:51 AM
rw-r--r--
📁
__pycache__
-
10/28/2024 06:26:52 AM
rwxr-xr-x
📄
_asyncio.py
3.24 KB
10/28/2024 06:26:51 AM
rw-r--r--
📄
_utils.py
1.9 KB
10/28/2024 06:26:51 AM
rw-r--r--
📄
after.py
1.46 KB
10/28/2024 06:26:51 AM
rw-r--r--
📄
before.py
1.34 KB
10/28/2024 06:26:51 AM
rw-r--r--
📄
before_sleep.py
1.86 KB
10/28/2024 06:26:51 AM
rw-r--r--
📄
nap.py
1.35 KB
10/28/2024 06:26:51 AM
rw-r--r--
📄
retry.py
6.49 KB
10/28/2024 06:26:51 AM
rw-r--r--
📄
stop.py
2.72 KB
10/28/2024 06:26:51 AM
rw-r--r--
📄
tornadoweb.py
2.09 KB
10/28/2024 06:26:51 AM
rw-r--r--
📄
wait.py
6.53 KB
10/28/2024 06:26:51 AM
rw-r--r--
Editing: _utils.py
Close
# Copyright 2016 Julien Danjou # Copyright 2016 Joshua Harlow # Copyright 2013-2014 Ray Holder # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import sys import typing # sys.maxsize: # An integer giving the maximum value a variable of type Py_ssize_t can take. MAX_WAIT = sys.maxsize / 2 def find_ordinal(pos_num: int) -> str: # See: https://en.wikipedia.org/wiki/English_numerals#Ordinal_numbers if pos_num == 0: return "th" elif pos_num == 1: return "st" elif pos_num == 2: return "nd" elif pos_num == 3: return "rd" elif 4 <= pos_num <= 20: return "th" else: return find_ordinal(pos_num % 10) def to_ordinal(pos_num: int) -> str: return f"{pos_num}{find_ordinal(pos_num)}" def get_callback_name(cb: typing.Callable[..., typing.Any]) -> str: """Get a callback fully-qualified name. If no name can be produced ``repr(cb)`` is called and returned. """ segments = [] try: segments.append(cb.__qualname__) except AttributeError: try: segments.append(cb.__name__) except AttributeError: pass if not segments: return repr(cb) else: try: # When running under sphinx it appears this can be none? if cb.__module__: segments.insert(0, cb.__module__) except AttributeError: pass return ".".join(segments)