package com.jadn.cc.services;
import com.jadn.cc.trace.TraceUtil;
import org.json.JSONArray;
import org.json.JSONObject;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
public class ItunesSearchHelper extends SearchHelper {
public ItunesSearchHelper(String search) {
super(search);
}
@Override
public void run() {
try {
URL url = new URL("https://itunes.apple.com/search?media=podcast&limit=50&term="
+ URLEncoder.encode(search));
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.connect();
if (con.getResponseCode() != 200) {
done = true;
return;
}
StringBuilder sb = new StringBuilder();
InputStream is = con.getInputStream();
byte[] buf = new byte[2048];
int amt = 0;
while ((amt = is.read(buf)) > 0) {
sb.append(new String(buf, 0, amt));
}
is.close();
StringBuilder res = new StringBuilder();
JSONObject jObject = new JSONObject(sb.toString());
JSONArray results = jObject.getJSONArray("results");
System.out.println(results.get(0));
for(int i=0;i<results.length();i++){
JSONObject result = (JSONObject) results.get(i);
res.append(result.get("trackName"));
res.append("=");
res.append(result.get("feedUrl"));
res.append("\n");
}
this.results = res.toString();
} catch (Throwable e) {
TraceUtil.report(e);
//e.printStackTrace();
} finally {
done = true;
}
}
}