Hello,
I finished Heisig a while ago and have been doing Core6k sorted since. Sometimes while doing Core I still felt unsure about certain kanji, especially distinguishing between multiple ones with the same big primitive (確、権、観 etc). So I thought it would be nice to have the keyword of the kanji easily accessible while reviewing, to reinforce the link between character and story if needed (I built ON mnemonics on top of the Heisig story that I already had. Extremely effective and fast.)
So, I've finally decided to write the software to do so, here's a tiny script called heisigify.py. It takes a Heisig deck and any arbitrary deck and adds info about the kanji.
Example:
Deck TARGET <Eg. Core2k Sorted Japanese Vocabulary>:
[Card 1]
Field Vocab-Kanji: 生命
Field Kanji-Info: (empty)
Deck HEISIG <Eg. Heisig's Remembering the Kanji>:
[Card 1]
Field Kanji: 生
Field Keyword: Life
[Card 2]
Field Kanji: 命
Field Keyword: Fate
After running the script, in deck TARGET, card 1 becomes:
[Card 1]
Field Vocab-Kanji: 生命
Field Kanji-Info: 生: Life[NEWLINE]命: Fate[NEWLINE]
You can then add the field {{ Kanji-Info }} to your deck model wherever you see fit.
Disclaimer:
PLEASE DO A BACKUP AS INSTRUCTED. This software comes with absolutely no guarantee of correct functionality or preservation of data. It has only suffered very limited testing. It, basically, 'worked for me'. DO A REAL BACKUP OF YOUR DECKS, DO NOT COUNT ON THE ONLINE SYNC FOR THE BACKUP - YOU MIGHT ACCIDENTALLY SYNC A BROKEN DECK AND IT WILL NOT BE RECOVERABLE.
Instructions:
0) Install Python; add it to your system path so you can run python.exe from any folder
1) Make a backup copy of your TARGET deck from %USERFOLDER%\My Documents\Anki\. DO NOT COUNT ON THE ONLINE SYNC. MAKE A REAL COPY SOMEWHERE ELSE ON YOUR HARD DRIVE.
2) In anki, add a field called 'Kanji-Info' in your desired model in the TARGET deck.
2.1) Take note of the name of the field which contains your vocab. The program assumes it to be Vocab-Kanji. If it's different, remember this name as VOCABFIELD.
3) Make a folder wherever you want on your computer, let's say WORKDIR. Download heisigify.py to WORKDIR. Copy your TARGET deck and your HEISIG deck to WORKDIR.
4) Open a command prompt in WORKDIR. On Windows, shift+rightclick>Open Command Window Here
4)
Type python heisigify.py NAME-OF-TARGET-DECK.anki NAME-OF-HEISIG-DECK.anki
If your vocab field is not called 'Vocab-Kanji', use this syntax instead:
python heisigify.py --vocab-field VOCABFIELD NAME-OF-TARGET-DECK.anki NAME-OF-HEISIG-DECK.anki
The system assumes that in the HEISIG deck, the fields are called Kanji and Keyword respectively, and that you have already created a field called Kanji-Info in your TARGET deck. If any of these are non-default, you can configure them using additional parameters. Use python heisigify.py --help for more info.
5) Wait a bit. The deck should be ready soon. Copy the resulting deck back to Anki's folder. DON'T FORGET TO MAKE A BACKUP.
You should now have the additional kanji info in the Kanji-Info field.
I hope this helps someone. Sorry if there are any bugs. I just made it for myself and thought to post it back. I will try to keep it working.
I can't seem to attach a file to this post. Here is the source code, just copy and paste into a text file, and save as heisigify.py. Use the Download button, do not copy paste directly from the browser to avoid the line numbers. http://pastebin.com/nXSAjUaA
I finished Heisig a while ago and have been doing Core6k sorted since. Sometimes while doing Core I still felt unsure about certain kanji, especially distinguishing between multiple ones with the same big primitive (確、権、観 etc). So I thought it would be nice to have the keyword of the kanji easily accessible while reviewing, to reinforce the link between character and story if needed (I built ON mnemonics on top of the Heisig story that I already had. Extremely effective and fast.)
So, I've finally decided to write the software to do so, here's a tiny script called heisigify.py. It takes a Heisig deck and any arbitrary deck and adds info about the kanji.
Example:
Deck TARGET <Eg. Core2k Sorted Japanese Vocabulary>:
[Card 1]
Field Vocab-Kanji: 生命
Field Kanji-Info: (empty)
Deck HEISIG <Eg. Heisig's Remembering the Kanji>:
[Card 1]
Field Kanji: 生
Field Keyword: Life
[Card 2]
Field Kanji: 命
Field Keyword: Fate
After running the script, in deck TARGET, card 1 becomes:
[Card 1]
Field Vocab-Kanji: 生命
Field Kanji-Info: 生: Life[NEWLINE]命: Fate[NEWLINE]
You can then add the field {{ Kanji-Info }} to your deck model wherever you see fit.
Disclaimer:
PLEASE DO A BACKUP AS INSTRUCTED. This software comes with absolutely no guarantee of correct functionality or preservation of data. It has only suffered very limited testing. It, basically, 'worked for me'. DO A REAL BACKUP OF YOUR DECKS, DO NOT COUNT ON THE ONLINE SYNC FOR THE BACKUP - YOU MIGHT ACCIDENTALLY SYNC A BROKEN DECK AND IT WILL NOT BE RECOVERABLE.
Instructions:
0) Install Python; add it to your system path so you can run python.exe from any folder
1) Make a backup copy of your TARGET deck from %USERFOLDER%\My Documents\Anki\. DO NOT COUNT ON THE ONLINE SYNC. MAKE A REAL COPY SOMEWHERE ELSE ON YOUR HARD DRIVE.
2) In anki, add a field called 'Kanji-Info' in your desired model in the TARGET deck.
2.1) Take note of the name of the field which contains your vocab. The program assumes it to be Vocab-Kanji. If it's different, remember this name as VOCABFIELD.
3) Make a folder wherever you want on your computer, let's say WORKDIR. Download heisigify.py to WORKDIR. Copy your TARGET deck and your HEISIG deck to WORKDIR.
4) Open a command prompt in WORKDIR. On Windows, shift+rightclick>Open Command Window Here
4)
Type python heisigify.py NAME-OF-TARGET-DECK.anki NAME-OF-HEISIG-DECK.anki
If your vocab field is not called 'Vocab-Kanji', use this syntax instead:
python heisigify.py --vocab-field VOCABFIELD NAME-OF-TARGET-DECK.anki NAME-OF-HEISIG-DECK.anki
The system assumes that in the HEISIG deck, the fields are called Kanji and Keyword respectively, and that you have already created a field called Kanji-Info in your TARGET deck. If any of these are non-default, you can configure them using additional parameters. Use python heisigify.py --help for more info.
5) Wait a bit. The deck should be ready soon. Copy the resulting deck back to Anki's folder. DON'T FORGET TO MAKE A BACKUP.
You should now have the additional kanji info in the Kanji-Info field.
I hope this helps someone. Sorry if there are any bugs. I just made it for myself and thought to post it back. I will try to keep it working.
I can't seem to attach a file to this post. Here is the source code, just copy and paste into a text file, and save as heisigify.py. Use the Download button, do not copy paste directly from the browser to avoid the line numbers. http://pastebin.com/nXSAjUaA

If I were you, I would perhaps port this to the Anki plugin API, since the vast majority of people are very reluctant to get to grips with terminals or command prompt, and you would have a far wider audience!
