Skip to content

Instantly share code, notes, and snippets.

@ayush
Created July 8, 2011 00:51
Show Gist options
  • Save ayush/1070878 to your computer and use it in GitHub Desktop.
Save ayush/1070878 to your computer and use it in GitHub Desktop.
Sample usage of wordnik-as3-sdk Batch Call
package
{
import com.wordnik.api.batch.Batch;
import com.wordnik.api.batch.OpGetAudioInfo;
import com.wordnik.api.batch.OpGetDefinitions;
import com.wordnik.api.batch.OpGetExamples;
import com.wordnik.api.batch.OpGetFrequencyData;
import com.wordnik.api.batch.OpGetPronunciations;
import com.wordnik.api.batch.OpGetRelatedWords;
import com.wordnik.api.client.WordnikClient;
import com.wordnik.api.entity.ApiUserCredentials;
import com.wordnik.api.entity.Word;
import com.wordnik.api.entity.word.AudioFileInfo;
import com.wordnik.api.entity.word.RelatedWordSet;
import com.wordnik.api.entity.word.TextPronunciation;
import com.wordnik.api.entity.word.UsageFrequency;
import com.wordnik.api.event.ApiClientEvent;
import com.wordnik.api.event.Response;
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
public class Main extends Sprite
{
private const textfield:TextField = new TextField();
private const format:TextFormat = new TextFormat();
private const apiKey: String = "your-api-key";
private const hostName: String = "api.wordnik.com";
public function Main()
{
initUi();
// Instantiate a WordnikClient
var wordnikCredentials: ApiUserCredentials = new ApiUserCredentials(this.apiKey);
wordnikCredentials.hostName = this.hostName;
const wordnikClient: WordnikClient = new WordnikClient(wordnikCredentials);
// To make multiple calls in one shot use the batch feature:
// Create a batch
const batch: Batch = new Batch();
batch.add(new OpGetDefinitions(2));
batch.add(new OpGetExamples());
batch.add(new OpGetRelatedWords());
batch.add(new OpGetAudioInfo(5));
batch.add(new OpGetFrequencyData());
batch.add(new OpGetPronunciations());
// Execute it
wordnikClient.addEventListener(ApiClientEvent.BATCH_EXECUTE_RESPONSE_EVENT, onBatchRequestCompleted);
wordnikClient.execute("freedom", batch);
}
private function onBatchRequestCompleted(event: ApiClientEvent, requestId: String = null):void {
var result: Response = event.response;
var wordnikWord: Word = result.payload as Word;
showText("");
showText("Definitions");
for(var i: Number = 0; i < wordnikWord.definitions.length; i++) {
showText(" - " + wordnikWord.definitions[i].text);
}
showText("");
showText("Examples");
for(i = 0; i < wordnikWord.examples.length; i++) {
showText(" - " + wordnikWord.examples[i].display);
}
for(i = 0; i < wordnikWord.relatedWords.length; i++) {
var relatedWordSet: RelatedWordSet = wordnikWord.relatedWords[i] as RelatedWordSet;
showText("");
showText("Related Words " + relatedWordSet.relationType);
for(var j: Number = 0; j < relatedWordSet.words.length; j++) {
showText(" - " + relatedWordSet.words[j]);
}
}
showText("");
showText("Audio Urls");
for(i = 0; i < wordnikWord.audioMetadata.length; i++) {
var audioInfo: AudioFileInfo = wordnikWord.audioMetadata[i] as AudioFileInfo;
showText(" - " + audioInfo.fileUrl);
}
if(wordnikWord.frequencyData != null) {
showText("");
showText("Frequency Data");
showText(" - frequency: " + wordnikWord.frequencyData.frequencyString);
showText(" - usage count: " + wordnikWord.frequencyData.totalCount);
showText(" - unknownYearCount: " + wordnikWord.frequencyData.unknownYearCount);
if(wordnikWord.frequencyData.usageFrequencies != null && wordnikWord.frequencyData.usageFrequencies.length > 0) {
showText("");
showText("Frequency Data - Usage Frequency");
for(i = 0; i < wordnikWord.frequencyData.usageFrequencies.length; i++) {
var usageFrequency: UsageFrequency = wordnikWord.frequencyData.usageFrequencies[i] as UsageFrequency;
showText(" - " + usageFrequency.year + " : " + usageFrequency.count);
}
}
}
showText("");
showText("Text Pronunciations");
for(i = 0; i < wordnikWord.audioMetadata.length; i++) {
var textPron: TextPronunciation = wordnikWord.textPronunciations[i] as TextPronunciation;
showText(" - " + textPron.raw);
}
}
private function initUi(): void {
textfield.width = 200;
textfield.height = 300;
textfield.text = "Properties of freedom";
textfield.y = 0;
textfield.x = 0;
textfield.border = true;
textfield.background = true;
textfield.multiline = true;
textfield.wordWrap = true;
format.color = 0x666666;
format.size = 8;
textfield.defaultTextFormat = format;
textfield.setTextFormat(format);
addChild(textfield);
}
private function showText(s: String): void {
textfield.appendText(s + "\n");
trace(s);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment