def get_all_references_by_reference_text(ref_text=None): """ Query database for all occurrences of a given reference text. Prepare list with information about used issue, author and a url to the statement. :param ref_text: Reference text :return: list of used references """ if ref_text: refs = list() matched: List[StatementReference] = DBDiscussionSession.query( StatementReference).filter( StatementReference.text == ref_text).all() for reference in matched: textversion: TextVersion = reference.statement.get_textversion() statement_url = url_to_statement(reference.issue, reference.statement) refs.append({ "reference": reference, "arguments": get_all_arguments_with_text_by_statement_id( reference.statement_uid), "statement": { "uid": reference.statement_uid, "url": statement_url, "text": textversion.content } }) return refs
def __init__(self, statement_reference: StatementReference): self.uid: int = statement_reference.uid self.text: str = statement_reference.text issue: Issue = statement_reference.issue statement: Statement = statement_reference.statement self.url: str = url_to_statement(issue, statement)
def __init__(self, reference: StatementReference): self.reference = reference self.arguments = get_all_arguments_with_text_by_statement_id( reference.statement_uid) self.statement_url = url_to_statement(reference.issue, reference.statement)
def __init__(self, reference: StatementReference, arguments: List[dict]): self.reference = reference self.arguments = arguments self.statement_url = url_to_statement(reference.issue, reference.statement)