✘✘ GRAYBYTE WORDPRESS FILE MANAGER ✘✘

​🇳​​🇦​​🇲​​🇪♯➤ beluga.o2switch.net ​🇻​♯➤ 4.18.0-553.123.2.lve.el8.x86_64 #1 SMP 🇾​♯➤ 2026

𝗛𝗢𝗠𝗘 𝗜𝗗 ♯➤ 185.154.139.77 ♯➤ 𝗔𝗗𝗠𝗜𝗡 𝗜𝗗 216.73.216.84
𝗢𝗣𝗧𝗜𝗢𝗡𝗦 ♯ CRL ♯➤ 𝗢𝗞 ┃ WGT ♯➤ 𝗢𝗞 ┃ SDO ♯➤ 𝗢𝗙𝗙 ┃ PKEX ♯➤ 𝗢𝗙𝗙
𝗗𝗘𝗔𝗖𝗧𝗜𝗩𝗔𝗧𝗘𝗗 ♯➤ 𝗔𝗟𝗟 𝗪𝗢𝗥𝗞𝗜𝗡𝗚....

𝗛𝗢𝗠𝗘
𝗖𝗨𝗥𝗥𝗘𝗡𝗧 𝗙𝗜𝗟𝗘 : /opt/alt/python37/lib64/python3.7/Tools/scripts//abitype.py
#! /opt/alt/python37/bin/python3.7
# This script converts a C file to use the PEP 384 type definition API
# Usage: abitype.py < old_code > new_code
import re, sys

###### Replacement of PyTypeObject static instances ##############

# classify each token, giving it a one-letter code:
# S: static
# T: PyTypeObject
# I: ident
# W: whitespace
# =, {, }, ; : themselves
def classify():
    res = []
    for t,v in tokens:
        if t == 'other' and v in "={};":
            res.append(v)
        elif t == 'ident':
            if v == 'PyTypeObject':
                res.append('T')
            elif v == 'static':
                res.append('S')
            else:
                res.append('I')
        elif t == 'ws':
            res.append('W')
        else:
            res.append('.')
    return ''.join(res)

# Obtain a list of fields of a PyTypeObject, in declaration order,
# skipping ob_base
# All comments are dropped from the variable (which are typically
# just the slot names, anyway), and information is discarded whether
# the original type was static.
def get_fields(start, real_end):
    pos = start
    # static?
    if tokens[pos][1] == 'static':
        pos += 2
    # PyTypeObject
    pos += 2
    # name
    name = tokens[pos][1]
    pos += 1
    while tokens[pos][1] != '{':
        pos += 1
    pos += 1
    # PyVarObject_HEAD_INIT
    while tokens[pos][0] in ('ws', 'comment'):
        pos += 1
    if tokens[pos][1] != 'PyVarObject_HEAD_INIT':
        raise Exception('%s has no PyVarObject_HEAD_INIT' % name)
    while tokens[pos][1] != ')':
        pos += 1
    pos += 1
    # field definitions: various tokens, comma-separated
    fields = []
    while True:
        while tokens[pos][0] in ('ws', 'comment'):
            pos += 1
        end = pos
        while tokens[end][1] not in ',}':
            if tokens[end][1] == '(':
                nesting = 1
                while nesting:
                    end += 1
                    if tokens[end][1] == '(': nesting+=1
                    if tokens[end][1] == ')': nesting-=1
            end += 1
        assert end < real_end
        # join field, excluding separator and trailing ws
        end1 = end-1
        while tokens[end1][0] in ('ws', 'comment'):
            end1 -= 1
        fields.append(''.join(t[1] for t in tokens[pos:end1+1]))
        if tokens[end][1] == '}':
            break
        pos = end+1
    return name, fields

# List of type slots as of Python 3.2, omitting ob_base
typeslots = [
    'tp_name',
    'tp_basicsize',
    'tp_itemsize',
    'tp_dealloc',
    'tp_print',
    'tp_getattr',
    'tp_setattr',
    'tp_reserved',
    'tp_repr',
    'tp_as_number',
    'tp_as_sequence',
    'tp_as_mapping',
    'tp_hash',
    'tp_call',
    'tp_str',
    'tp_getattro',
    'tp_setattro',
    'tp_as_buffer',
    'tp_flags',
    'tp_doc',
    'tp_traverse',
    'tp_clear',
    'tp_richcompare',
    'tp_weaklistoffset',
    'tp_iter',
    'iternextfunc',
    'tp_methods',
    'tp_members',
    'tp_getset',
    'tp_base',
    'tp_dict',
    'tp_descr_get',
    'tp_descr_set',
    'tp_dictoffset',
    'tp_init',
    'tp_alloc',
    'tp_new',
    'tp_free',
    'tp_is_gc',
    'tp_bases',
    'tp_mro',
    'tp_cache',
    'tp_subclasses',
    'tp_weaklist',
    'tp_del',
    'tp_version_tag',
]

# Generate a PyType_Spec definition
def make_slots(name, fields):
    res = []
    res.append('static PyType_Slot %s_slots[] = {' % name)
    # defaults for spec
    spec = { 'tp_itemsize':'0' }
    for i, val in enumerate(fields):
        if val.endswith('0'):
            continue
        if typeslots[i] in ('tp_name', 'tp_doc', 'tp_basicsize',
                         'tp_itemsize', 'tp_flags'):
            spec[typeslots[i]] = val
            continue
        res.append('    {Py_%s, %s},' % (typeslots[i], val))
    res.append('};')
    res.append('static PyType_Spec %s_spec = {' % name)
    res.append('    %s,' % spec['tp_name'])
    res.append('    %s,' % spec['tp_basicsize'])
    res.append('    %s,' % spec['tp_itemsize'])
    res.append('    %s,' % spec['tp_flags'])
    res.append('    %s_slots,' % name)
    res.append('};\n')
    return '\n'.join(res)


if __name__ == '__main__':

    ############ Simplistic C scanner ##################################
    tokenizer = re.compile(
        r"(?P<preproc>#.*\n)"
        r"|(?P<comment>/\*.*?\*/)"
        r"|(?P<ident>[a-zA-Z_][a-zA-Z0-9_]*)"
        r"|(?P<ws>[ \t\n]+)"
        r"|(?P<other>.)",
        re.MULTILINE)

    tokens = []
    source = sys.stdin.read()
    pos = 0
    while pos != len(source):
        m = tokenizer.match(source, pos)
        tokens.append([m.lastgroup, m.group()])
        pos += len(tokens[-1][1])
        if tokens[-1][0] == 'preproc':
            # continuation lines are considered
            # only in preprocess statements
            while tokens[-1][1].endswith('\\\n'):
                nl = source.find('\n', pos)
                if nl == -1:
                    line = source[pos:]
                else:
                    line = source[pos:nl+1]
                tokens[-1][1] += line
                pos += len(line)

    # Main loop: replace all static PyTypeObjects until
    # there are none left.
    while 1:
        c = classify()
        m = re.search('(SW)?TWIW?=W?{.*?};', c)
        if not m:
            break
        start = m.start()
        end = m.end()
        name, fields = get_fields(start, end)
        tokens[start:end] = [('',make_slots(name, fields))]

    # Output result to stdout
    for t, v in tokens:
        sys.stdout.write(v)


Current_dir [ 𝗡𝗢𝗧 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ] Document_root [ 𝗪𝗥𝗜𝗧𝗘𝗔𝗕𝗟𝗘 ]


[ Back ]
𝗡𝗔𝗠𝗘
𝗦𝗜𝗭𝗘
𝗟𝗔𝗦𝗧 𝗧𝗢𝗨𝗖𝗛
𝗨𝗦𝗘𝗥
𝗦𝗧𝗔𝗧𝗨𝗦
𝗙𝗨𝗡𝗖𝗧𝗜𝗢𝗡𝗦
..
--
25 Jul 2024 8.41 AM
root / linksafe
0755
__pycache__
--
25 Jul 2024 8.41 AM
root / linksafe
0755
2to3
0.094 KB
5 Jun 2023 8.45 PM
root / linksafe
0755
README
4.53 KB
5 Jun 2023 8.45 PM
root / linksafe
0644
abitype.py
5.453 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
analyze_dxp.py
4.085 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
byext.py
3.823 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
byteyears.py
1.622 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
checkpip.py
0.786 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
checkpyc.py
2.174 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
cleanfuture.py
8.432 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
combinerefs.py
4.325 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
copytime.py
0.658 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
crlf.py
0.628 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
db2pickle.py
3.557 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
diff.py
2.215 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
dutree.doc
2.185 KB
5 Jun 2023 8.45 PM
root / linksafe
0644
dutree.py
1.581 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
eptags.py
1.469 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
find-uname.py
1.19 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
find_recursionlimit.py
3.912 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
finddiv.py
2.449 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
findlinksto.py
1.057 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
findnocoding.py
2.895 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
fixcid.py
9.826 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
fixdiv.py
13.567 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
fixheader.py
1.19 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
fixnotice.py
2.998 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
fixps.py
0.89 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
generate_opcode_h.py
1.708 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
get-remote-certificate.py
2.292 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
google.py
0.5 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
gprof2html.py
2.188 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
h2py.py
5.483 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
highlight.py
8.959 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
idle3
0.094 KB
5 Jun 2023 8.45 PM
root / linksafe
0755
ifdef.py
3.644 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
import_diagnostics.py
0.987 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
lfcr.py
0.636 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
linktree.py
2.394 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
lll.py
0.741 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
mailerdaemon.py
7.863 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
make_ctype.py
2.238 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
md5sum.py
2.46 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
mkreal.py
1.604 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
ndiff.py
3.741 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
nm2def.py
2.407 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
objgraph.py
5.79 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
parse_html5_entities.py
3.917 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
parseentities.py
1.667 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
patchcheck.py
9.57 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
pathfix.py
5.039 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
pdeps.py
3.834 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
pickle2db.py
3.938 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
pindent.py
16.736 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
ptags.py
1.209 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
pydoc3
0.078 KB
5 Jun 2023 8.45 PM
root / linksafe
0755
pysource.py
3.785 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
pyvenv
0.427 KB
5 Jun 2023 8.45 PM
root / linksafe
0755
reindent-rst.py
0.284 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
reindent.py
11.385 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
rgrep.py
1.452 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
run_tests.py
1.778 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
serve.py
1.146 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
smelly.py
2.081 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
suff.py
0.509 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
texi2html.py
68.542 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
untabify.py
1.276 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
update_file.py
0.744 KB
17 Apr 2024 5.36 PM
root / linksafe
0644
verify_ensurepip_wheels.py
3.12 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
which.py
1.605 KB
17 Apr 2024 5.36 PM
root / linksafe
0755
win_add2path.py
1.619 KB
17 Apr 2024 5.36 PM
root / linksafe
0644

✘✘ GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME ✘✘
Static GIF Static GIF