def bar(*args, **kwargs): task = threads.GeneratorTask(dsm.update_assets, None, None, args=asset.get_all_assets()) task.start() task.join() for a in asset.get_all_assets(): self.assertNotEqual(a.date.year, 1970) self.counter += 1 if self.counter == 2: Gtk.main_quit() else: # test if it works a second time (was a bug..) dsm.search("yahoo", callback=bar)
def __init__(self, parent=None): self.parent = parent builder = Gtk.Builder() builder.add_from_file(get_ui_file("portfolio/asset_manager_dialog.glade")) self.tree = gui_utils.Tree() self.tree.set_headers_visible(True) model = Gtk.ListStore(object, str, str, str, str) self.tree.set_model(model) self.tree.create_column(_('Name'), 1) self.tree.create_column(_('ISIN'), 2) self.tree.create_column(_('Type'), 3) self.tree.create_column(_('Currency'), 4) sw = builder.get_object("scrolledwindow") sw.add(self.tree) tb = builder.get_object("toolbar") tb.get_style_context().add_class("inline-toolbar") # connect signals handlers = { "on_delete_clicked": self.on_delete, "on_edit_clicked": self.on_edit } builder.connect_signals(handlers) self.tree.connect("button-press-event", self.on_button_press_event) # load items for asset in asset_m.get_all_assets(): model.append(self.get_row(asset)) dlg = builder.get_object("dialog") dlg.set_transient_for(parent) dlg.add_buttons( Gtk.STOCK_CLOSE, Gtk.ResponseType.ACCEPT) dlg.show_all() dlg.run() dlg.destroy()