Exemple #1
0
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)
Exemple #2
0
    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)
Exemple #3
0
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()
Exemple #4
0
    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)