updated script to take all of the history for all tabs for all windows
authorSvenne Krap <svenne@krap.dk>
Sat, 30 Jun 2012 18:59:22 +0000 (20:59 +0200)
committerSvenne Krap <svenne@krap.dk>
Sat, 30 Jun 2012 18:59:22 +0000 (20:59 +0200)
save_firefox_urls.py

index 82dcd1c9179795fc65e4e132c2aa5e50921da2e7..c28857ec29b2d9bd5a32e70470dd9013188d4359 100755 (executable)
@@ -37,22 +37,37 @@ if thefile == None:
     print("cant find profile")
     sys.exit()
 
-data = open(thefile + "/sessionstore.js",'r').read()
+thefile = basedir + "/" + thefile + "/sessionstore.js"
+print ("Using " + thefile)
+data = open(thefile,'r').read()
 j = json.loads(data)
 fields = ["title","url"]
-tabs = len(j['windows'][0]["tabs"])
+windows = len(j['windows'])
 outfp = open(outfile,"w")
 
-for t in range(tabs):
-    try:
-        title = j['windows'][0]["tabs"][t]["entries"][0]["title"]
-    except:
-        title = "<unknown>";
-    try:
-        url = j['windows'][0]["tabs"][t]["entries"][0]["url"]
-    except:
-        continue
-    outfp.write( str(t) + " " + title + " " + url + "\n")
+for w in range(windows):
+    print("Looking at window " + str(w))
+    tabs = len(j['windows'][w]["tabs"])
+    print ("  Found " + str(tabs) + " tabs")
+    for t in range(tabs):
+        print("  Looking at tab " + str(w))
+        entries = len(j['windows'][w]["tabs"][t]["entries"]) 
+        print("    History depth: " + str(entries))
+
+        for e in range(entries):
+            try:
+                title = j['windows'][w]["tabs"][t]["entries"][e]["title"]
+            except:
+                title = "<unknown>";
+            try:
+                url = j['windows'][w]["tabs"][t]["entries"][e]["url"]
+            except:
+                continue
+            print ("    Found:")
+            print ("      Entry: " + str(e))
+            print ("      Title: " + title)
+            print ("      Url  : " + url)
+            outfp.write( str(w) + " " + str(t) + " " + str(e) + " " + title + " " + url + "\n")
 
 outfp.close()
 print ("Saved as " + outfile)