Skip to content

Commit

Permalink
Support citekey format (equivalent to betterbibtexkey)
Browse files Browse the repository at this point in the history
  • Loading branch information
egh committed Feb 22, 2021
1 parent da3da03 commit 80c21a2
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 15 deletions.
8 changes: 5 additions & 3 deletions extension/bootstrap.js
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ function buildResponse(items, format, style) {
return [okCode, 'application/json', jsonStringify(items.map(item2key))];
} else if (format === 'easykey') {
return buildEasyKeyResponse(items);
} else if (format === 'betterbibtexkey') {
} else if (format === 'betterbibtexkey' || format === 'citekey') {
return buildBBTKeyResponse(items);
} else if (format === 'bibtex') {
return buildBibTeXResponse(items);
Expand Down Expand Up @@ -380,6 +380,8 @@ function selectEndpoint(options) {
promise = findByKey(q.key, Zotero);
} else if (q.betterbibtexkey) {
promise = findByBBTKey(q.betterbibtexkey, Zotero);
} else if (q.citekey) {
promise = findByBBTKey(q.citekey, Zotero);
} else {
return makeClientError('No param supplied!');
}
Expand Down Expand Up @@ -410,8 +412,8 @@ function itemsEndpoint(options) {
keys.map((key) => {
return findByEasyKey(key, Zotero);
})).then(responder);
} else if (q.betterbibtexkey) {
let keys = q.betterbibtexkey.split(',');
} else if (q.betterbibtexkey || q.citekey) {
let keys = (q.betterbibtexkey ? q.betterbibtexkey.split(',') : q.citekey.split(',');
return Promise.all(
keys.map((key) => {
return findByBBTKey(key, Zotero);
Expand Down
30 changes: 18 additions & 12 deletions test/test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -128,17 +128,21 @@ def test_items_easykey_bad
end

def test_betterbibtexkey
resp = @client.get(@item_url, {"betterbibtexkey" => "doe:2005first", "format" => "key"})
assert_equal 200, resp.status
i = JSON.parse(resp.body)
assert_equal [@doe_first_book_key], i
["betterbibtexkey", "citekey"].each do |name|
resp = @client.get(@item_url, {name => "doe:2005first", "format" => "key"})
assert_equal 200, resp.status
i = JSON.parse(resp.body)
assert_equal [@doe_first_book_key], i
end
end

def test_betterbibtexkey_two_items
resp = @client.get(@item_url, {"betterbibtexkey" => "doe:2005first,doe:2006article", "format" => "key"})
assert_equal 200, resp.status
i = JSON.parse(resp.body)
assert_equal [@doe_first_book_key,@doe_article_key].sort, i.sort
["betterbibtexkey", "citekey"].each do |name|
resp = @client.get(@item_url, {name => "doe:2005first,doe:2006article", "format" => "key"})
assert_equal 200, resp.status
i = JSON.parse(resp.body)
assert_equal [@doe_first_book_key,@doe_article_key].sort, i.sort
end
end

# doesn't work
Expand Down Expand Up @@ -407,10 +411,12 @@ def test_select
end

def test_format_betterbibtex
resp = @client.get(@item_url, {"key" => @doe_article_key, "format" => "betterbibtexkey"})
assert_equal 200, resp.status
results = JSON.parse(resp.body)
assert_equal "doe:2006article", results[0]
["betterbibtexkey", "citekey"].each do |name|
resp = @client.get(@item_url, {"key" => @doe_article_key, "format" => name})
assert_equal 200, resp.status
results = JSON.parse(resp.body)
assert_equal "doe:2006article", results[0]
end
end

def test_format_export_uuid
Expand Down

0 comments on commit 80c21a2

Please sign in to comment.