def _get_exploration_data( self, exploration_id, apply_draft=False, version=None): """Returns a description of the given exploration.""" try: if apply_draft: exploration = exp_services.get_exp_with_draft_applied( exploration_id, self.user_id) else: exploration = exp_services.get_exploration_by_id( exploration_id, version=version) except: raise self.PageNotFoundException states = {} for state_name in exploration.states: state_dict = exploration.states[state_name].to_dict() state_dict['unresolved_answers'] = ( stats_services.get_top_unresolved_answers_for_default_rule( exploration_id, state_name)) states[state_name] = state_dict exp_user_data = user_models.ExplorationUserDataModel.get( self.user_id, exploration_id) draft_changes = (exp_user_data.draft_change_list if exp_user_data and exp_user_data.draft_change_list else None) is_version_of_draft_valid = ( exp_services.is_version_of_draft_valid( exploration_id, exp_user_data.draft_change_list_exp_version) if exp_user_data and exp_user_data.draft_change_list_exp_version else None) exploration_email_preferences = ( user_services.get_email_preferences_for_exploration( self.user_id, exploration_id)) editor_dict = { 'category': exploration.category, 'exploration_id': exploration_id, 'init_state_name': exploration.init_state_name, 'language_code': exploration.language_code, 'objective': exploration.objective, 'param_changes': exploration.param_change_dicts, 'param_specs': exploration.param_specs_dict, 'rights': rights_manager.get_exploration_rights( exploration_id).to_dict(), 'show_state_editor_tutorial_on_load': ( self.user_id and not self.has_seen_editor_tutorial), 'skin_customizations': exploration.skin_instance.to_dict()[ 'skin_customizations'], 'states': states, 'tags': exploration.tags, 'title': exploration.title, 'version': exploration.version, 'is_version_of_draft_valid': is_version_of_draft_valid, 'draft_changes': draft_changes, 'email_preferences': exploration_email_preferences.to_dict() } return editor_dict
def _get_exploration_data(self, exploration_id, version=None): """Returns a description of the given exploration.""" try: exploration = exp_services.get_exploration_by_id(exploration_id, version=version) except: raise self.PageNotFoundException states = {} for state_name in exploration.states: state_dict = exploration.states[state_name].to_dict() state_dict['unresolved_answers'] = ( stats_services.get_top_unresolved_answers_for_default_rule( exploration_id, state_name)) states[state_name] = state_dict editor_dict = { 'category': exploration.category, 'exploration_id': exploration_id, 'init_state_name': exploration.init_state_name, 'language_code': exploration.language_code, 'objective': exploration.objective, 'param_changes': exploration.param_change_dicts, 'param_specs': exploration.param_specs_dict, 'rights': rights_manager.get_exploration_rights(exploration_id).to_dict(), 'show_state_editor_tutorial_on_load': (self.user_id and not self.user_has_started_state_editor_tutorial), 'skin_customizations': exploration.skin_instance.to_dict()['skin_customizations'], 'states': states, 'tags': exploration.tags, 'title': exploration.title, 'version': exploration.version, } if feconf.SHOW_SKIN_CHOOSER: editor_dict['all_skin_ids'] = ( skins_services.Registry.get_all_skin_ids()) editor_dict['default_skin_id'] = exploration.default_skin return editor_dict
def _get_exploration_data( self, exploration_id, apply_draft=False, version=None): """Returns a description of the given exploration.""" try: if apply_draft: exploration = exp_services.get_exp_with_draft_applied( exploration_id, self.user_id) else: exploration = exp_services.get_exploration_by_id( exploration_id, version=version) except: raise self.PageNotFoundException states = {} for state_name in exploration.states: state_dict = exploration.states[state_name].to_dict() state_dict['unresolved_answers'] = ( stats_services.get_top_unresolved_answers_for_default_rule( exploration_id, state_name)) states[state_name] = state_dict exp_user_data = user_models.ExplorationUserDataModel.get( self.user_id, exploration_id) draft_changes = (exp_user_data.draft_change_list if exp_user_data and exp_user_data.draft_change_list else None) is_version_of_draft_valid = ( exp_services.is_version_of_draft_valid( exploration_id, exp_user_data.draft_change_list_exp_version) if exp_user_data and exp_user_data.draft_change_list_exp_version else None) editor_dict = { 'category': exploration.category, 'exploration_id': exploration_id, 'init_state_name': exploration.init_state_name, 'language_code': exploration.language_code, 'objective': exploration.objective, 'param_changes': exploration.param_change_dicts, 'param_specs': exploration.param_specs_dict, 'rights': rights_manager.get_exploration_rights( exploration_id).to_dict(), 'show_state_editor_tutorial_on_load': ( self.user_id and not self.has_seen_editor_tutorial), 'skin_customizations': exploration.skin_instance.to_dict()[ 'skin_customizations'], 'states': states, 'tags': exploration.tags, 'title': exploration.title, 'version': exploration.version, 'is_version_of_draft_valid': is_version_of_draft_valid, 'draft_changes': draft_changes } return editor_dict
def test_get_top_unresolved_answers(self): self.assertEquals( stats_services.get_top_unresolved_answers_for_default_rule( 'eid', 'sid'), {}) event_services.AnswerSubmissionEventHandler.record( 'eid', 1, 'sid', self.DEFAULT_RULESPEC_STR, 'a1') self.assertEquals( stats_services.get_top_unresolved_answers_for_default_rule( 'eid', 'sid'), {'a1': 1}) event_services.AnswerSubmissionEventHandler.record( 'eid', 1, 'sid', self.DEFAULT_RULESPEC_STR, 'a1') self.assertEquals( stats_services.get_top_unresolved_answers_for_default_rule( 'eid', 'sid'), {'a1': 2}) event_services.DefaultRuleAnswerResolutionEventHandler.record( 'eid', 'sid', ['a1']) self.assertEquals( stats_services.get_top_unresolved_answers_for_default_rule( 'eid', 'sid'), {})
def _get_exploration_data(self, exploration_id, version=None): """Returns a description of the given exploration.""" try: exploration = exp_services.get_exploration_by_id( exploration_id, version=version) except: raise self.PageNotFoundException states = {} for state_name in exploration.states: state_dict = exploration.states[state_name].to_dict() state_dict['unresolved_answers'] = ( stats_services.get_top_unresolved_answers_for_default_rule( exploration_id, state_name)) states[state_name] = state_dict editor_dict = { 'category': exploration.category, 'exploration_id': exploration_id, 'init_state_name': exploration.init_state_name, 'language_code': exploration.language_code, 'objective': exploration.objective, 'param_changes': exploration.param_change_dicts, 'param_specs': exploration.param_specs_dict, 'rights': rights_manager.get_exploration_rights( exploration_id).to_dict(), 'show_state_editor_tutorial_on_load': ( self.user_id and not self.user_has_started_state_editor_tutorial), 'skin_customizations': exploration.skin_instance.to_dict()[ 'skin_customizations'], 'states': states, 'tags': exploration.tags, 'title': exploration.title, 'version': exploration.version, } if feconf.SHOW_SKIN_CHOOSER: editor_dict['all_skin_ids'] = ( skins_services.Registry.get_all_skin_ids()) editor_dict['default_skin_id'] = exploration.default_skin return editor_dict
def _get_exploration_data(self, exploration_id): """Returns a description of the given exploration.""" try: exploration = exp_services.get_exploration_by_id(exploration_id) except: raise self.PageNotFoundException states = {} for state_name in exploration.states: state_frontend_dict = exploration.export_state_to_frontend_dict( state_name) state_frontend_dict['unresolved_answers'] = ( stats_services.get_top_unresolved_answers_for_default_rule( exploration_id, state_name)) states[state_name] = state_frontend_dict editor_dict = { 'exploration_id': exploration_id, 'init_state_name': exploration.init_state_name, 'category': exploration.category, 'objective': exploration.objective, 'title': exploration.title, 'states': states, 'param_changes': exploration.param_change_dicts, 'param_specs': exploration.param_specs_dict, 'version': exploration.version, 'rights': rights_manager.get_exploration_rights( exploration_id).to_dict(), } if feconf.SHOW_SKIN_CHOOSER: editor_dict['all_skin_ids'] = ( skins_services.Registry.get_all_skin_ids()) editor_dict['default_skin_id'] = exploration.default_skin return editor_dict