Пример #1
0
def is_argument_disabled_due_to_disabled_statements(argument):
    """
    Returns true if any involved statement is disabled.

    :param argument: Argument
    :return: Boolean
    """
    if argument.conclusion_uid is None:
        # check conclusion of given arguments conclusion
        db_argument = DBDiscussionSession.query(Argument).get(
            argument.argument_uid)
        conclusion = DBDiscussionSession(Statement).get(
            db_argument.conclusion_uid)
        if conclusion.is_disabled:
            return True
        # check premisegroup of given arguments conclusion
        premises = __get_all_premises_of_argument(db_argument)
        for premise in premises:
            if premise.statement.is_disabled:
                return True
    else:
        # check conclusion of given argument
        conclusion = DBDiscussionSession.query(Statement).get(
            argument.conclusion_uid)
        if conclusion.is_disabled:
            return True

    # check premisegroup of given argument
    premises = __get_all_premises_of_argument(argument)
    for premise in premises:
        if premise.statement.is_disabled:
            return True

    return False
Пример #2
0
def __refresh_headers_and_url(request, db_user_nickname: str, keep_login: bool, url: str) \
        -> Tuple[List[Tuple[str, str]], str]:
    """
    Refreshed headers for the request. Returns a sequence of header tuples (e.g. ``[('Set-Cookie', 'foo=abc')]``)
    on this request's response.

    :param request: webservers request
    :param db_user_nickname: Nickname of user
    :param keep_login: Boolean
    :param url: String
    :return: Headers, String
    """
    LOG.debug("Login successful / keep_login: %s", keep_login)
    # This query needs to happen, as the session supplying db_user as before is closed in a caller of this function.
    db_user = DBDiscussionSession().query(User).filter_by(
        nickname=db_user_nickname).first()
    db_settings = db_user.settings
    db_settings.should_hold_the_login(keep_login)
    LOG.debug("Remembering headers for %s", db_user.nickname)
    headers = remember(request, db_user.nickname)

    LOG.debug("Update login timestamp")
    db_user.update_last_login()
    transaction.commit()

    ending = ['/?session_expired=true', '/?session_expired=false']
    for e in ending:
        if url.endswith(e):
            url = url[0:-len(e)]

    return headers, url