Advertisement
freddyncalm

Create decks for reCram of my custom Decks for Anki

Apr 24th, 2020
683
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 7.31 KB | None | 0 0
  1. from __future__ import unicode_literals
  2.  
  3. # import the main window object (mw) from aqt
  4. from aqt import mw
  5. # import the "show info" tool from utils.py
  6. from aqt.utils import showInfo
  7. from anki.lang import _
  8. # import all of the Qt GUI library
  9. from aqt.qt import *
  10. from anki.hooks import addHook
  11. from anki.sched import Scheduler
  12. from aqt.reviewer import Reviewer
  13. import aqt.dyndeckconf
  14. import time
  15.  
  16. # We're going to add a menu item below. First we want to create a function to
  17. # be called when the menu item is activated.
  18.  
  19. def renameDeck():
  20.     did = mw.col.decks.id("3-ReRepaso_Lecturas")
  21.     mw.col.decks.select(did)
  22.     deck = mw.col.decks.get(did)
  23.     mw.col.decks.rename(deck, "3-ReRepaso_Lecturaso")
  24.     did = mw.col.decks.id("2-ReRepaso_Kanji")
  25.     mw.col.decks.select(did)
  26.     deck = mw.col.decks.get(did)
  27.     mw.col.decks.rename(deck, "2-ReRepaso_Kanjio")
  28.     did = mw.col.decks.id("1_Nihongo-Rerepaso_Vocabulario")
  29.     mw.col.decks.select(did)
  30.     deck = mw.col.decks.get(did)
  31.     mw.col.decks.rename(deck, "1_Nihongo-Rerepaso_Vocabularioo")
  32.     # time.sleep(2)
  33.     did = mw.col.decks.id("Mazo filtrado 1")
  34.     mw.col.decks.select(did)
  35.     deck = mw.col.decks.get(did)
  36.     mw.col.decks.rename(deck, "1_Nihongo-Rerepaso_Vocabulario")
  37.     did = mw.col.decks.id("Mazo filtrado 2")
  38.     mw.col.decks.select(did)
  39.     deck = mw.col.decks.get(did)
  40.     mw.col.decks.rename(deck, "2-ReRepaso_Kanji")
  41.     did = mw.col.decks.id("Mazo filtrado 3")
  42.     mw.col.decks.select(did)
  43.     deck = mw.col.decks.get(did)
  44.     mw.col.decks.rename(deck, "3-ReRepaso_Lecturas")
  45.  
  46.     # Remove tag:1_ReRepaso_Vocabulario
  47.     # Remove tag:2_ReRepaso_Kanji1
  48.     # Remove tag:3_ReRepaso_Lecturas
  49.     # And add tags to notes of the decks.
  50.  
  51.     nids = mw.col.findNotes("tag:1_ReRepaso_Vocabulario")
  52.     mw.col.tags.bulkRem(nids,"1_ReRepaso_Vocabulario")
  53.  
  54.     nids = mw.col.findNotes("tag:2_ReRepaso_Kanji1")
  55.     mw.col.tags.bulkRem(nids,"2_ReRepaso_Kanji1")
  56.  
  57.     nids = mw.col.findNotes("tag:3_ReRepaso_Lecturas")
  58.     mw.col.tags.bulkRem(nids,"3_ReRepaso_Lecturas")
  59.  
  60.     nids = mw.col.findNotes("deck:'1_Nihongo-Rerepaso_Vocabulario'")
  61.     mw.col.tags.bulkAdd(nids,"1_ReRepaso_Vocabulario")
  62.  
  63.     nids = mw.col.findNotes("deck:'2-ReRepaso_Kanji'")
  64.     mw.col.tags.bulkAdd(nids,"2_ReRepaso_Kanji1")
  65.  
  66.     nids = mw.col.findNotes("deck:'3-ReRepaso_Lecturas'")
  67.     mw.col.tags.bulkAdd(nids,"3_ReRepaso_Lecturas")
  68.  
  69.     did = mw.col.decks.id("1_Nihongo-Rerepaso_Vocabularioo")
  70.     mw.col.decks.select(did)
  71.     deck = mw.col.decks.get(did)
  72.     mw.col.decks.rem(did, True)
  73.     did = mw.col.decks.id("2-ReRepaso_Kanjio")
  74.     mw.col.decks.select(did)
  75.     deck = mw.col.decks.get(did)
  76.     mw.col.decks.rem(did, True)
  77.     did = mw.col.decks.id("3-ReRepaso_Lecturaso")
  78.     mw.col.decks.select(did)
  79.     deck = mw.col.decks.get(did)
  80.     mw.col.decks.rem(did, True)
  81.  
  82.     mw.reset()
  83.  
  84. def borraMazoos():
  85.  
  86.     # Remove tag:1_ReRepaso_Vocabulario
  87.     # Remove tag:2_ReRepaso_Kanji1
  88.     # Remove tag:3_ReRepaso_Lecturas
  89.     # And add tags to deck notes.
  90.  
  91.     nids = mw.col.findNotes("tag:1_ReRepaso_Vocabulario")
  92.     mw.col.tags.bulkRem(nids,"1_ReRepaso_Vocabulario")
  93.  
  94.     nids = mw.col.findNotes("tag:2_ReRepaso_Kanji1")
  95.     mw.col.tags.bulkRem(nids,"2_ReRepaso_Kanji1")
  96.  
  97.     nids = mw.col.findNotes("tag:3_ReRepaso_Lecturas")
  98.     mw.col.tags.bulkRem(nids,"3_ReRepaso_Lecturas")
  99.  
  100.     nids = mw.col.findNotes("deck:'1_Nihongo-Rerepaso_Vocabulario'")
  101.     mw.col.tags.bulkAdd(nids,"1_ReRepaso_Vocabulario")
  102.  
  103.     nids = mw.col.findNotes("deck:'2-ReRepaso_Kanji'")
  104.     mw.col.tags.bulkAdd(nids,"2_ReRepaso_Kanji1")
  105.  
  106.     nids = mw.col.findNotes("deck:'3-ReRepaso_Lecturas'")
  107.     mw.col.tags.bulkAdd(nids,"3_ReRepaso_Lecturas")
  108.  
  109.     did = mw.col.decks.id("1_Nihongo-Rerepaso_Vocabularioo")
  110.     mw.col.decks.select(did)
  111.     deck = mw.col.decks.get(did)
  112.     mw.col.decks.rem(did, True)
  113.     did = mw.col.decks.id("2-ReRepaso_Kanjio")
  114.     mw.col.decks.select(did)
  115.     deck = mw.col.decks.get(did)
  116.     mw.col.decks.rem(did, True)
  117.     did = mw.col.decks.id("3-ReRepaso_Lecturaso")
  118.     mw.col.decks.select(did)
  119.     deck = mw.col.decks.get(did)
  120.     mw.col.decks.rem(did, True)
  121.     mw.reset()
  122.  
  123. def testFunction():
  124.     # get the number of cards in the current collection, which is stored in
  125.     # the main window
  126.     cardCount = mw.col.cardCount()
  127.     # get number of card answered Hard on deck Nihongo-Tudela
  128.     # deck:1_Nihongo-Tudela2 rated:1:2 prop:due>20 -tag:1_ReRepaso_Vocabulario
  129.     nihonCram = mw.col.findCards("deck:1_Nihongo-Tudela2 rated:1:2 prop:due>20 -tag:1_ReRepaso_Vocabulario")
  130.     nihonCount = (len(nihonCram))
  131.     # deck:2_Kanji-KpRI rated:1:2 prop:due>20 -tag:2_ReRepaso_Kanji1
  132.     kanjiCram = mw.col.findCards("deck:2_Kanji-KpRI rated:1:2 prop:due>20 -tag:2_ReRepaso_Kanji1")
  133.     kanjiCount = (len(kanjiCram))
  134.     # deck:3_Lecturas_Kanji rated:1:2 prop:due>20 -tag:3_ReRepaso_Lecturas
  135.     lecturasCram = mw.col.findCards("deck:3_Lecturas_Kanji rated:1:2 prop:due>20 -tag:3_ReRepaso_Lecturas")
  136.     lecturasCount = (len(lecturasCram))
  137.     # show a message box
  138.     showInfo("Numero de tarjetas: %d" % cardCount + "\nSonríe. Ha funcionado.\n\nNihongo a empollar: %d" % nihonCount + "\nKanji a empollar: %d" % kanjiCount + "\nLecturas a empollar: %d" % lecturasCount )
  139.  
  140. def realFunction():
  141.     # get the number of cards in the current collection, which is stored in
  142.     # the main window
  143.     cardCount = mw.col.cardCount()
  144.     # get number of card answered Hard on deck Nihongo-Tudela
  145.     # deck:1_Nihongo-Tudela2 rated:1:2 prop:due>20 -tag:1_ReRepaso_Vocabulario
  146.     nihonCram = mw.col.findCards("deck:'1_Nihongo-Tudela2' rated:1:2 prop:due>20 -tag:'1_ReRepaso_Vocabulario'")
  147.     nihonCount = (len(nihonCram))
  148.     # deck:2_Kanji-KpRI rated:1:2 prop:due>20 -tag:2_ReRepaso_Kanji1
  149.     kanjiCram = mw.col.findCards("deck:'2_Kanji-KpRI' rated:1:2 prop:due>20 -tag:'2_ReRepaso_Kanji1'")
  150.     kanjiCount = (len(kanjiCram))
  151.     # deck:3_Lecturas_Kanji rated:1:2 prop:due>20 -tag:3_ReRepaso_Lecturas
  152.     lecturasCram = mw.col.findCards("deck:'3_Lecturas_Kanji' rated:1:2 prop:due>20 -tag:'3_ReRepaso_Lecturas'")
  153.     lecturasCount = (len(lecturasCram))
  154.     # show a message box
  155.     showInfo("Numero de tarjetas: %d" % cardCount + "\nYahoo! It worked.\n\nNihongo a rerepasar: %d" % nihonCount + "\nKanji a repasar: %d" % kanjiCount + "\nLecturas a repasar: %d" % lecturasCount )
  156.     mw.onCram("deck:'1_Nihongo-Tudela2' rated:1:2 prop:due>20 -tag:'1_ReRepaso_Vocabulario'")
  157.     mw.onCram("deck:'2_Kanji-KpRI' rated:1:2 prop:due>20 -tag:'2_ReRepaso_Kanji1'")
  158.     mw.onCram("deck:'3_Lecturas_Kanji' rated:1:2 prop:due>20 -tag:'3_ReRepaso_Lecturas'")
  159.  
  160. def creaFunction():
  161.     # get the number of cards in the current collection, which is stored in
  162.     # the main window
  163.     n = 1
  164.     nids = mw.col.findNotes("tag:Pruebita_1")
  165.     mw.col.tags.bulkRem(nids,"Pruebita_1")
  166.     showInfo("Cartas con Tag Pruebita_1 añadidas\n")
  167.  
  168. # create a new menu item, "test"
  169. bction = QAction("1-Create Decks", mw)
  170. # set it to call testFunction when it's clicked
  171. bction.triggered.connect(realFunction)
  172. # and add it to the tools menu
  173. mw.form.menuTools.addAction(bction)
  174.  
  175. # create a new menu item, "test"
  176. cction = QAction("2-Move Decks", mw)
  177. # set it to call testFunction when it's clicked
  178. cction.triggered.connect(renameMazo)
  179. # and add it to the tools menu
  180. mw.form.menuTools.addAction(cction)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement