WebShell Manager
Linux Stag-Enterprise-Staging-20-04 5.11.0-1019-aws #20~20.04.1-Ubuntu SMP Tue Sep 21 10:40:39 UTC 2021 x86_64
Apache
Server: 172.31.9.152
Your IP: 216.73.216.236
System Info
HOME
snap
core20
2866
usr
lib
python3.8
Command Execution
Execute
File Upload
Upload
New Folder
New File
Name
Type
Size
Permissions
Modified
Actions
..
Parent
-
drwxr-xr-x
2026-04-10 12:14:14
-
__pycache__
Folder
-
0755
2026-04-10 12:14:14
asyncio
Folder
-
0755
2026-04-10 12:14:14
collections
Folder
-
0755
2026-04-10 12:14:14
concurrent
Folder
-
0755
2026-04-10 12:14:14
ctypes
Folder
-
0755
2026-04-10 12:14:14
curses
Folder
-
0755
2026-04-10 12:14:14
dbm
Folder
-
0755
2026-04-10 12:14:14
distutils
Folder
-
0755
2026-04-10 12:14:14
email
Folder
-
0755
2026-04-10 12:14:14
encodings
Folder
-
0755
2026-04-10 12:14:14
html
Folder
-
0755
2026-04-10 12:14:14
http
Folder
-
0755
2026-04-10 12:14:14
importlib
Folder
-
0755
2026-04-10 12:14:14
json
Folder
-
0755
2026-04-10 12:14:14
lib-dynload
Folder
-
0755
2026-04-10 12:14:14
lib2to3
Folder
-
0755
2026-04-10 12:14:14
logging
Folder
-
0755
2026-04-10 12:14:14
multiprocessing
Folder
-
0755
2026-04-10 12:14:14
pydoc_data
Folder
-
0755
2026-04-10 12:14:14
sqlite3
Folder
-
0755
2026-04-10 12:14:14
test
Folder
-
0755
2026-04-10 12:14:14
unittest
Folder
-
0755
2026-04-10 12:14:14
urllib
Folder
-
0755
2026-04-10 12:14:14
venv
Folder
-
0755
2026-04-10 12:14:14
wsgiref
Folder
-
0755
2026-04-10 12:14:14
xml
Folder
-
0755
2026-04-10 12:14:14
xmlrpc
Folder
-
0755
2026-04-10 12:14:14
LICENSE.txt
File
13.6 KB
0644
2026-03-03 11:49:16
__future__.py
File
5.03 KB
0644
2026-03-03 11:49:16
__phello__.foo.py
File
64 B
0644
2026-03-03 11:49:16
_bootlocale.py
File
1.76 KB
0644
2026-03-03 11:49:16
_collections_abc.py
File
25.49 KB
0644
2026-03-03 11:49:16
_compat_pickle.py
File
8.54 KB
0644
2026-03-03 11:49:16
_compression.py
File
5.21 KB
0644
2026-03-03 11:49:16
_dummy_thread.py
File
5.89 KB
0644
2026-03-03 11:49:16
_markupbase.py
File
14.26 KB
0644
2026-03-03 11:49:16
_osx_support.py
File
21.26 KB
0644
2026-03-03 11:49:16
_py_abc.py
File
6.04 KB
0644
2026-03-03 11:49:16
_pydecimal.py
File
223.31 KB
0644
2026-03-03 11:49:16
_pyio.py
File
90.99 KB
0644
2026-03-03 11:49:16
_sitebuiltins.py
File
3.04 KB
0644
2026-03-03 11:49:16
_strptime.py
File
24.68 KB
0644
2026-03-03 11:49:16
_sysconfigdata__linux_x86_64-linux-gnu.py
File
25.23 KB
0644
2026-03-03 11:49:16
_sysconfigdata__x86_64-linux-gnu.py
File
25.23 KB
0644
2026-03-03 11:49:16
_threading_local.py
File
7.05 KB
0644
2026-03-03 11:49:16
_weakrefset.py
File
5.6 KB
0644
2026-03-03 11:49:16
abc.py
File
4.38 KB
0644
2026-03-03 11:49:16
aifc.py
File
32.04 KB
0644
2026-03-03 11:49:16
antigravity.py
File
477 B
0644
2026-03-03 11:49:16
argparse.py
File
94.05 KB
0644
2026-03-03 11:49:16
ast.py
File
18.78 KB
0644
2026-03-03 11:49:16
asynchat.py
File
11.06 KB
0644
2026-03-03 11:49:16
asyncore.py
File
19.62 KB
0644
2026-03-03 11:49:16
base64.py
File
19.9 KB
0755
2026-03-03 11:49:16
bdb.py
File
31.3 KB
0644
2026-03-03 11:49:16
binhex.py
File
13.63 KB
0644
2026-03-03 11:49:16
bisect.py
File
2.16 KB
0644
2026-03-03 11:49:16
bz2.py
File
12.26 KB
0644
2026-03-03 11:49:16
cProfile.py
File
6.83 KB
0755
2026-03-03 11:49:16
calendar.py
File
24.25 KB
0644
2026-03-03 11:49:16
cgi.py
File
33.14 KB
0755
2026-03-03 11:49:16
cgitb.py
File
11.81 KB
0644
2026-03-03 11:49:16
chunk.py
File
5.31 KB
0644
2026-03-03 11:49:16
cmd.py
File
14.51 KB
0644
2026-03-03 11:49:16
code.py
File
10.37 KB
0644
2026-03-03 11:49:16
codecs.py
File
35.81 KB
0644
2026-03-03 11:49:16
codeop.py
File
6.18 KB
0644
2026-03-03 11:49:16
colorsys.py
File
3.97 KB
0644
2026-03-03 11:49:16
compileall.py
File
13.36 KB
0644
2026-03-03 11:49:16
configparser.py
File
53.1 KB
0644
2026-03-03 11:49:16
contextlib.py
File
24.41 KB
0644
2026-03-03 11:49:16
contextvars.py
File
129 B
0644
2026-03-03 11:49:16
copy.py
File
8.46 KB
0644
2026-03-03 11:49:16
copyreg.py
File
6.97 KB
0644
2026-03-03 11:49:16
crypt.py
File
3.53 KB
0644
2026-03-03 11:49:16
csv.py
File
15.77 KB
0644
2026-03-03 11:49:16
dataclasses.py
File
48.8 KB
0644
2026-03-03 11:49:16
datetime.py
File
86.22 KB
0644
2026-03-03 11:49:16
decimal.py
File
320 B
0644
2026-03-03 11:49:16
difflib.py
File
82.09 KB
0644
2026-03-03 11:49:16
dis.py
File
20.09 KB
0644
2026-03-03 11:49:16
doctest.py
File
102.09 KB
0644
2026-03-03 11:49:16
dummy_threading.py
File
2.75 KB
0644
2026-03-03 11:49:16
enum.py
File
37.24 KB
0644
2026-03-03 11:49:16
filecmp.py
File
9.6 KB
0644
2026-03-03 11:49:16
fileinput.py
File
14.36 KB
0644
2026-03-03 11:49:16
fnmatch.py
File
3.98 KB
0644
2026-03-03 11:49:16
formatter.py
File
14.79 KB
0644
2026-03-03 11:49:16
fractions.py
File
23.76 KB
0644
2026-03-03 11:49:16
ftplib.py
File
34.31 KB
0644
2026-03-03 11:49:16
functools.py
File
36.53 KB
0644
2026-03-03 11:49:16
genericpath.py
File
4.86 KB
0644
2026-03-03 11:49:16
getopt.py
File
7.31 KB
0644
2026-03-03 11:49:16
getpass.py
File
5.85 KB
0644
2026-03-03 11:49:16
gettext.py
File
26.92 KB
0644
2026-03-03 11:49:16
glob.py
File
5.56 KB
0644
2026-03-03 11:49:16
gzip.py
File
20.91 KB
0644
2026-03-03 11:49:16
hashlib.py
File
9.5 KB
0644
2026-03-03 11:49:16
heapq.py
File
22.34 KB
0644
2026-03-03 11:49:16
hmac.py
File
6.47 KB
0644
2026-03-03 11:49:16
imaplib.py
File
52.35 KB
0644
2026-03-03 11:49:16
imghdr.py
File
3.72 KB
0644
2026-03-03 11:49:16
imp.py
File
10.29 KB
0644
2026-03-03 11:49:16
inspect.py
File
115.77 KB
0644
2026-03-03 11:49:16
io.py
File
3.46 KB
0644
2026-03-03 11:49:16
ipaddress.py
File
74.55 KB
0644
2026-03-03 11:49:16
keyword.py
File
945 B
0644
2026-03-03 11:49:16
linecache.py
File
5.21 KB
0644
2026-03-03 11:49:16
locale.py
File
76.36 KB
0644
2026-03-03 11:49:16
lzma.py
File
12.68 KB
0644
2026-03-03 11:49:16
mailbox.py
File
76.82 KB
0644
2026-03-03 11:49:16
mailcap.py
File
8.85 KB
0644
2026-03-03 11:49:16
mimetypes.py
File
21.16 KB
0644
2026-03-03 11:49:16
modulefinder.py
File
23.86 KB
0644
2026-03-03 11:49:16
netrc.py
File
5.44 KB
0644
2026-03-03 11:49:16
nntplib.py
File
42.25 KB
0644
2026-03-03 11:49:16
ntpath.py
File
25.21 KB
0644
2026-03-03 11:49:16
nturl2path.py
File
2.82 KB
0644
2026-03-03 11:49:16
numbers.py
File
10 KB
0644
2026-03-03 11:49:16
opcode.py
File
5.67 KB
0644
2026-03-03 11:49:16
operator.py
File
10.46 KB
0644
2026-03-03 11:49:16
optparse.py
File
58.95 KB
0644
2026-03-03 11:49:16
os.py
File
38.08 KB
0644
2026-03-03 11:49:16
pathlib.py
File
51.38 KB
0644
2026-03-03 11:49:16
pdb.py
File
61.27 KB
0755
2026-03-03 11:49:16
pickle.py
File
62.96 KB
0644
2026-03-03 11:49:16
pickletools.py
File
91.29 KB
0644
2026-03-03 11:49:16
pipes.py
File
8.71 KB
0644
2026-03-03 11:49:16
pkgutil.py
File
20.96 KB
0644
2026-03-03 11:49:16
platform.py
File
39.48 KB
0755
2026-03-03 11:49:16
plistlib.py
File
31.7 KB
0644
2026-03-03 11:49:16
poplib.py
File
14.72 KB
0644
2026-03-03 11:49:16
posixpath.py
File
15.14 KB
0644
2026-03-03 11:49:16
pprint.py
File
20.98 KB
0644
2026-03-03 11:49:16
profile.py
File
22.98 KB
0755
2026-03-03 11:49:16
pstats.py
File
26.7 KB
0644
2026-03-03 11:49:16
pty.py
File
4.69 KB
0644
2026-03-03 11:49:16
py_compile.py
File
7.96 KB
0644
2026-03-03 11:49:16
pyclbr.py
File
14.9 KB
0644
2026-03-03 11:49:16
pydoc.py
File
104.36 KB
0755
2026-03-03 11:49:16
queue.py
File
11.09 KB
0644
2026-03-03 11:49:16
quopri.py
File
7.08 KB
0755
2026-03-03 11:49:16
random.py
File
28.13 KB
0644
2026-03-03 11:49:16
re.py
File
15.49 KB
0644
2026-03-03 11:49:16
reprlib.py
File
5.14 KB
0644
2026-03-03 11:49:16
rlcompleter.py
File
6.93 KB
0644
2026-03-03 11:49:16
runpy.py
File
11.77 KB
0644
2026-03-03 11:49:16
sched.py
File
6.29 KB
0644
2026-03-03 11:49:16
secrets.py
File
1.99 KB
0644
2026-03-03 11:49:16
selectors.py
File
18.13 KB
0644
2026-03-03 11:49:16
shelve.py
File
8.33 KB
0644
2026-03-03 11:49:16
shlex.py
File
13.01 KB
0644
2026-03-03 11:49:16
shutil.py
File
50.27 KB
0644
2026-03-03 11:49:16
signal.py
File
2.22 KB
0644
2026-03-03 11:49:16
site.py
File
21.81 KB
0644
2026-03-03 11:49:16
sitecustomize.py
File
155 B
0644
2020-03-13 10:14:16
smtpd.py
File
33.9 KB
0755
2026-03-03 11:49:16
smtplib.py
File
43.75 KB
0755
2026-03-03 11:49:16
sndhdr.py
File
6.93 KB
0644
2026-03-03 11:49:16
socket.py
File
34.42 KB
0644
2026-03-03 11:49:16
socketserver.py
File
26.66 KB
0644
2026-03-03 11:49:16
sre_compile.py
File
26.07 KB
0644
2026-03-03 11:49:16
sre_constants.py
File
6.99 KB
0644
2026-03-03 11:49:16
sre_parse.py
File
39.29 KB
0644
2026-03-03 11:49:16
ssl.py
File
51.14 KB
0644
2026-03-03 11:49:16
stat.py
File
5.36 KB
0644
2026-03-03 11:49:16
statistics.py
File
38.76 KB
0644
2026-03-03 11:49:16
string.py
File
10.29 KB
0644
2026-03-03 11:49:16
stringprep.py
File
12.61 KB
0644
2026-03-03 11:49:16
struct.py
File
257 B
0644
2026-03-03 11:49:16
subprocess.py
File
75.52 KB
0644
2026-03-03 11:49:16
sunau.py
File
17.94 KB
0644
2026-03-03 11:49:16
symbol.py
File
2.06 KB
0644
2026-03-03 11:49:16
symtable.py
File
7.83 KB
0644
2026-03-03 11:49:16
sysconfig.py
File
24.45 KB
0644
2026-03-03 11:49:16
tabnanny.py
File
11.14 KB
0755
2026-03-03 11:49:16
tarfile.py
File
93.34 KB
0755
2026-03-03 11:49:16
telnetlib.py
File
22.71 KB
0644
2026-03-03 11:49:16
tempfile.py
File
32.15 KB
0644
2026-03-03 11:49:16
textwrap.py
File
18.95 KB
0644
2026-03-03 11:49:16
this.py
File
1003 B
0644
2026-03-03 11:49:16
threading.py
File
49.63 KB
0644
2026-03-03 11:49:16
timeit.py
File
13.16 KB
0755
2026-03-03 11:49:16
token.py
File
2.31 KB
0644
2026-03-03 11:49:16
tokenize.py
File
25.24 KB
0644
2026-03-03 11:49:16
trace.py
File
29.16 KB
0755
2026-03-03 11:49:16
traceback.py
File
23.06 KB
0644
2026-03-03 11:49:16
tracemalloc.py
File
16.68 KB
0644
2026-03-03 11:49:16
tty.py
File
879 B
0644
2026-03-03 11:49:16
turtle.py
File
140.35 KB
0644
2026-03-03 11:49:16
types.py
File
9.49 KB
0644
2026-03-03 11:49:16
typing.py
File
67.35 KB
0644
2026-03-03 11:49:16
uu.py
File
6.79 KB
0755
2026-03-03 11:49:16
uuid.py
File
29.75 KB
0644
2026-03-03 11:49:16
warnings.py
File
19.23 KB
0644
2026-03-03 11:49:16
wave.py
File
17.8 KB
0644
2026-03-03 11:49:16
weakref.py
File
20.89 KB
0644
2026-03-03 11:49:16
webbrowser.py
File
23.52 KB
0755
2026-03-03 11:49:16
xdrlib.py
File
5.77 KB
0644
2026-03-03 11:49:16
zipapp.py
File
7.36 KB
0644
2026-03-03 11:49:16
zipfile.py
File
87.05 KB
0644
2026-03-03 11:49:16
zipimport.py
File
30.04 KB
0644
2026-03-03 11:49:16
0
items selected
Choose Action...
Delete Selected
Zip Selected
Unzip Selected
Execute Action
Clear Selection
© Ultimate WebShell | Auto Bypass Enabled
Create New Folder
Create New File
Edit File: warnings.py
"""Python part of the warnings subsystem.""" import sys __all__ = ["warn", "warn_explicit", "showwarning", "formatwarning", "filterwarnings", "simplefilter", "resetwarnings", "catch_warnings"] def showwarning(message, category, filename, lineno, file=None, line=None): """Hook to write a warning to a file; replace if you like.""" msg = WarningMessage(message, category, filename, lineno, file, line) _showwarnmsg_impl(msg) def formatwarning(message, category, filename, lineno, line=None): """Function to format a warning the standard way.""" msg = WarningMessage(message, category, filename, lineno, None, line) return _formatwarnmsg_impl(msg) def _showwarnmsg_impl(msg): file = msg.file if file is None: file = sys.stderr if file is None: # sys.stderr is None when run with pythonw.exe: # warnings get lost return text = _formatwarnmsg(msg) try: file.write(text) except OSError: # the file (probably stderr) is invalid - this warning gets lost. pass def _formatwarnmsg_impl(msg): category = msg.category.__name__ s = f"{msg.filename}:{msg.lineno}: {category}: {msg.message}\n" if msg.line is None: try: import linecache line = linecache.getline(msg.filename, msg.lineno) except Exception: # When a warning is logged during Python shutdown, linecache # and the import machinery don't work anymore line = None linecache = None else: line = msg.line if line: line = line.strip() s += " %s\n" % line if msg.source is not None: try: import tracemalloc # Logging a warning should not raise a new exception: # catch Exception, not only ImportError and RecursionError. except Exception: # don't suggest to enable tracemalloc if it's not available tracing = True tb = None else: tracing = tracemalloc.is_tracing() try: tb = tracemalloc.get_object_traceback(msg.source) except Exception: # When a warning is logged during Python shutdown, tracemalloc # and the import machinery don't work anymore tb = None if tb is not None: s += 'Object allocated at (most recent call last):\n' for frame in tb: s += (' File "%s", lineno %s\n' % (frame.filename, frame.lineno)) try: if linecache is not None: line = linecache.getline(frame.filename, frame.lineno) else: line = None except Exception: line = None if line: line = line.strip() s += ' %s\n' % line elif not tracing: s += (f'{category}: Enable tracemalloc to get the object ' f'allocation traceback\n') return s # Keep a reference to check if the function was replaced _showwarning_orig = showwarning def _showwarnmsg(msg): """Hook to write a warning to a file; replace if you like.""" try: sw = showwarning except NameError: pass else: if sw is not _showwarning_orig: # warnings.showwarning() was replaced if not callable(sw): raise TypeError("warnings.showwarning() must be set to a " "function or method") sw(msg.message, msg.category, msg.filename, msg.lineno, msg.file, msg.line) return _showwarnmsg_impl(msg) # Keep a reference to check if the function was replaced _formatwarning_orig = formatwarning def _formatwarnmsg(msg): """Function to format a warning the standard way.""" try: fw = formatwarning except NameError: pass else: if fw is not _formatwarning_orig: # warnings.formatwarning() was replaced return fw(msg.message, msg.category, msg.filename, msg.lineno, msg.line) return _formatwarnmsg_impl(msg) def filterwarnings(action, message="", category=Warning, module="", lineno=0, append=False): """Insert an entry into the list of warnings filters (at the front). 'action' -- one of "error", "ignore", "always", "default", "module", or "once" 'message' -- a regex that the warning message must match 'category' -- a class that the warning must be a subclass of 'module' -- a regex that the module name must match 'lineno' -- an integer line number, 0 matches all warnings 'append' -- if true, append to the list of filters """ assert action in ("error", "ignore", "always", "default", "module", "once"), "invalid action: %r" % (action,) assert isinstance(message, str), "message must be a string" assert isinstance(category, type), "category must be a class" assert issubclass(category, Warning), "category must be a Warning subclass" assert isinstance(module, str), "module must be a string" assert isinstance(lineno, int) and lineno >= 0, \ "lineno must be an int >= 0" if message or module: import re if message: message = re.compile(message, re.I) else: message = None if module: module = re.compile(module) else: module = None _add_filter(action, message, category, module, lineno, append=append) def simplefilter(action, category=Warning, lineno=0, append=False): """Insert a simple entry into the list of warnings filters (at the front). A simple filter matches all modules and messages. 'action' -- one of "error", "ignore", "always", "default", "module", or "once" 'category' -- a class that the warning must be a subclass of 'lineno' -- an integer line number, 0 matches all warnings 'append' -- if true, append to the list of filters """ assert action in ("error", "ignore", "always", "default", "module", "once"), "invalid action: %r" % (action,) assert isinstance(lineno, int) and lineno >= 0, \ "lineno must be an int >= 0" _add_filter(action, None, category, None, lineno, append=append) def _add_filter(*item, append): # Remove possible duplicate filters, so new one will be placed # in correct place. If append=True and duplicate exists, do nothing. if not append: try: filters.remove(item) except ValueError: pass filters.insert(0, item) else: if item not in filters: filters.append(item) _filters_mutated() def resetwarnings(): """Clear the list of warning filters, so that no filters are active.""" filters[:] = [] _filters_mutated() class _OptionError(Exception): """Exception used by option processing helpers.""" pass # Helper to process -W options passed via sys.warnoptions def _processoptions(args): for arg in args: try: _setoption(arg) except _OptionError as msg: print("Invalid -W option ignored:", msg, file=sys.stderr) # Helper for _processoptions() def _setoption(arg): parts = arg.split(':') if len(parts) > 5: raise _OptionError("too many fields (max 5): %r" % (arg,)) while len(parts) < 5: parts.append('') action, message, category, module, lineno = [s.strip() for s in parts] action = _getaction(action) category = _getcategory(category) if message or module: import re if message: message = re.escape(message) if module: module = re.escape(module) + r'\Z' if lineno: try: lineno = int(lineno) if lineno < 0: raise ValueError except (ValueError, OverflowError): raise _OptionError("invalid lineno %r" % (lineno,)) from None else: lineno = 0 filterwarnings(action, message, category, module, lineno) # Helper for _setoption() def _getaction(action): if not action: return "default" if action == "all": return "always" # Alias for a in ('default', 'always', 'ignore', 'module', 'once', 'error'): if a.startswith(action): return a raise _OptionError("invalid action: %r" % (action,)) # Helper for _setoption() def _getcategory(category): if not category: return Warning if '.' not in category: import builtins as m klass = category else: module, _, klass = category.rpartition('.') try: m = __import__(module, None, None, [klass]) except ImportError: raise _OptionError("invalid module name: %r" % (module,)) from None try: cat = getattr(m, klass) except AttributeError: raise _OptionError("unknown warning category: %r" % (category,)) from None if not issubclass(cat, Warning): raise _OptionError("invalid warning category: %r" % (category,)) return cat def _is_internal_frame(frame): """Signal whether the frame is an internal CPython implementation detail.""" filename = frame.f_code.co_filename return 'importlib' in filename and '_bootstrap' in filename def _next_external_frame(frame): """Find the next frame that doesn't involve CPython internals.""" frame = frame.f_back while frame is not None and _is_internal_frame(frame): frame = frame.f_back return frame # Code typically replaced by _warnings def warn(message, category=None, stacklevel=1, source=None): """Issue a warning, or maybe ignore it or raise an exception.""" # Check if message is already a Warning object if isinstance(message, Warning): category = message.__class__ # Check category argument if category is None: category = UserWarning if not (isinstance(category, type) and issubclass(category, Warning)): raise TypeError("category must be a Warning subclass, " "not '{:s}'".format(type(category).__name__)) # Get context information try: if stacklevel <= 1 or _is_internal_frame(sys._getframe(1)): # If frame is too small to care or if the warning originated in # internal code, then do not try to hide any frames. frame = sys._getframe(stacklevel) else: frame = sys._getframe(1) # Look for one frame less since the above line starts us off. for x in range(stacklevel-1): frame = _next_external_frame(frame) if frame is None: raise ValueError except ValueError: globals = sys.__dict__ filename = "sys" lineno = 1 else: globals = frame.f_globals filename = frame.f_code.co_filename lineno = frame.f_lineno if '__name__' in globals: module = globals['__name__'] else: module = "<string>" registry = globals.setdefault("__warningregistry__", {}) warn_explicit(message, category, filename, lineno, module, registry, globals, source) def warn_explicit(message, category, filename, lineno, module=None, registry=None, module_globals=None, source=None): lineno = int(lineno) if module is None: module = filename or "<unknown>" if module[-3:].lower() == ".py": module = module[:-3] # XXX What about leading pathname? if registry is None: registry = {} if registry.get('version', 0) != _filters_version: registry.clear() registry['version'] = _filters_version if isinstance(message, Warning): text = str(message) category = message.__class__ else: text = message message = category(message) key = (text, category, lineno) # Quick test for common case if registry.get(key): return # Search the filters for item in filters: action, msg, cat, mod, ln = item if ((msg is None or msg.match(text)) and issubclass(category, cat) and (mod is None or mod.match(module)) and (ln == 0 or lineno == ln)): break else: action = defaultaction # Early exit actions if action == "ignore": return # Prime the linecache for formatting, in case the # "file" is actually in a zipfile or something. import linecache linecache.getlines(filename, module_globals) if action == "error": raise message # Other actions if action == "once": registry[key] = 1 oncekey = (text, category) if onceregistry.get(oncekey): return onceregistry[oncekey] = 1 elif action == "always": pass elif action == "module": registry[key] = 1 altkey = (text, category, 0) if registry.get(altkey): return registry[altkey] = 1 elif action == "default": registry[key] = 1 else: # Unrecognized actions are errors raise RuntimeError( "Unrecognized action (%r) in warnings.filters:\n %s" % (action, item)) # Print message and context msg = WarningMessage(message, category, filename, lineno, source) _showwarnmsg(msg) class WarningMessage(object): _WARNING_DETAILS = ("message", "category", "filename", "lineno", "file", "line", "source") def __init__(self, message, category, filename, lineno, file=None, line=None, source=None): self.message = message self.category = category self.filename = filename self.lineno = lineno self.file = file self.line = line self.source = source self._category_name = category.__name__ if category else None def __str__(self): return ("{message : %r, category : %r, filename : %r, lineno : %s, " "line : %r}" % (self.message, self._category_name, self.filename, self.lineno, self.line)) class catch_warnings(object): """A context manager that copies and restores the warnings filter upon exiting the context. The 'record' argument specifies whether warnings should be captured by a custom implementation of warnings.showwarning() and be appended to a list returned by the context manager. Otherwise None is returned by the context manager. The objects appended to the list are arguments whose attributes mirror the arguments to showwarning(). The 'module' argument is to specify an alternative module to the module named 'warnings' and imported under that name. This argument is only useful when testing the warnings module itself. """ def __init__(self, *, record=False, module=None): """Specify whether to record warnings and if an alternative module should be used other than sys.modules['warnings']. For compatibility with Python 3.0, please consider all arguments to be keyword-only. """ self._record = record self._module = sys.modules['warnings'] if module is None else module self._entered = False def __repr__(self): args = [] if self._record: args.append("record=True") if self._module is not sys.modules['warnings']: args.append("module=%r" % self._module) name = type(self).__name__ return "%s(%s)" % (name, ", ".join(args)) def __enter__(self): if self._entered: raise RuntimeError("Cannot enter %r twice" % self) self._entered = True self._filters = self._module.filters self._module.filters = self._filters[:] self._module._filters_mutated() self._showwarning = self._module.showwarning self._showwarnmsg_impl = self._module._showwarnmsg_impl if self._record: log = [] self._module._showwarnmsg_impl = log.append # Reset showwarning() to the default implementation to make sure # that _showwarnmsg() calls _showwarnmsg_impl() self._module.showwarning = self._module._showwarning_orig return log else: return None def __exit__(self, *exc_info): if not self._entered: raise RuntimeError("Cannot exit %r without entering first" % self) self._module.filters = self._filters self._module._filters_mutated() self._module.showwarning = self._showwarning self._module._showwarnmsg_impl = self._showwarnmsg_impl # Private utility function called by _PyErr_WarnUnawaitedCoroutine def _warn_unawaited_coroutine(coro): msg_lines = [ f"coroutine '{coro.__qualname__}' was never awaited\n" ] if coro.cr_origin is not None: import linecache, traceback def extract(): for filename, lineno, funcname in reversed(coro.cr_origin): line = linecache.getline(filename, lineno) yield (filename, lineno, funcname, line) msg_lines.append("Coroutine created at (most recent call last)\n") msg_lines += traceback.format_list(list(extract())) msg = "".join(msg_lines).rstrip("\n") # Passing source= here means that if the user happens to have tracemalloc # enabled and tracking where the coroutine was created, the warning will # contain that traceback. This does mean that if they have *both* # coroutine origin tracking *and* tracemalloc enabled, they'll get two # partially-redundant tracebacks. If we wanted to be clever we could # probably detect this case and avoid it, but for now we don't bother. warn(msg, category=RuntimeWarning, stacklevel=2, source=coro) # filters contains a sequence of filter 5-tuples # The components of the 5-tuple are: # - an action: error, ignore, always, default, module, or once # - a compiled regex that must match the warning message # - a class representing the warning category # - a compiled regex that must match the module that is being warned # - a line number for the line being warning, or 0 to mean any line # If either if the compiled regexs are None, match anything. try: from _warnings import (filters, _defaultaction, _onceregistry, warn, warn_explicit, _filters_mutated) defaultaction = _defaultaction onceregistry = _onceregistry _warnings_defaults = True except ImportError: filters = [] defaultaction = "default" onceregistry = {} _filters_version = 1 def _filters_mutated(): global _filters_version _filters_version += 1 _warnings_defaults = False # Module initialization _processoptions(sys.warnoptions) if not _warnings_defaults: # Several warning categories are ignored by default in regular builds if not hasattr(sys, 'gettotalrefcount'): filterwarnings("default", category=DeprecationWarning, module="__main__", append=1) simplefilter("ignore", category=DeprecationWarning, append=1) simplefilter("ignore", category=PendingDeprecationWarning, append=1) simplefilter("ignore", category=ImportWarning, append=1) simplefilter("ignore", category=ResourceWarning, append=1) del _warnings_defaults
Rename
Change Permissions
Common permissions: 755 (rwxr-xr-x), 644 (rw-r--r--), 777 (rwxrwxrwx)
System Information
Uname: Linux Stag-Enterprise-Staging-20-04 5.11.0-1019-aws #20~20.04.1-Ubuntu SMP Tue Sep 21 10:40:39 UTC 2021 x86_64 Software: Apache PHP Version: 7.4.3-4ubuntu2.29 Protocol: HTTP/1.1 Server IP: 172.31.9.152 Your IP: 216.73.216.236 Mail: ON Curl: ON Owner: www-data MySQL: ON Disabled Functions: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Auto Bypass: ENABLED