Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package info.emil-genov.json
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
- import com.deenero.commons.StreamUtils;
- public class GoogleReaderStarredItemsToInstapaperConvertor {
- /**
- * @param args
- * @throws IOException
- * @throws FileNotFoundException
- * @throws JSONException
- */
- public static void main(String[] args) throws FileNotFoundException, IOException, JSONException {
- String jsonStr = StreamUtils.getString(new FileInputStream("starred.json"));
- JSONObject json = new JSONObject(jsonStr);
- JSONArray items = json.getJSONArray("items");
- Map<String, List<Object[]>> feeds = new HashMap<String, List<Object[]>>();
- for (int i = 0; i < items.length(); i++) {
- JSONObject item = items.getJSONObject(i);
- String itemDate = item.getString("published");
- String feedTitle = null;
- String feedUrl = null;
- JSONObject origin = item.getJSONObject("origin");
- if (origin != null) {
- feedTitle = origin.optString("title");
- feedUrl = origin.optString("htmlUrl");
- }
- String itemTitle = null;
- if (item.has("title")) {
- itemTitle = item.getString("title").split("\n")[0];
- } else {
- itemTitle = feedTitle + ", " + System.currentTimeMillis();
- }
- String itemURL = null;
- if (item.has("alternate")) {
- itemURL = ((JSONObject) item.getJSONArray("alternate").get(0)).getString("href");
- } else if (item.has("enclosure")) {
- itemURL = ((JSONObject) item.getJSONArray("enclosure").get(0)).getString("href");
- } else {
- itemURL = feedUrl;
- }
- List<Object[]> list = feeds.get(feedTitle);
- if (list == null) {
- list = new ArrayList<Object[]>();
- feeds.put(feedTitle, list);
- }
- list.add(new Object[] { itemTitle, itemURL, itemDate });
- }
- PrintWriter writer = new PrintWriter("starred.html");
- writer.println("<!DOCTYPE html>\n<html>\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />\n<title>Instapaper: Export</title>\n</head>\n");
- writer.println("<body>\n");
- for(String feedTitle : feeds.keySet()){
- writer.println("<h1>"+feedTitle+"</h1>\n");
- writer.println("<ol>\n");
- List<Object[]> list = feeds.get(feedTitle);
- for(Object[] o : list){
- writer.println("<li><a HREF=\""+o[1]+"\">"+o[0]+"</a></li>\n");
- }
- writer.println("</ol>\n\n");
- }
- writer.println("</body>\n\n\n");
- writer.println("</html>\n");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement