def direct_create_new_note(val): c = gc('extractActions')['createNewNote'] model = aqt.mw.col.models.byName(c['notetype']) newNote = Note(aqt.mw.col, model) newNote.tags = [t for t in c.get('tags', []).split(" ") if t] newNote.__setitem__(c['field'], val) newNote.flush() aqt.mw.col.addNote(newNote)
def save(self, remoteDeckID): col = mw.col model = col.models.get(getLocalModelID(self.get('model'))) if not self.get('localID') and not getLocalNoteID( self.get('creationNote')): # Wurde nicht gerade eben gepusht und ist nicht in der Lokalen Datenbank also neu note = Note(col, model) fields = self.getFields() for key in fields: note.__setitem__(str(key), fields.get(key)) note.flush() col.addNote(note) col.save() localID = note.id elif self.get('localID') and not getLocalNoteID( self.get('creationNote') ): # Hat ne lokale Id wurde also eben gepusht aber ist nicht in der Lokalen Datenbank also update # Hier muss noch die remoteID in die datenbank geschrieben werden localID = self.get('localID') print("DO i really need this") else: # Hat nichts von allem also existiert schon also update # get remote id for local localID = getLocalNoteID(self.get('creationNote')) oldNote = Note(col, None, localID) fields = self.getFields() print('test1') for key in fields: print('test2') if key not in oldNote.keys(): print("we changed quite a bit") else: print("test3") print(fields.get(key)) print(oldNote.__getitem__(key)) if not fields.get(key) == oldNote.__getitem__(key): oldNote.__setitem__(key, fields.get(key)) oldNote.flush() col.save() print("we changed it") # if fields.get(key) == #print(oldNote.values()) #print(oldNote.cards()) col.genCards([localID]) col.save() mw.col.db.execute( "INSERT OR REPLACE INTO NoteIDs (RemoteID, RemoteDeckID, LocalID) VALUES (?,?,?)", self.get('creationNote'), remoteDeckID, localID)
def open_in_add_window(val): c = gc('extractActions')['toAddWindow'] # newNote = aqt.mw.col.newNote() # no: uses cucrrent model model = aqt.mw.col.models.byName(c['notetype']) newNote = Note(aqt.mw.col, model) newNote.__setitem__(c['field'], val) newNote.tags = [t for t in c.get('tags', []).split(" ") if t] deckname = c['deck'] modelname = c['notetype'] addCards = aqt.dialogs.open('AddCards', aqt.mw.window()) addCards.editor.setNote(newNote, focusTo=0) addCards.deckChooser.setDeckName(deckname) addCards.modelChooser.models.setText(modelname) addCards.activateWindow()
def save(self, remoteDeckID): col = mw.col model = col.models.get(getLocalModelID(self.get('model'))) if not self.get('localID') and not getLocalNoteID(self.get('creationNote')): # Wurde nicht gerade eben gepusht und ist nicht in der Lokalen Datenbank also neu note = Note(col, model) fields = self.getFields() for key in fields: note.__setitem__(str(key), fields.get(key)) note.flush() col.addNote(note) col.save() localID = note.id elif self.get('localID') and not getLocalNoteID(self.get('creationNote')): # Hat ne lokale Id wurde also eben gepusht aber ist nicht in der Lokalen Datenbank also update # Hier muss noch die remoteID in die datenbank geschrieben werden localID = self.get('localID') print("DO i really need this") else: # Hat nichts von allem also existiert schon also update # get remote id for local localID = getLocalNoteID(self.get('creationNote')) oldNote = Note(col, None, localID) fields = self.getFields() print('test1') for key in fields: print('test2') if key not in oldNote.keys(): print("we changed quite a bit") else: print("test3") print(fields.get(key)) print(oldNote.__getitem__(key)) if not fields.get(key) == oldNote.__getitem__(key): oldNote.__setitem__(key, fields.get(key)) oldNote.flush() col.save() print("we changed it") # if fields.get(key) == #print(oldNote.values()) #print(oldNote.cards()) col.genCards([localID]) col.save() mw.col.db.execute("INSERT OR REPLACE INTO NoteIDs (RemoteID, RemoteDeckID, LocalID) VALUES (?,?,?)", self.get('creationNote'), remoteDeckID, localID)