'Return html for the problem.
Adds submit, reset, save, and hint buttons as necessary based on the problem config
and state.
encapsulate (bool): if True (the default) embed the html in a problem <div>
submit_notification (bool): True if the submit notification should be added'

def get_problem_html(self, encapsulate=True, submit_notification=False):

    try:
        html = self.lcp.get_html()
    except Exception as err:
        html = self.handle_problem_html_error(err)
    html = self.remove_tags_from_html(html)
    submit_button = self.submit_button_name()
    submit_button_submitting = self.submit_button_submitting_name()
    should_enable_submit_button = self.should_enable_submit_button()
    content = {'name': self.display_name_with_default, 'html': html, 'weight': self.weight}
    demand_hints = self.lcp.tree.xpath('//problem/demandhint/hint')
    (demand_hint_possible, should_enable_next_hint) = self._should_enable_demand_hint(demand_hints=demand_hints)
    (answer_notification_type, answer_notification_message) = self._get_answer_notification(render_notifications=submit_notification)
    save_message = None
    if self.has_saved_answers:
        save_message = _(u"Your    answers    were    previously    saved.    Click    '{button_name}'    to    grade    them.").format(button_name=self.submit_button_name())
    context = {'problem': content, 'id': self.location.to_deprecated_string(), 'short_id': self.location.html_id(), 'submit_button': submit_button, 'submit_button_submitting': submit_button_submitting, 'should_enable_submit_button': should_enable_submit_button, 'reset_button': self.should_show_reset_button(), 'save_button': self.should_show_save_button(), 'answer_available': self.answer_available(), 'attempts_used': self.attempts, 'attempts_allowed': self.max_attempts, 'demand_hint_possible': demand_hint_possible, 'should_enable_next_hint': should_enable_next_hint, 'answer_notification_type': answer_notification_type, 'answer_notification_message': answer_notification_message, 'has_saved_answers': self.has_saved_answers, 'save_message': save_message}
    html = self.runtime.render_template('problem.html', context)
    if encapsulate:
        html = ((u'<div    id="problem_{id}"    class="problem"    data-url="{ajax_url}">'.format(id=self.location.html_id(), ajax_url=self.runtime.ajax_url) + html) + '</div>')
    html = self.runtime.replace_urls(html)
    if self.runtime.replace_course_urls:
        html = self.runtime.replace_course_urls(html)
    if self.runtime.replace_jump_to_id_urls:
        html = self.runtime.replace_jump_to_id_urls(html)
    return html
