def get_all_arguments_with_text_and_url_by_statement_id(statement_uid, urlmanager, color_statement=False, is_jump=False):
"""
Given a statement_uid, it returns all arguments, which use this statement and adds
the corresponding text to it, which normally appears in the bubbles. The resulting
text depends on the provided language.
:param statement_uid: Id to a statement, which should be analyzed
:param color_statement: True, if the statement (specified by the ID) should be colored
:return: list of dictionaries containing some properties of these arguments
:rtype: list
"""
logger('DBAS.LIB', 'get_all_arguments_with_text_by_statement_id', 'main ' + str(statement_uid))
arguments = get_all_arguments_by_statement(statement_uid)
uids = [arg.uid for arg in arguments] if arguments else None
results = list()
sb = '<{} data-argumentation-type="position">'.format(tag_type) if color_statement else ''
se = '</{}>'.format(tag_type) if color_statement else ''
if not uids:
return []
uids.sort()
for uid in uids:
statement_text = get_text_for_statement_uid(statement_uid)
attack_type = 'jump' if is_jump else ''
argument_text = get_text_for_argument_uid(uid, anonymous_style=True, attack_type=attack_type)
pos = argument_text.lower().find(statement_text.lower())
argument_text = argument_text[0:pos] + sb + argument_text[pos:pos + len(statement_text)] + se + argument_text[pos + len(statement_text):]
results.append({'uid': uid,
'text': argument_text,
'url': urlmanager.get_url_for_jump(False, uid)})
return results
评论列表
文章目录