GRAYBYTE WORDPRESS FILE MANAGER3567

Server IP : 198.54.121.189 / Your IP : 216.73.216.34
System : Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF
Directory : /lib64/python3.8/
Upload Files :
Current_dir [ Not Writeable ] Document_root [ Writeable ]

Command :


Current File : /lib64/python3.8//quopri.py
#! /usr/bin/python3.8

"""Conversions to/from quoted-printable transport encoding as per RFC 1521."""

# (Dec 1991 version).

__all__ = ["encode", "decode", "encodestring", "decodestring"]

ESCAPE = b'='
MAXLINESIZE = 76
HEX = b'0123456789ABCDEF'
EMPTYSTRING = b''

try:
    from binascii import a2b_qp, b2a_qp
except ImportError:
    a2b_qp = None
    b2a_qp = None


def needsquoting(c, quotetabs, header):
    """Decide whether a particular byte ordinal needs to be quoted.

    The 'quotetabs' flag indicates whether embedded tabs and spaces should be
    quoted.  Note that line-ending tabs and spaces are always encoded, as per
    RFC 1521.
    """
    assert isinstance(c, bytes)
    if c in b' \t':
        return quotetabs
    # if header, we have to escape _ because _ is used to escape space
    if c == b'_':
        return header
    return c == ESCAPE or not (b' ' <= c <= b'~')

def quote(c):
    """Quote a single character."""
    assert isinstance(c, bytes) and len(c)==1
    c = ord(c)
    return ESCAPE + bytes((HEX[c//16], HEX[c%16]))



def encode(input, output, quotetabs, header=False):
    """Read 'input', apply quoted-printable encoding, and write to 'output'.

    'input' and 'output' are binary file objects. The 'quotetabs' flag
    indicates whether embedded tabs and spaces should be quoted. Note that
    line-ending tabs and spaces are always encoded, as per RFC 1521.
    The 'header' flag indicates whether we are encoding spaces as _ as per RFC
    1522."""

    if b2a_qp is not None:
        data = input.read()
        odata = b2a_qp(data, quotetabs=quotetabs, header=header)
        output.write(odata)
        return

    def write(s, output=output, lineEnd=b'\n'):
        # RFC 1521 requires that the line ending in a space or tab must have
        # that trailing character encoded.
        if s and s[-1:] in b' \t':
            output.write(s[:-1] + quote(s[-1:]) + lineEnd)
        elif s == b'.':
            output.write(quote(s) + lineEnd)
        else:
            output.write(s + lineEnd)

    prevline = None
    while 1:
        line = input.readline()
        if not line:
            break
        outline = []
        # Strip off any readline induced trailing newline
        stripped = b''
        if line[-1:] == b'\n':
            line = line[:-1]
            stripped = b'\n'
        # Calculate the un-length-limited encoded line
        for c in line:
            c = bytes((c,))
            if needsquoting(c, quotetabs, header):
                c = quote(c)
            if header and c == b' ':
                outline.append(b'_')
            else:
                outline.append(c)
        # First, write out the previous line
        if prevline is not None:
            write(prevline)
        # Now see if we need any soft line breaks because of RFC-imposed
        # length limitations.  Then do the thisline->prevline dance.
        thisline = EMPTYSTRING.join(outline)
        while len(thisline) > MAXLINESIZE:
            # Don't forget to include the soft line break `=' sign in the
            # length calculation!
            write(thisline[:MAXLINESIZE-1], lineEnd=b'=\n')
            thisline = thisline[MAXLINESIZE-1:]
        # Write out the current line
        prevline = thisline
    # Write out the last line, without a trailing newline
    if prevline is not None:
        write(prevline, lineEnd=stripped)

def encodestring(s, quotetabs=False, header=False):
    if b2a_qp is not None:
        return b2a_qp(s, quotetabs=quotetabs, header=header)
    from io import BytesIO
    infp = BytesIO(s)
    outfp = BytesIO()
    encode(infp, outfp, quotetabs, header)
    return outfp.getvalue()



def decode(input, output, header=False):
    """Read 'input', apply quoted-printable decoding, and write to 'output'.
    'input' and 'output' are binary file objects.
    If 'header' is true, decode underscore as space (per RFC 1522)."""

    if a2b_qp is not None:
        data = input.read()
        odata = a2b_qp(data, header=header)
        output.write(odata)
        return

    new = b''
    while 1:
        line = input.readline()
        if not line: break
        i, n = 0, len(line)
        if n > 0 and line[n-1:n] == b'\n':
            partial = 0; n = n-1
            # Strip trailing whitespace
            while n > 0 and line[n-1:n] in b" \t\r":
                n = n-1
        else:
            partial = 1
        while i < n:
            c = line[i:i+1]
            if c == b'_' and header:
                new = new + b' '; i = i+1
            elif c != ESCAPE:
                new = new + c; i = i+1
            elif i+1 == n and not partial:
                partial = 1; break
            elif i+1 < n and line[i+1:i+2] == ESCAPE:
                new = new + ESCAPE; i = i+2
            elif i+2 < n and ishex(line[i+1:i+2]) and ishex(line[i+2:i+3]):
                new = new + bytes((unhex(line[i+1:i+3]),)); i = i+3
            else: # Bad escape sequence -- leave it in
                new = new + c; i = i+1
        if not partial:
            output.write(new + b'\n')
            new = b''
    if new:
        output.write(new)

def decodestring(s, header=False):
    if a2b_qp is not None:
        return a2b_qp(s, header=header)
    from io import BytesIO
    infp = BytesIO(s)
    outfp = BytesIO()
    decode(infp, outfp, header=header)
    return outfp.getvalue()



# Other helper functions
def ishex(c):
    """Return true if the byte ordinal 'c' is a hexadecimal digit in ASCII."""
    assert isinstance(c, bytes)
    return b'0' <= c <= b'9' or b'a' <= c <= b'f' or b'A' <= c <= b'F'

def unhex(s):
    """Get the integer value of a hexadecimal number."""
    bits = 0
    for c in s:
        c = bytes((c,))
        if b'0' <= c <= b'9':
            i = ord('0')
        elif b'a' <= c <= b'f':
            i = ord('a')-10
        elif b'A' <= c <= b'F':
            i = ord(b'A')-10
        else:
            assert False, "non-hex digit "+repr(c)
        bits = bits*16 + (ord(c) - i)
    return bits



def main():
    import sys
    import getopt
    try:
        opts, args = getopt.getopt(sys.argv[1:], 'td')
    except getopt.error as msg:
        sys.stdout = sys.stderr
        print(msg)
        print("usage: quopri [-t | -d] [file] ...")
        print("-t: quote tabs")
        print("-d: decode; default encode")
        sys.exit(2)
    deco = 0
    tabs = 0
    for o, a in opts:
        if o == '-t': tabs = 1
        if o == '-d': deco = 1
    if tabs and deco:
        sys.stdout = sys.stderr
        print("-t and -d are mutually exclusive")
        sys.exit(2)
    if not args: args = ['-']
    sts = 0
    for file in args:
        if file == '-':
            fp = sys.stdin.buffer
        else:
            try:
                fp = open(file, "rb")
            except OSError as msg:
                sys.stderr.write("%s: can't open (%s)\n" % (file, msg))
                sts = 1
                continue
        try:
            if deco:
                decode(fp, sys.stdout.buffer)
            else:
                encode(fp, sys.stdout.buffer, tabs)
        finally:
            if file != '-':
                fp.close()
    if sts:
        sys.exit(sts)



if __name__ == '__main__':
    main()

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
July 11 2025 16:48:16
root / root
0555
__pycache__
--
March 05 2024 23:45:16
root / root
0755
asyncio
--
March 05 2024 23:45:16
root / root
0755
collections
--
March 05 2024 23:45:16
root / root
0755
concurrent
--
March 05 2024 23:45:16
root / root
0755
config-3.8-x86_64-linux-gnu
--
March 05 2024 23:45:24
root / root
0755
ctypes
--
March 05 2024 23:45:16
root / root
0755
curses
--
March 05 2024 23:45:16
root / root
0755
dbm
--
March 05 2024 23:45:16
root / root
0755
distutils
--
March 05 2024 23:45:16
root / root
0755
email
--
March 05 2024 23:45:16
root / root
0755
encodings
--
March 05 2024 23:45:16
root / root
0755
ensurepip
--
March 05 2024 23:45:16
root / root
0755
html
--
March 05 2024 23:45:16
root / root
0755
http
--
March 05 2024 23:45:16
root / root
0755
importlib
--
March 05 2024 23:45:16
root / root
0755
json
--
March 05 2024 23:45:16
root / root
0755
lib-dynload
--
March 05 2024 23:45:16
root / root
0755
lib2to3
--
March 05 2024 23:45:16
root / root
0755
logging
--
March 05 2024 23:45:16
root / root
0755
multiprocessing
--
March 05 2024 23:45:16
root / root
0755
pydoc_data
--
March 05 2024 23:45:16
root / root
0755
site-packages
--
March 05 2024 23:45:16
root / root
0755
sqlite3
--
March 05 2024 23:45:16
root / root
0755
tkinter
--
March 05 2024 23:45:13
root / root
0755
turtledemo
--
March 05 2024 23:45:13
root / root
0755
unittest
--
March 05 2024 23:45:16
root / root
0755
urllib
--
March 05 2024 23:45:16
root / root
0755
venv
--
March 05 2024 23:45:16
root / root
0755
wsgiref
--
March 05 2024 23:45:16
root / root
0755
xml
--
March 05 2024 23:45:16
root / root
0755
xmlrpc
--
March 05 2024 23:45:16
root / root
0755
LICENSE.txt
13.61 KB
June 06 2023 13:32:21
root / root
0644
__future__.py
5.026 KB
June 06 2023 13:32:21
root / root
0644
__phello__.foo.py
0.063 KB
June 06 2023 13:32:21
root / root
0644
_bootlocale.py
1.759 KB
June 06 2023 13:32:21
root / root
0644
_collections_abc.py
25.488 KB
June 06 2023 13:32:21
root / root
0644
_compat_pickle.py
8.544 KB
June 06 2023 13:32:21
root / root
0644
_compression.py
5.215 KB
June 06 2023 13:32:21
root / root
0644
_dummy_thread.py
5.886 KB
June 06 2023 13:32:21
root / root
0644
_markupbase.py
14.256 KB
June 06 2023 13:32:21
root / root
0644
_osx_support.py
21.264 KB
June 06 2023 13:32:21
root / root
0644
_py_abc.py
6.044 KB
June 06 2023 13:32:21
root / root
0644
_pydecimal.py
223.307 KB
June 06 2023 13:32:21
root / root
0644
_pyio.py
90.993 KB
June 06 2023 13:32:21
root / root
0644
_sitebuiltins.py
3.042 KB
June 06 2023 13:32:21
root / root
0644
_strptime.py
24.676 KB
June 06 2023 13:32:21
root / root
0644
_sysconfigdata__linux_x86_64-linux-gnu.py
37.607 KB
October 17 2023 18:12:19
root / root
0644
_sysconfigdata_d_linux_x86_64-linux-gnu.py
37.341 KB
October 17 2023 18:03:44
root / root
0644
_threading_local.py
7.051 KB
June 06 2023 13:32:21
root / root
0644
_weakrefset.py
5.601 KB
June 06 2023 13:32:21
root / root
0644
abc.py
4.384 KB
June 06 2023 13:32:21
root / root
0644
aifc.py
32.045 KB
June 06 2023 13:32:21
root / root
0644
antigravity.py
0.466 KB
June 06 2023 13:32:21
root / root
0644
argparse.py
93.765 KB
June 06 2023 13:32:21
root / root
0644
ast.py
18.783 KB
June 06 2023 13:32:21
root / root
0644
asynchat.py
11.063 KB
June 06 2023 13:32:21
root / root
0644
asyncore.py
19.623 KB
June 06 2023 13:32:21
root / root
0644
base64.py
19.904 KB
June 06 2023 13:32:21
root / root
0755
bdb.py
31.305 KB
June 06 2023 13:32:21
root / root
0644
binhex.py
13.627 KB
June 06 2023 13:32:21
root / root
0644
bisect.py
2.162 KB
June 06 2023 13:32:21
root / root
0644
bz2.py
12.264 KB
June 06 2023 13:32:21
root / root
0644
cProfile.py
6.846 KB
June 06 2023 13:32:21
root / root
0755
calendar.py
24.25 KB
June 06 2023 13:32:21
root / root
0644
cgi.py
33.139 KB
October 17 2023 18:02:14
root / root
0755
cgitb.py
11.813 KB
June 06 2023 13:32:21
root / root
0644
chunk.py
5.308 KB
June 06 2023 13:32:21
root / root
0644
cmd.py
14.512 KB
June 06 2023 13:32:21
root / root
0644
code.py
10.373 KB
June 06 2023 13:32:21
root / root
0644
codecs.py
35.808 KB
June 06 2023 13:32:21
root / root
0644
codeop.py
6.182 KB
June 06 2023 13:32:21
root / root
0644
colorsys.py
3.969 KB
June 06 2023 13:32:21
root / root
0644
compileall.py
13.357 KB
June 06 2023 13:32:21
root / root
0644
configparser.py
53.1 KB
June 06 2023 13:32:21
root / root
0644
contextlib.py
24.409 KB
June 06 2023 13:32:21
root / root
0644
contextvars.py
0.126 KB
June 06 2023 13:32:21
root / root
0644
copy.py
8.458 KB
June 06 2023 13:32:21
root / root
0644
copyreg.py
6.968 KB
June 06 2023 13:32:21
root / root
0644
crypt.py
3.525 KB
June 06 2023 13:32:21
root / root
0644
csv.py
15.766 KB
June 06 2023 13:32:21
root / root
0644
dataclasses.py
48.802 KB
June 06 2023 13:32:21
root / root
0644
datetime.py
86.218 KB
June 06 2023 13:32:21
root / root
0644
decimal.py
0.313 KB
June 06 2023 13:32:21
root / root
0644
difflib.py
82.088 KB
June 06 2023 13:32:21
root / root
0644
dis.py
20.088 KB
June 06 2023 13:32:21
root / root
0644
doctest.py
102.093 KB
June 06 2023 13:32:21
root / root
0644
dummy_threading.py
2.749 KB
June 06 2023 13:32:21
root / root
0644
enum.py
37.242 KB
June 06 2023 13:32:21
root / root
0644
filecmp.py
9.6 KB
June 06 2023 13:32:21
root / root
0644
fileinput.py
14.364 KB
June 06 2023 13:32:21
root / root
0644
fnmatch.py
3.983 KB
June 06 2023 13:32:21
root / root
0644
formatter.py
14.788 KB
June 06 2023 13:32:21
root / root
0644
fractions.py
23.759 KB
June 06 2023 13:32:21
root / root
0644
ftplib.py
34.306 KB
June 06 2023 13:32:21
root / root
0644
functools.py
36.529 KB
June 06 2023 13:32:21
root / root
0644
genericpath.py
4.858 KB
June 06 2023 13:32:21
root / root
0644
getopt.py
7.313 KB
June 06 2023 13:32:21
root / root
0644
getpass.py
5.854 KB
June 06 2023 13:32:21
root / root
0644
gettext.py
26.502 KB
June 06 2023 13:32:21
root / root
0644
glob.py
5.563 KB
June 06 2023 13:32:21
root / root
0644
gzip.py
20.911 KB
June 06 2023 13:32:21
root / root
0644
hashlib.py
8.138 KB
October 17 2023 18:02:14
root / root
0644
heapq.py
22.341 KB
June 06 2023 13:32:21
root / root
0644
hmac.py
7.666 KB
October 17 2023 18:02:14
root / root
0644
imaplib.py
52.35 KB
June 06 2023 13:32:21
root / root
0644
imghdr.py
3.719 KB
June 06 2023 13:32:21
root / root
0644
imp.py
10.289 KB
June 06 2023 13:32:21
root / root
0644
inspect.py
115.771 KB
June 06 2023 13:32:21
root / root
0644
io.py
3.458 KB
June 06 2023 13:32:21
root / root
0644
ipaddress.py
69.965 KB
June 06 2023 13:32:21
root / root
0644
keyword.py
0.923 KB
June 06 2023 13:32:21
root / root
0644
linecache.py
5.205 KB
June 06 2023 13:32:21
root / root
0644
locale.py
76.358 KB
June 06 2023 13:32:21
root / root
0644
lzma.py
12.679 KB
June 06 2023 13:32:21
root / root
0644
mailbox.py
76.817 KB
June 06 2023 13:32:21
root / root
0644
mailcap.py
8.854 KB
June 06 2023 13:32:21
root / root
0644
mimetypes.py
21.156 KB
June 06 2023 13:32:21
root / root
0644
modulefinder.py
23.857 KB
June 06 2023 13:32:21
root / root
0644
netrc.py
5.436 KB
June 06 2023 13:32:21
root / root
0644
nntplib.py
42.247 KB
June 06 2023 13:32:21
root / root
0644
ntpath.py
27.084 KB
June 06 2023 13:32:21
root / root
0644
nturl2path.py
2.819 KB
June 06 2023 13:32:21
root / root
0644
numbers.py
10.004 KB
June 06 2023 13:32:21
root / root
0644
opcode.py
5.672 KB
June 06 2023 13:32:21
root / root
0644
operator.py
10.46 KB
June 06 2023 13:32:21
root / root
0644
optparse.py
58.954 KB
June 06 2023 13:32:21
root / root
0644
os.py
38.081 KB
June 06 2023 13:32:21
root / root
0644
pathlib.py
51.377 KB
June 06 2023 13:32:21
root / root
0644
pdb.py
61.268 KB
June 06 2023 13:32:21
root / root
0755
pickle.py
62.956 KB
June 06 2023 13:32:21
root / root
0644
pickletools.py
91.295 KB
June 06 2023 13:32:21
root / root
0644
pipes.py
8.707 KB
June 06 2023 13:32:21
root / root
0644
pkgutil.py
20.996 KB
June 06 2023 13:32:21
root / root
0644
platform.py
39.478 KB
June 06 2023 13:32:21
root / root
0755
plistlib.py
31.465 KB
June 06 2023 13:32:21
root / root
0644
poplib.py
14.724 KB
June 06 2023 13:32:21
root / root
0644
posixpath.py
15.261 KB
June 06 2023 13:32:21
root / root
0644
pprint.py
20.98 KB
June 06 2023 13:32:21
root / root
0644
profile.py
22.994 KB
June 06 2023 13:32:21
root / root
0755
pstats.py
26.704 KB
June 06 2023 13:32:21
root / root
0644
pty.py
4.694 KB
June 06 2023 13:32:21
root / root
0644
py_compile.py
8.011 KB
October 17 2023 18:02:14
root / root
0644
pyclbr.py
14.897 KB
June 06 2023 13:32:21
root / root
0644
pydoc.py
104.199 KB
October 17 2023 18:12:57
root / root
0644
queue.py
11.09 KB
June 06 2023 13:32:21
root / root
0644
quopri.py
7.082 KB
June 06 2023 13:32:21
root / root
0755
random.py
28.127 KB
June 06 2023 13:32:21
root / root
0644
re.py
15.489 KB
June 06 2023 13:32:21
root / root
0644
reprlib.py
5.144 KB
June 06 2023 13:32:21
root / root
0644
rlcompleter.py
6.931 KB
June 06 2023 13:32:21
root / root
0644
runpy.py
11.77 KB
June 06 2023 13:32:21
root / root
0644
sched.py
6.291 KB
June 06 2023 13:32:21
root / root
0644
secrets.py
1.99 KB
June 06 2023 13:32:21
root / root
0644
selectors.py
18.126 KB
June 06 2023 13:32:21
root / root
0644
shelve.py
8.327 KB
June 06 2023 13:32:21
root / root
0644
shlex.py
13.013 KB
June 06 2023 13:32:21
root / root
0644
shutil.py
50.548 KB
June 06 2023 13:32:21
root / root
0644
signal.py
2.22 KB
June 06 2023 13:32:21
root / root
0644
site.py
21.326 KB
October 17 2023 18:02:14
root / root
0644
smtpd.py
33.896 KB
June 06 2023 13:32:21
root / root
0755
smtplib.py
43.946 KB
June 06 2023 13:32:21
root / root
0755
sndhdr.py
6.933 KB
June 06 2023 13:32:21
root / root
0644
socket.py
34.417 KB
June 06 2023 13:32:21
root / root
0644
socketserver.py
26.656 KB
June 06 2023 13:32:21
root / root
0644
sre_compile.py
26.069 KB
June 06 2023 13:32:21
root / root
0644
sre_constants.py
6.986 KB
June 06 2023 13:32:21
root / root
0644
sre_parse.py
39.287 KB
June 06 2023 13:32:21
root / root
0644
ssl.py
49.57 KB
June 06 2023 13:32:21
root / root
0644
stat.py
5.356 KB
June 06 2023 13:32:21
root / root
0644
statistics.py
38.76 KB
June 06 2023 13:32:21
root / root
0644
string.py
10.288 KB
June 06 2023 13:32:21
root / root
0644
stringprep.py
12.614 KB
June 06 2023 13:32:21
root / root
0644
struct.py
0.251 KB
June 06 2023 13:32:21
root / root
0644
subprocess.py
76.416 KB
June 06 2023 13:32:21
root / root
0644
sunau.py
17.944 KB
June 06 2023 13:32:21
root / root
0644
symbol.py
2.06 KB
October 17 2023 18:04:15
root / root
0644
symtable.py
7.833 KB
June 06 2023 13:32:21
root / root
0644
sysconfig.py
24.313 KB
October 17 2023 18:12:55
root / root
0644
tabnanny.py
11.139 KB
June 06 2023 13:32:21
root / root
0755
tarfile.py
103.978 KB
October 17 2023 18:02:14
root / root
0755
telnetlib.py
22.709 KB
June 06 2023 13:32:21
root / root
0644
tempfile.py
26.892 KB
June 06 2023 13:32:21
root / root
0644
textwrap.py
18.952 KB
June 06 2023 13:32:21
root / root
0644
this.py
0.979 KB
June 06 2023 13:32:21
root / root
0644
threading.py
49.629 KB
June 06 2023 13:32:21
root / root
0644
timeit.py
13.164 KB
June 06 2023 13:32:21
root / root
0755
token.py
2.313 KB
June 06 2023 13:32:21
root / root
0644
tokenize.py
25.235 KB
June 06 2023 13:32:21
root / root
0644
trace.py
29.17 KB
June 06 2023 13:32:21
root / root
0755
traceback.py
23.058 KB
June 06 2023 13:32:21
root / root
0644
tracemalloc.py
16.676 KB
June 06 2023 13:32:21
root / root
0644
tty.py
0.858 KB
June 06 2023 13:32:21
root / root
0644
turtle.py
140.348 KB
June 06 2023 13:32:21
root / root
0644
types.py
9.485 KB
June 06 2023 13:32:21
root / root
0644
typing.py
67.346 KB
June 06 2023 13:32:21
root / root
0644
uu.py
7.106 KB
October 17 2023 18:12:57
root / root
0644
uuid.py
29.8 KB
October 17 2023 18:02:14
root / root
0644
warnings.py
19.227 KB
June 06 2023 13:32:21
root / root
0644
wave.py
17.803 KB
June 06 2023 13:32:21
root / root
0644
weakref.py
20.886 KB
June 06 2023 13:32:21
root / root
0644
webbrowser.py
23.519 KB
June 06 2023 13:32:21
root / root
0755
xdrlib.py
5.774 KB
June 06 2023 13:32:21
root / root
0644
zipapp.py
7.358 KB
June 06 2023 13:32:21
root / root
0644
zipfile.py
85.672 KB
June 06 2023 13:32:21
root / root
0644
zipimport.py
30.044 KB
June 06 2023 13:32:21
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF