This addon is developed to emancipate you from the tedious work of looking up words in dictionary and pasting the explanations to anki.
Querying Words and Making Cards, IMMEDIATELY!
Support querying in mdx and stardict dictionaries
Support querying in web dictionaries (having provided many ones, and more others need to be customized)
- Place "wordquery.py" and "wquery" folder in this repository in the anki add folder.
OR - Use the installation code: 775418273
If you do not use local dictionaries, you can skip this step.
-
Click menu "Tool"->"WordQuery", popup the "Options" dialog
-
Click "Dict folders" button, add or remove the dictionary folders (support recursive searching)
- "Use filename as dict label"
- "Export media files" indicates if the audios will be exported.
In the "Options" dialog, click "Choose note type" and set the note type you want to use.
Click the radio button to set the word field you want to query.
The "Dict" comoboxes are used to specify the dictionaries.
The "Dict fields" comoboxes are used to specify the available dictionary fields.
Once the word to query is ready, click "Query" button or popup the context menu and use relevant commands.
- "Query" button
Query the explanations for all the fields. - “Query All Fields” menu
Query the explanations for all the fields. - "Query Current Field" menu
Query the explanation for current focused field.
Select single word or multiple words, click menu "WordQuery"->"Query selected".
All above query actions can be trigged also by the shortcut (default "Ctrl+Q"), but you could change it through the addon's "Edit" menu.
# shortcut
shortcut = 'Ctrl+Q'
The advanced users can implement new web dictionary services. See a typical reference for the details.
@register(label)
is used to register the service, and parameter label
as the dictionary name will be shown in the dictioary list.
@register(u'有道词典')
class Youdao(WebService):
"""service implementation"""
The field export function has to be decorated with @export(fld_name, order)
.
-
para
fld_name
: name of the dictionary field -
para
order
: order of the field, the smaller number will be shown on the upper of the field list.
@export(u'美式音标', 1)
def fld_phonetic_us(self):
return self._get_field('phonitic_us')
@export(u'英式音标', 2)
def fld_phonetic_uk(self):
return self._get_field('phonitic_uk')
Using @with_style(**kwargs)
to specify the css style strings or files, javascript strings or files, whether wrapping the css to avoid latent style interference.
@with_styles(cssfile='_youdao.css', need_wrap_css=True, wrap_class='youdao')
def _get_singledict(self, single_dict, lang='eng'):
url = "http://m.youdao.com/singledict?q=%s&dict=%s&le=%s&more=false" % (
self.word, single_dict, lang)
try:
return urllib2.urlopen(url, timeout=5).read()
except:
return ''