def create_note_type(self, noteTypeName, front, back, css): # Create empty note type mm = ModelManager(mw.col) nt = mm.new(noteTypeName) # Add fields into note type mm.add_field(nt, mm.new_field("Word")) mm.add_field(nt, mm.new_field("WordType")) mm.add_field(nt, mm.new_field("Phonetic")) mm.add_field(nt, mm.new_field("Example")) mm.add_field(nt, mm.new_field("Sound")) mm.add_field(nt, mm.new_field("Image")) mm.add_field(nt, mm.new_field("Content")) mm.add_field(nt, mm.new_field("Copyright")) # Add template into note type template = mm.new_template("AnkiFlash") template["qfmt"] = front template["afmt"] = back nt["css"] = css mm.add_template(nt, template) # Save model / note type mm.save(nt) # Update UI mw.reset()
def add(self, front, back, deck_name, model_name): default_deck = self.collection.decks.allNames()[0] default_model = self.collection.models.allNames()[0] deck_name = unicode(deck_name or default_deck, sys.getfilesystemencoding()) model_name = unicode(model_name or default_model, sys.getfilesystemencoding()) model = self.collection.models.byName(model_name) if not model: mm = ModelManager(self.collection) model = mm.new(model_name) mm.save(model) model['did'] = did = self.collection.decks.id(deck_name) self.collection.models.save() note = self.collection.newNote() note['Front']= unicode(front or "", sys.getfilesystemencoding()) note['Back']= unicode(back or "", sys.getfilesystemencoding()) note.model()['did']= did self.collection.addNote(note) self.collection.save() self.collection.genCards(self.collection.models.nids(model))