def update_treeview(self): model = self.view.get_model() model.clear() for p in packages.get_all(): latest = p.get_latest() remote = p.get_latest_remote() info = latest.db_entry if remote.exists: v_remote = remote.db_entry['version'] else: v_remote = None if p.local.exists: v_local = p.local.db_entry['version'] if p.local is not latest: icon = 'system-software-update' else: icon = 'emblem-default' else: v_local = None icon = None model.append( ( info['title'], p.id, info['description'], v_local, v_remote, icon, ) )
def testGetAll(self): ps = packages.get_all() for p in ps: self.assertIsInstance(p, packages.Package) self.assertTrue(p.get_latest().exists, msg="%s doesn't exist"%p.id) # TODO: Some better tests for this function. # 28 in repo.json, 11 local, 2 in both. self.assertEqual(len(ps), 28 + 11 - 2)
def testMissingTables(self): os.remove(options.get_database()) reload(database_update) # To trigger base table creation. database_update.update_local() # Empty index table. p = packages.Package('not-even-real') self.assertFalse(p.local.exists) self.assertItemsEqual(p.remote, []) self.assertEqual(len(packages.get_all_local()), len(packages.get_all())) # Table in index, but doesn't successfully reach it. with open(options.get_cfg()) as f: txt = f.read() new = txt.split('\n') new.insert(2, '"http://notreal.ihope",') with open(options.get_cfg(), 'w') as f: f.write('\n'.join(new)) with warnings.catch_warnings(): warnings.simplefilter('ignore') database_update.update_remote() packages.get_all()