Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-
- # it's called "kanagen" because this is a quick hack based on another plugin I made
- import kanagen
- from PyQt4.QtCore import *
- from PyQt4.QtGui import *
- from anki.hooks import addHook
- from anki.facts import Fact
- from anki.utils import canonifyTags
- from ankiqt import mw
- print 'K: MODULE LOADING'
- def onReload(editor):
- reload(kanagen)
- def onLessonTags(editor):
- n = 'Create lesson tags'
- editor.parent.setProgressParent(editor)
- editor.deck.setUndoStart(n)
- addTags(editor.selectedFacts())
- editor.deck.setUndoEnd(n)
- editor.parent.setProgressParent(None)
- editor.updateSearch()
- def addTags(factIds):
- mw.deck.startProgress(max=len(factIds))
- for c, id in enumerate(factIds):
- mw.deck.updateProgress(label='Generating tags...', value=c)
- fact = mw.deck.s.query(Fact).get(id)
- lesson = fact['Lesson']
- fact.tags = canonifyTags('lesson%s' % lesson)
- mw.deck.updateCardQACacheFromIds(factIds, type='facts')
- mw.deck.finishProgress()
- def setupMenu(editor):
- print 'K: setupMenu'
- editor.dialog.menuActions.addSeparator()
- a = QAction('Create lesson tags', editor)
- editor.connect(a, SIGNAL('triggered()'), lambda e=editor: onLessonTags(e))
- editor.dialog.menuActions.addAction(a)
- a = QAction('Reload Kana plugin', editor)
- editor.connect(a, SIGNAL('triggered()'), lambda e=editor: onReload(e))
- editor.dialog.menuActions.addAction(a)
- def init():
- print 'K: init'
- addHook('editor.setupMenus', setupMenu)
- mw.registerPlugin('RTK lesson tagger', 1)
- addHook('init', init)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement