Skip to content

Commit

Permalink
fix for ankiweb interface change
Browse files Browse the repository at this point in the history
  • Loading branch information
ninja33 committed Jul 19, 2021
1 parent fd74ac4 commit f273343
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 15 deletions.
51 changes: 41 additions & 10 deletions src/bg/js/ankiweb.js
Expand Up @@ -106,7 +106,7 @@ class Ankiweb {
csrf_token: profile.token,
data: JSON.stringify(data),
mid: profile.modelids[note.modelName],
deck: note.deckName
deck: profile.deckids[note.deckName]
};
let request = {
url: 'https://ankiuser.net/edit/save',
Expand Down Expand Up @@ -137,7 +137,7 @@ class Ankiweb {
async saveNote(note, retryCount = 1) {
try {
let resp = await this.api_save(note, this.profile);
if (resp == 1) {
if (resp != null) {
return true;
} else if (retryCount > 0 && (this.profile = await this.getProfile())) {
return this.saveNote(note, retryCount - 1);
Expand All @@ -149,32 +149,63 @@ class Ankiweb {
}
}

parseData(response) {
async getAddInfo(){
return new Promise((resolve, reject) => {
let request = {
url: 'https://ankiuser.net/edit/getAddInfo',
dataType: "json",
error: (xhr, status, error) => resolve(null),
success: (data, status) => resolve(data)
};
$.ajax(request);
});
}

async getNotetypeFields(nid){
return new Promise((resolve, reject) => {
let request = {
url: 'https://ankiuser.net/edit/getNotetypeFields?ntid=' + nid,
dataType: "json",
error: (xhr, status, error) => resolve(null),
success: (data, status) => resolve(data)
};
$.ajax(request);
});
}

async parseData(response) {
//return {deck:'default', model:'basic'};
const token = /anki\.Editor\('(.*)'/.exec(response)[1];
const [models, decks, curModelID] = JSON.parse('[' + /new anki\.EditorAddMode\((.*)\);/.exec(response)[1] + ']');
//const [models, decks, curModelID] = JSON.parse('[' + /new anki\.EditorAddMode\((.*)\);/.exec(response)[1] + ']');
const Addinfo = await this.getAddInfo();

let decknames = [];
let deckids= {};
let modelnames = [];
let modelids = {};
let modelfieldnames = {};

for (const deck of Object.values(decks)) {


for (const deck of Addinfo.decks) {
decknames.push(deck.name);
deckids[deck.name]=deck.id;
}

for (const model of models) {
modelnames.push(model.name);
modelids[model.name] = model.id;
for (const notetype of Addinfo.notetypes) {
modelnames.push(notetype.name);
modelids[notetype.name] = notetype.id;

const NotetypeFields = await this.getNotetypeFields(notetype.id);
let fieldnames = [];
for (let field of model.flds) {
for (let field of NotetypeFields.fields) {
fieldnames.push(field.name);
}
modelfieldnames[model.name] = fieldnames;
modelfieldnames[notetype.name] = fieldnames;
}
return {
decknames,
deckids,
modelnames,
modelids,
modelfieldnames,
Expand Down
10 changes: 6 additions & 4 deletions src/bg/update.html
Expand Up @@ -17,11 +17,12 @@

<div id="tab-1" class="tabcontent">
<h3>在线词典助手-升级说明</h3>
<p>您已升级至在线词典助手0.8.9版本。如需完整文档或插件最新信息,请访问
<p>您已升级至在线词典助手0.9.0版本。如需完整文档或插件最新信息,请访问
<a class="notice" href="https://github.com/ninja33/ODH" target="_blank">项目主页</a>
</p>
<b class="notice">0.8.9版新增内容</b>
<b class="notice">0.9.0版新增内容</b>
<ol>
<li>修复:再次修复Ankiweb 接口(0.9.0)</li>
<li>修复:Ankiweb 接口(0.8.9)</li>
<li>新增:因anki和ankiconnect插件更新到2.1,<b class="alarm">增加ankiconnect可重复制卡选项</b>(0.8.8)</li>
<li>修复:因剑桥词典网站改版,故修复剑桥英汉双解、剑桥法英和剑桥英法词典(0.8.7)</li>
Expand All @@ -47,11 +48,12 @@ <h3>在线词典助手-升级说明</h3>

<div id="tab-2" class="tabcontent" style="display:none">
<h3>Online Dictionary Helper -- Upgrade Notes</h3>
<p>You extension was upgraded to v0.8.9 Here is the release note. If you need more details, please visit
<p>You extension was upgraded to v0.9.0 Here is the release note. If you need more details, please visit
<a class="notice" href="https://github.com/ninja33/ODH" target="_blank">Project Home</a>
</p>
<b class="notice">version 0.8.9</b>
<b class="notice">version 0.9.0</b>
<ol>
<li>Fix:Fix Ankiweb interface again(0.9.0)</li>
<li>Fix:Ankiweb interface(0.8.9)</li>
<li>New:<b class="alarm">Added 'allow duplicate' card option</b> because of ankiconnect upgraded to 2.1(0.8.8)</li>
<li>Fix:Because of Cambridge.org change, we fixed Cambridge EN->CN/EN->FR/FR->EN Dictionary(0.8.7)</li>
Expand Down
2 changes: 1 addition & 1 deletion src/manifest.json
@@ -1,7 +1,7 @@
{
"manifest_version": 2,
"name": "__MSG_appName__",
"version": "0.8.9",
"version": "0.9.0",
"default_locale": "en",
"description": "__MSG_appDesc__",
"icons": {
Expand Down

0 comments on commit f273343

Please sign in to comment.