summaryrefslogtreecommitdiff
path: root/oeddefine.sh
diff options
context:
space:
mode:
Diffstat (limited to 'oeddefine.sh')
-rwxr-xr-xoeddefine.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/oeddefine.sh b/oeddefine.sh
new file mode 100755
index 0000000..46d06a3
--- /dev/null
+++ b/oeddefine.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+read word
+word=$(echo $word | tr '[:upper:]' '[:lower:]')
+appId=
+key=
+language=en-gb
+lemmasUrl=https://od-api.oxforddictionaries.com/api/v2/lemmas/$language/$word
+OPTS='--silent -L -H "app_id: $appId" -H "app_key: $key"'
+
+# get lemmas to link an inflected form back to its headword (required to get definition)
+result=$(eval curl $OPTS $lemmasUrl)
+ret=$?
+if [ "$ret" -ne 0 ]
+then
+ echo "cURL error $ret when fetching."
+ exit
+fi
+headWord=$(echo $result | jq '.results[0].lexicalEntries[0].inflectionOf[0].id')
+if [ "$headWord" == "null" ]
+then
+ echo "Word not found."
+ exit
+fi
+entriesUrl=https://od-api.oxforddictionaries.com/api/v2/entries/$language/$headWord
+
+# get definition of headword
+result=$(eval curl $OPTS $entriesUrl)
+ret=$?
+if [ "$ret" -ne 0 ]
+then
+ echo "cURL error $ret when fetching."
+ exit
+fi
+definition=$(echo $result | jq '.results[0].lexicalEntries[0].entries[].senses[0].definitions')
+echo $definition