def torrent_model_update(itr, col, new_value):
try:
# equality check because formatting and cell renderer
# functions called on self.torrent_model.set_value() are
# expensive
if self.torrent_model.get_value(itr, col) != new_value:
self.torrent_model.set_value(itr, col, new_value)
except:
print "ERR", col, type(new_value), new_value
....................
if not self.table_paused_unique_ids.get(unique_id):
tlist = self.get_list_from_unique_id(unique_id)
for i, new_value in enumerate(tlist):
torrent_model_update(itr, i, new_value)
else:
state = self.manager.get_torrent_state(unique_id)
queue_pos = state['queue_pos']
torrent_model_update(itr, 1, queue_pos)
if not state["is_paused"]:
del self.table_paused_unique_ids[unique_id]
itr = self.torrent_model.iter_next(itr)