voici un script tout fait pour firefox (pas sûr d'avoir compris ce que tu veux faire =s ) :
import sys
from argparse import ArgumentParser
from Tkinter import *
sys.path.append(r'/usr/lib/python2.7/idlelib')
from TreeWidget import FileTreeItem, TreeNode, ScrolledCanvas
class MyFileTreeItem(FileTreeItem):
def GetText(self):
return self.path.get("title")
def SetText(self, text):
pass
def GetSubList(self):
return [MyFileTreeItem(name) for name in self.path['children']]
def IsExpandable(self):
"""Return whether there are subitems."""
return self.path.has_key('children')
def IsEditable(self):
pass
def OnDoubleClick(self):
if not self.IsExpandable():
print self.path.get('uri','no uri available')
def main():
parser = ArgumentParser(description = 'browse a bookmarks_xxx.json file')
parser.add_argument('jbfile',
help='the json file containing the bookmarks')
args = parser.parse_args()
root = Tk()
sys.exitfunc = root.quit
root.configure(bd=0, bg="yellow")
root.title("bookmarks browser")
root.focus_set()
sc = ScrolledCanvas(root, bg="white", highlightthickness=0, takefocus=1)
sc.frame.pack(expand=1, fill="both")
fn =args.jbfile
D = eval(file(fn).read())
D['title'] = fn
item = MyFileTreeItem(D)
node = TreeNode(sc.canvas, None, item)
node.expand()
root.mainloop()
if __name__=='__main__':
main()
Sinon tu peux voir de ce coté là.