reddit-image-wall-getter/hash_compressor_distributed/webproj/adminModelRegister.py

31 lines
852 B
Python
Raw Normal View History

2020-07-20 01:54:26 +00:00
from django.db import models
from .stackOverflowSnippets import classesInModule
from django.core import exceptions
from sys import stderr
def onlyModels(userMadeModels):
return [model for model in userMadeModels if models.Model in model.__mro__]
def isAbstract(clazz):
return clazz._meta.abstract
def discardAbstractModels(userMadeModels):
return [model for model in userMadeModels if not isAbstract(model)]
def registrableModelsInModule(module):
return discardAbstractModels(onlyModels(classesInModule(module)))
def registerForMe(admin, models_module):
for model in registrableModelsInModule(models_module):
try:
admin.site.register(model)
except exceptions.ImproperlyConfigured:
pass
except BaseException as e:
print(str(e.__class__)+': '+str(e), file=stderr)