本文整理汇总了Python中redbaron.RedBaron.find方法的典型用法代码示例。如果您正苦于以下问题:Python RedBaron.find方法的具体用法?Python RedBaron.find怎么用?Python RedBaron.find使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类redbaron.RedBaron
的用法示例。
在下文中一共展示了RedBaron.find方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_find_empty
# 需要导入模块: from redbaron import RedBaron [as 别名]
# 或者: from redbaron.RedBaron import find [as 别名]
def test_find_empty():
red = RedBaron("")
assert red.find("stuff") is None
assert red.find("something_else") is None
assert red.find("something_else", useless="pouet") is None
with pytest.raises(AttributeError):
red.will_raises
示例2: test_node_else_elseelseblock_next_generator
# 需要导入模块: from redbaron import RedBaron [as 别名]
# 或者: from redbaron.RedBaron import find [as 别名]
def test_node_else_elseelseblock_next_generator():
red = RedBaron("if a:\n pass\nelse:\n pass")
assert len(list(red.else_.next_generator())) == 0
red = RedBaron("if a:\n pass\nelse:\n pass\nchocolat")
assert list(red.else_.next_generator())[0] is red.find("name", "chocolat")
red = RedBaron("if a:\n pass\nelse:\n pass\nchocolat")
assert list(red.else_.next_generator()) == [red.find("name", "chocolat")]
示例3: test_node_else_elseelseblock_previous_generator
# 需要导入模块: from redbaron import RedBaron [as 别名]
# 或者: from redbaron.RedBaron import find [as 别名]
def test_node_else_elseelseblock_previous_generator():
red = RedBaron("if a:\n pass\nelse:\n pass")
assert len(list(red.else_.previous_generator())) == 1
red = RedBaron("chocolat\nif a:\n pass\nelse:\n pass\n")
assert len(list(red.else_.previous_generator())) == 3
red = RedBaron("chocolat\nif a:\n pass\nelse:\n pass\n")
assert list(red.else_.previous_generator())[0] is red.if_
red = RedBaron("chocolat\nif a:\n pass\nelse:\n pass\n")
assert list(red.else_.previous_generator()) == [red.find("name", "chocolat"), red.find("endl"), red.if_][::-1]
示例4: handle
# 需要导入模块: from redbaron import RedBaron [as 别名]
# 或者: from redbaron.RedBaron import find [as 别名]
def handle(self, *args, **options):
call_command('migrate', interactive = False)
try:
company = Entity.objects.get(owner=True)
self.stdout.write('Already configured')
except Entity.DoesNotExist:
entity = Entity()
entity.name = 'Your company'
entity.description = 'Your company description'
entity.endpoint = 'http://localhost:8000/api/1.0'
entity.provider = True
entity.owner = True
entity.save()
# Add dummy liaison
liaison = Liaison()
liaison.name = 'Your Company Support Center'
liaison.email = '[email protected]'
liaison.phone = '123456789'
liaison.address = 'Testing Road'
liaison.zip = '123456'
liaison.city = 'Testicity'
liaison.provider = entity
liaison.save()
base = getattr(settings, 'BASE_DIR')
settings_path = os.path.join(base, 'Exchange', 'settings.py')
with open(settings_path, 'r+') as f:
read_data = f.read()
f.seek(0)
red = RedBaron(read_data)
red.find("assignment", target=lambda x: x.dumps() == "SENDER").value.replace("'" + str(entity.id) + "'")
secret_key = ''.join([choice('[email protected]#$%^&*(-_=+)') for i in range(50)])
red.find("assignment", target=lambda x: x.dumps() == "SECRET_KEY").value.replace("'" + secret_key + "'")
f.truncate()
code = red.dumps()
f.write(code)
f.closed
print('Database content created')
print('Provider configured')
print('New secret key generated')
self.stdout.write('Setup complete')
示例5: test_node_elif_ifelseblock_next
# 需要导入模块: from redbaron import RedBaron [as 别名]
# 或者: from redbaron.RedBaron import find [as 别名]
def test_node_elif_ifelseblock_next():
red = RedBaron("if a:\n pass\nelif a:\n pass")
assert red.elif_.next is None
red = RedBaron("if a:\n pass\nelif a:\n pass\nelse:\n pass")
assert red.elif_.next is red.else_
red = RedBaron("if a:\n pass\nelif a:\n pass\nchocolat")
assert red.elif_.next is red.find("name", "chocolat")
示例6: compare
# 需要导入模块: from redbaron import RedBaron [as 别名]
# 或者: from redbaron.RedBaron import find [as 别名]
def compare(s1, s2, decay_factor = DEFAULT_DECAY_FACTOR):
red1 = RedBaron(s1)
red2 = RedBaron(s2)
result = []
for ast_f2 in red2.find_all('def'):
ast_f1 = red1.find('def', name = ast_f2.name)
if ast_f1 is not None:
additions, deletions = preprocess_files(ast_f1.dumps(),
ast_f2.dumps())
comments, exceptions = preprocess_comments(ast_f2, additions)
for a in additions:
for c in comments:
line, _ = c.left_bounds
distance = math.fabs(line - a)
score = int(c.score() - float(decay_factor) / (distance * distance))
c.setScore(score if score > 0 else 0)
for d in deletions:
for c in comments:
line, _ = c.left_bounds
line = line + 1 if line >= d else line
distance = math.fabs(line - d)
score = int(c.score() - float(decay_factor) / (distance * distance))
c.setScore(score if score > 0 else 0)
result.extend(comments)
result.extend(exceptions)
else:
result.extend(preprocess_comments(ast_f2, []))
return result
示例7: test_node_if_ifelseblock_previous_intuitive
# 需要导入模块: from redbaron import RedBaron [as 别名]
# 或者: from redbaron.RedBaron import find [as 别名]
def test_node_if_ifelseblock_previous_intuitive():
red = RedBaron("if a:\n pass")
assert red.if_.previous_intuitive is None
red = RedBaron("chocolat\nif a:\n pass")
assert red.if_.previous_intuitive is red.find("endl")
red = RedBaron("pouet\nif a:\n pass\nelif a:\n pass\nelse:\n pass")
assert red.else_.previous_intuitive is red.elif_
assert red.if_.previous is None
示例8: compare
# 需要导入模块: from redbaron import RedBaron [as 别名]
# 或者: from redbaron.RedBaron import find [as 别名]
def compare(s1, s2, decay_factor = PYTHON_DECAY_FACTOR):
try:
red1 = RedBaron(s1)
red2 = RedBaron(s2)
result = []
defs = red2.find_all('def')
length = len(defs)
for ast_f2 in defs:
ast_f1 = red1.find('def', name = ast_f2.name)
if ast_f1 is not None:
additions, deletions = preprocess_files(ast_f1.dumps(),
ast_f2.dumps(),
ast_f2.absolute_bounding_box.top_left.line)
comments, exceptions = preprocess_comments(ast_f2, additions)
for a in additions:
for c in comments:
line, _ = c.left_bounds
distance = line - a
score = compute_addition(c, distance, decay_factor)
c.setScore(score if score > 0 else 0)
for d in deletions:
for c in comments:
line, _ = c.left_bounds
line = line + 1 if line >= d else line
distance = line - d
score = compute_deletion(c, distance, decay_factor)
c.setScore(score if score > 0 else 0)
result.extend(comments)
result.extend(exceptions)
else:
comments, _ = preprocess_comments(ast_f2, [])
result.extend(comments)
print_to_log('Result: ' + str(result))
return result
except Exception as e:
err = 'CommentHealth compare error: ' + str(e)
return []
示例9: test_default_test_value_find_def
# 需要导入模块: from redbaron import RedBaron [as 别名]
# 或者: from redbaron.RedBaron import find [as 别名]
def test_default_test_value_find_def():
red = RedBaron("def a(): pass\ndef b(): pass")
assert red.find("def", "b") == red.find("def", name="b")
示例10: test_default_test_value_find
# 需要导入模块: from redbaron import RedBaron [as 别名]
# 或者: from redbaron.RedBaron import find [as 别名]
def test_default_test_value_find():
red = RedBaron("badger\nmushroom\nsnake")
assert red.find("name", "snake") == red.find("name", value="snake")
示例11: test_identifier_find_kwarg_list_tuple_instance
# 需要导入模块: from redbaron import RedBaron [as 别名]
# 或者: from redbaron.RedBaron import find [as 别名]
def test_identifier_find_kwarg_list_tuple_instance():
red = RedBaron("pouet\n'string'\n1")
assert red.find(["name", "string"]) == red[0]
assert red.find(("name", "string")) == red[0]
示例12: test_find_kwarg_list_tuple_instance
# 需要导入模块: from redbaron import RedBaron [as 别名]
# 或者: from redbaron.RedBaron import find [as 别名]
def test_find_kwarg_list_tuple_instance():
red = RedBaron("pouet\n'string'\n1")
assert red.find("name", value=["pouet", 1]) == red[0]
assert red.find("name", value=("pouet", 1)) == red[0]
示例13: test_find_case_insensitive
# 需要导入模块: from redbaron import RedBaron [as 别名]
# 或者: from redbaron.RedBaron import find [as 别名]
def test_find_case_insensitive():
red = RedBaron("a")
assert red.find("NameNode") is red[0]
assert red.find("NaMeNoDe") is red[0]
assert red.find("namenode") is red[0]
示例14: test_next_rendered_trapped
# 需要导入模块: from redbaron import RedBaron [as 别名]
# 或者: from redbaron.RedBaron import find [as 别名]
def test_next_rendered_trapped():
red = RedBaron(test_indent_code)
assert red("endl")[5].next_rendered is red.find("name", "pouf")
示例15: test_get_root
# 需要导入模块: from redbaron import RedBaron [as 别名]
# 或者: from redbaron.RedBaron import find [as 别名]
def test_get_root():
red = RedBaron("def a(b=c):\n return 42")
assert red is red.find("int").root