Esempio n. 1
0
 def test_model_module(self):
     "Test Module model"
     obj = Module(name='test', title='Test', url='/test/')
     obj.save()
     self.assertEquals('test', obj.name)
     self.assertNotEquals(obj.id, None)
     obj.delete()
Esempio n. 2
0
    def process_request(self, request):
        "Process request"
        hmodules = dict()
        for module in settings.INSTALLED_APPS:
            import_name = str(module) + "." + settings.HARDTREE_MODULE_IDENTIFIER
            try:
                hmodule = __import__(import_name, fromlist=[str(module)])
                hmodules[str(module)] = hmodule.PROPERTIES
            except ImportError:
                pass
            except AttributeError:
                pass

        dbmodules = Module.objects.all()

        for dbmodule in dbmodules:
            if dbmodule.name not in hmodules:
                dbmodule.delete()
            else:
                differ = False
                hmodule = dbmodule.name
                if dbmodule.title != hmodules[hmodule]["title"]:
                    dbmodule.title = hmodules[hmodule]["title"]
                    differ = True
                if dbmodule.url != hmodules[hmodule]["url"]:
                    dbmodule.url = hmodules[hmodule]["url"]
                    differ = True
                if dbmodule.details != hmodules[hmodule]["details"]:
                    dbmodule.details = hmodules[hmodule]["details"]
                    differ = True
                if dbmodule.system != hmodules[hmodule]["system"]:
                    dbmodule.system = hmodules[hmodule]["system"]
                    differ = True
                if differ:
                    dbmodule.save()

        for hmodule in hmodules:
            dbmodule = None
            try:
                dbmodule = Module.objects.get(name=hmodule)
            except Module.DoesNotExist:
                pass
            except Module.MultipleObjectsReturned:
                # Broken database, delete all matching modules
                Module.objects.filter(name=hmodule).delete()
            if not dbmodule:
                dbmodule = Module(
                    name=hmodule,
                    title=hmodules[hmodule]["title"],
                    url=hmodules[hmodule]["url"],
                    details=hmodules[hmodule]["details"],
                    system=hmodules[hmodule]["system"],
                )
                dbmodule.save()
                dbmodule.set_default_user()
Esempio n. 3
0
 def test_model_module(self):
     "Test Module model"
     obj = Module(name='test', title='Test', url='/test/')
     obj.save()
     self.assertEquals('test', obj.name)
     self.assertNotEquals(obj.id, None)
     obj.delete()
Esempio n. 4
0
    def process_request(self, request):
        "Process request"
        hmodules = dict()
        for module in settings.INSTALLED_APPS:
            import_name = str(
                module) + "." + settings.HARDTREE_MODULE_IDENTIFIER
            try:
                hmodule = __import__(import_name, fromlist=[str(module)])
                hmodules[str(module)] = hmodule.PROPERTIES
            except ImportError:
                pass
            except AttributeError:
                pass

        dbmodules = Module.objects.all()

        for dbmodule in dbmodules:
            if dbmodule.name not in hmodules:
                dbmodule.delete()
            else:
                differ = False
                hmodule = dbmodule.name
                if dbmodule.title != hmodules[hmodule]['title']:
                    dbmodule.title = hmodules[hmodule]['title']
                    differ = True
                if dbmodule.url != hmodules[hmodule]['url']:
                    dbmodule.url = hmodules[hmodule]['url']
                    differ = True
                if dbmodule.details != hmodules[hmodule]['details']:
                    dbmodule.details = hmodules[hmodule]['details']
                    differ = True
                if dbmodule.system != hmodules[hmodule]['system']:
                    dbmodule.system = hmodules[hmodule]['system']
                    differ = True
                if differ:
                    dbmodule.save()

        for hmodule in hmodules:
            dbmodule = None
            try:
                dbmodule = Module.objects.get(name=hmodule)
            except Module.DoesNotExist:
                pass
            except Module.MultipleObjectsReturned:
                # Broken database, delete all matching modules
                Module.objects.filter(name=hmodule).delete()
            if not dbmodule:
                dbmodule = Module(name=hmodule,
                                  title=hmodules[hmodule]['title'],
                                  url=hmodules[hmodule]['url'],
                                  details=hmodules[hmodule]['details'],
                                  system=hmodules[hmodule]['system'])
                dbmodule.save()
                dbmodule.set_default_user()