File Explorer

/proc/self/root/proc/self/root/lib64/python3.9/lib2to3/pgen2

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

literals.py1.6 KB · 61 lines
# Copyright 2004-2005 Elemental Security, Inc. All Rights Reserved.# Licensed to PSF under a Contributor Agreement. """Safely evaluate Python string literals without using eval().""" import re simple_escapes = {"a": "\a",                  "b": "\b",                  "f": "\f",                  "n": "\n",                  "r": "\r",                  "t": "\t",                  "v": "\v",                  "'": "'",                  '"': '"',                  "\\": "\\"} def escape(m):    all, tail = m.group(0, 1)    assert all.startswith("\\")    esc = simple_escapes.get(tail)    if esc is not None:        return esc    if tail.startswith("x"):        hexes = tail[1:]        if len(hexes) < 2:            raise ValueError("invalid hex string escape ('\\%s')" % tail)        try:            i = int(hexes, 16)        except ValueError:            raise ValueError("invalid hex string escape ('\\%s')" % tail) from None    else:        try:            i = int(tail, 8)        except ValueError:            raise ValueError("invalid octal string escape ('\\%s')" % tail) from None    return chr(i) def evalString(s):    assert s.startswith("'") or s.startswith('"'), repr(s[:1])    q = s[0]    if s[:3] == q*3:        q = q*3    assert s.endswith(q), repr(s[-len(q):])    assert len(s) >= 2*len(q)    s = s[len(q):-len(q)]    return re.sub(r"\\(\'|\"|\\|[abfnrtv]|x.{0,2}|[0-7]{1,3})", escape, s) def test():    for i in range(256):        c = chr(i)        s = repr(c)        e = evalString(s)        if e != c:            print(i, c, s, e)  if __name__ == "__main__":    test()