Pastebin launched a little side project called VERYVIRAL.com, check it out ;-) Want more features on Pastebin? Sign Up, it's FREE!
Guest

Untitled

By: a guest on Oct 29th, 2012  |  syntax: C#  |  size: 2.32 KB  |  views: 132  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. private void processChild(JToken child, JToken parent, bool recursive)
  2. {
  3.         bool root = true;
  4.         try
  5.         {
  6.                 child["type"].ToString();
  7.         }
  8.         catch
  9.         {
  10.                 root = false;
  11.         }
  12.         if (child["type"].ToString() == "url")
  13.         {
  14.                 bookmarks.Add(new Bookmark(child["url"].ToString(), child["name"].ToString(), "Chrome",
  15.                                                                    ConvertChromeTime(Int64.Parse(child["date_added"].ToString())),
  16.                                                                    string.Join("\\", fullPath)));
  17.                 if (!recursive && child == child.Parent.Last && fullPath.Count != 0)
  18.                         fullPath.Remove(fullPath.Last());
  19.         }
  20.         else if (child["type"].ToString() == "folder")
  21.         {
  22.                 Console.WriteLine("FOLDER");
  23.                 if (!child["name"].Contains("\\"))
  24.                         fullPath.Add(child["name"].ToString());
  25.                 else
  26.                         fullPath.Add(child["name"].ToString().Replace("\\", ""));
  27.                 foreach (var subChild in child["children"])
  28.                 {
  29.                         processChild(subChild, child, true);
  30.                         if (child == parent.Last && fullPath.Count != 0 && recursive)
  31.                                 fullPath.Remove(fullPath.Last());
  32.                 }
  33.                 fullPath.Remove(fullPath.Last());
  34.         }
  35. }
  36.  
  37. public override void GetBookmarks()
  38. {
  39.         string json = "";
  40.         string path = GetFolder() + "\\Bookmarks";
  41.         json = File.ReadAllText(path);
  42.         fullPath.Clear();
  43.         fullPath.Add("Bookmark Bar");
  44.         using (StringReader reader = new StringReader(json))
  45.         using (JsonReader jsonReader = new JsonTextReader(reader))
  46.         {
  47.                 JsonSerializer serializer = new JsonSerializer();
  48.                 var o = (JToken) serializer.Deserialize(jsonReader);
  49.                 var date_added = o["roots"]["bookmark_bar"]["children"];
  50.                 Console.WriteLine(o["roots"]["bookmark_bar"]["children"].HasValues);
  51.                 var ob = JObject.Parse(json);
  52.  
  53.                 foreach (var obj in o["roots"]["bookmark_bar"].Children())
  54.                 {
  55.                         var property = obj as JProperty;
  56.                 }
  57.                 var chil = o["roots"]["bookmark_bar"];
  58.                 foreach (var child in o["roots"]["bookmark_bar"]["children"])
  59.                 {
  60.                         processChild(child, o["roots"]["bookmark_bar"]["children"], false);
  61.                 }
  62.         }
  63.         fullPath.Clear();
  64.         fullPath.Add("Other Bookmarks");
  65.         using (StringReader reader = new StringReader(json))
  66.         using (JsonReader jsonReader = new JsonTextReader(reader))
  67.         {
  68.                 JsonSerializer serializer = new JsonSerializer();
  69.                 var o = (JToken) serializer.Deserialize(jsonReader);
  70.                 foreach (var child in o["roots"]["other"]["children"])
  71.                 {
  72.                         processChild(child, o["roots"]["other"]["children"], false);
  73.                 }
  74.         }
  75.         Bookmark.mergeBookmarks(bookmarks);
  76.  
  77.  
  78. }