~kevang/mnemosyne-proj/grade-shortcuts-improvements

« back to all changes in this revision

Viewing changes to mnemosyne/mnemosyne/libmnemosyne/controllers/default_controller.py

  • Committer: Peter Bienstman
  • Date: 2011-09-09 19:06:28 UTC
  • Revision ID: peter.bienstman@ugent.be-20110909190628-cr3qqrcl888hilo6
More api rework.

Show diffs side-by-side

added added

removed removed

Lines of Context:
80
80
        """
81
81
 
82
82
        assert grade in [-1, 2, 3, 4, 5] # Use -1 for yet to learn cards.
83
 
        assert card_type.is_data_valid(fact_data)
 
83
        assert card_type.is_fact_data_valid(fact_data)
84
84
        db = self.database()
85
85
        tags = db.get_or_create_tags_with_names(tag_names)
86
86
        fact = Fact(fact_data)
95
95
                        return
96
96
                answer = self.main_widget().show_question(\
97
97
                  _("There is already data present for:\n\n") +
98
 
                  "/".join(fact[k] for k in card_type.required_keys),
 
98
                  "/".join(fact[k] for k in card_type.required_fact_keys),
99
99
                  _("&Merge and edit"), _("&Add as is"), _("&Do not add"))
100
100
                if answer == 0: # Merge and edit.
101
101
                    db.add_fact(fact)
108
108
                    merged_fact_data = copy.copy(fact.data)
109
109
                    for duplicate in duplicates:
110
110
                        for key in fact_data:
111
 
                            if key not in card_type.required_keys \
 
111
                            if key not in card_type.required_fact_keys \
112
112
                                and key in duplicate.data:
113
113
                                merged_fact_data[key] += " / " + duplicate[key]
114
114
                    self.delete_facts_and_their_cards(duplicates)
172
172
        db = self.database()
173
173
        cards_from_fact = db.cards_from_fact(fact)
174
174
        assert cards_from_fact[0].card_type == old_card_type
175
 
        assert new_card_type.is_data_valid(new_fact_data)
 
175
        assert new_card_type.is_fact_data_valid(new_fact_data)
176
176
        converter = self.component_manager.current\
177
177
              ("card_type_converter", used_for=(old_card_type.__class__,
178
178
                                                new_card_type.__class__))
240
240
            new_card_type, new_tag_names, correspondence):        
241
241
        db = self.database()
242
242
        sch = self.scheduler()
243
 
        assert new_card_type.is_data_valid(new_fact_data)
 
243
        assert new_card_type.is_fact_data_valid(new_fact_data)
244
244
        # If the old fact contained media, we need to check for orphans.
245
245
        clean_orphaned_static_media_files_needed = \
246
246
            db.fact_contains_static_media_files(fact)
304
304
                new_fact_data = {}
305
305
                for old_key, new_key in correspondence.iteritems():
306
306
                    new_fact_data[new_key] = fact[old_key]
307
 
                assert new_card_type.is_data_valid(new_fact_data)
 
307
                assert new_card_type.is_fact_data_valid(new_fact_data)
308
308
                fact.data = new_fact_data
309
309
                db.update_fact(fact)
310
310
            else: