def result():
    if request.method == 'POST':
        # data from front end
        feedback = request.form['review']
        mobile = request.form['domain']

        m.input(feedback, mobile)  # input to model

        feedback_sentiment = m.overall_polarity(
        )  # result of the feedback entered by the user
        feedback_output = m.output()  # sentence_token wise result

        # database object
        db = Db(feedback, mobile, feedback_sentiment)
        db.Insert(mobile)

        previous_list = db.Display(mobile)  # return previous enetered data

        # detecting aspects
        aspects = ap.aspect_cal(feedback)

        # d = {}
        # for key, val in aspect.items():
        #     d[key[0]] = val

        # db.Insert_Aspect(d)

        overall_pos = 0
        overall_neu = 0
        overall_neg = 0
        for review in previous_list:
            polarity = review['Polarity']
            overall_neg += polarity['neg']
            overall_neu += polarity['neu']
            overall_pos += polarity['pos']

        overall_neg /= len(previous_list)
        overall_neu /= len(previous_list)
        overall_pos /= len(previous_list)

        # db.Delete()

        # generating emoji
        if feedback_sentiment['pos'] and feedback_sentiment['neg']:
            emoji = random.choice(neutral)
        elif feedback_sentiment['pos']:
            emoji = random.choice(happy)
        elif feedback_sentiment['neg']:
            emoji = random.choice(negative)
        else:
            emoji = random.choice(neutral)

    return render_template(
        'output.html',
        overall_result=feedback_sentiment,
        result=feedback_output,
        feedback=feedback,
        emoji=emoji,
        text_pos=feedback_sentiment['pos'],
        text_neu=feedback_sentiment['neu'],
        text_neg=feedback_sentiment['neg'],
        # aspect_current=[[('camera', 'photo'), 100, 200, 300], [('battery', 'charge'), 100, 200, 300]]
        overall_neg=overall_neg,
        overall_neu=overall_neu,
        overall_pos=overall_pos,
        aspect_score=aspects,
        camera_pos=aspects[('camera', 'photography')][0] * 100,
        camera_neu=aspects[('camera', 'photography')][1] * 100,
        camera_neg=aspects[('camera', 'photography')][2] * 100,
        battery_pos=aspects['battery'][0] * 100,
        battery_neu=aspects['battery'][0] * 100,
        battery_neg=aspects['battery'][0] * 100,
        display_pos=aspects[('display', 'screen', 'picture', 'look', 'design',
                             'UI', 'touch')][0] * 100,
        display_neu=aspects[('display', 'screen', 'picture', 'look', 'design',
                             'UI', 'touch')][1] * 100,
        display_neg=aspects[('display', 'screen', 'picture', 'look', 'design',
                             'UI', 'touch')][2] * 100,
        charge_neg=aspects[('charge', 'charging', 'power', 'discharing')][0] *
        100,
        charge_neu=aspects[('charge', 'charging', 'power', 'discharing')][1] *
        100,
        charge_pos=aspects[('charge', 'charging', 'power', 'discharing')][2] *
        100,
        sound_neg=aspects[('sound', 'speaker', 'mic', 'microphone', 'music',
                           'voice')][0] * 100,
        sound_neu=aspects[('sound', 'speaker', 'mic', 'microphone', 'music',
                           'voice')][1] * 100,
        sound_pos=aspects[('sound', 'speaker', 'mic', 'microphone', 'music',
                           'voice')][2] * 100,
        processor_neg=aspects[('processor', 'storage', 'performance',
                               'heating', 'hanging ')][0] * 100,
        processor_neu=aspects[('processor', 'storage', 'performance',
                               'heating', 'hanging ')][1] * 100,
        processor_pos=aspects[('processor', 'storage', 'performance',
                               'heating', 'hanging ')][2] * 100,
        price_neg=aspects[('money', 'budget', 'price')][0] * 100,
        price_neu=aspects[('money', 'budget', 'price')][1] * 100,
        price_pos=aspects[('money', 'budget', 'price')][2] * 100,
        security_neg=aspects[('unlocking', 'finger print', 'sensor',
                              'unlock')][0] * 100,
        security_neu=aspects[('unlocking', 'finger print', 'sensor',
                              'unlock')][1] * 100,
        security_pos=aspects[('unlocking', 'finger print', 'sensor',
                              'unlock')][2] * 100)