예제 #1
0
def api_get_csm_message():
    rows = []

    username = request.form['username']
    password = request.form['password']

    db_session = DBSession()

    user, authenticated = \
        User.authenticate(db_session.query, username, password)

    if authenticated:
        # if user.privilege == UserPrivilege.ADMIN:
        csm_messages = SMUInfoLoader.get_cco_csm_messages()
        if len(csm_messages) > 0:
            acknowledgment_date = datetime.datetime(2000, 1, 1)
            if len(user.csm_message) > 0:
                acknowledgment_date = user.csm_message[0].acknowledgment_date

            # csm_messages returns a dictionary keyed by a token (e.g. @12/01/01@Admin,Operator) and message
            readers = [
                UserPrivilege.ADMIN, UserPrivilege.NETWORK_ADMIN,
                UserPrivilege.OPERATOR, UserPrivilege.VIEWER
            ]
            for csm_message in csm_messages:
                tokens = csm_message['token'].split('@')
                date = tokens[0]
                if len(tokens) == 2:
                    readers = tokens[1].split(',')

                if user.privilege in readers:
                    message = csm_message['message']
                    try:
                        delta = datetime.datetime.strptime(
                            date, "%Y/%m/%d") - acknowledgment_date
                        if delta.days > 0:
                            rows.append({
                                'date':
                                date,
                                'message':
                                message.replace("\n", "<br>")
                            })
                    except:
                        logger.exception('api_get_csm_message() hit exception')

    return jsonify(**{'data': rows})
예제 #2
0
def api_get_csm_message():
    rows = []

    username = request.form['username']
    password = request.form['password']

    db_session = DBSession()

    user, authenticated = \
        User.authenticate(db_session.query, username, password)

    if authenticated:
        # if user.privilege == UserPrivilege.ADMIN:
        csm_messages = SMUInfoLoader.get_cco_csm_messages()
        if len(csm_messages) > 0:
            acknowledgment_date = datetime.datetime(2000, 1, 1)
            if len(user.csm_message) > 0:
                acknowledgment_date = user.csm_message[0].acknowledgment_date

            # csm_messages returns a dictionary keyed by a token (e.g. @12/01/01@Admin,Operator) and message
            readers = [ UserPrivilege.ADMIN, UserPrivilege.NETWORK_ADMIN, UserPrivilege.OPERATOR, UserPrivilege.VIEWER]
            for csm_message in csm_messages:
                tokens = csm_message['token'].split('@')
                date = tokens[0]
                if len(tokens) == 2:
                    readers = tokens[1].split(',')

                if user.privilege in readers:
                    message = csm_message['message']
                    try:
                        delta = datetime.datetime.strptime(date, "%Y/%m/%d") - acknowledgment_date
                        if delta.days > 0:
                            rows.append({'date': date, 'message': message.replace("\n", "<br>")})
                    except:
                        logger.exception('api_get_csm_message() hit exception')

    return jsonify(**{'data': rows})