# Bryan Schumaker (8/16/2010) import ocarina import list libsaria = ocarina.libsaria from libsaria import collection event = ocarina.libsaria.event gtk = ocarina.gtk class Collection(gtk.ScrolledWindow): def __init__(self): gtk.ScrolledWindow.__init__(self) self.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) self.list = list.List() self.add(self.list) self.show() def populate(self, func): self.list.freeze() insert = self.list.list.insert for track in func(): get = track.__getitem__ insert(0, [get("id"), get("title"), get("length"), get("artist"), get("album"), get("year"), get("playcount")]) self.list.thaw() class Library(Collection): def __init__(self): Collection.__init__(self) libsaria.event.invite("POSTSTART", self.populate, bg=True) def populate(self): import datetime before = datetime.datetime.now() Collection.populate(self, collection.walk_library) after = datetime.datetime.now() print "Populating took: %s" % (after-before)