Example #1
0
    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, ) )
Example #2
0
 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)
Example #3
0
    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()