Adjust to repository standards
This commit is contained in:
parent
e4e2c788a9
commit
16ae063321
4 changed files with 83 additions and 71 deletions
startup_scripts
|
@ -9,17 +9,21 @@ custom_links = load_yaml('/opt/netbox/initializers/custom_links.yml')
|
|||
if custom_links is None:
|
||||
sys.exit()
|
||||
|
||||
def get_content_type_id(content_type_str):
|
||||
|
||||
def get_content_type_id(content_type):
|
||||
try:
|
||||
return ContentType.objects.get(model=content_type_str).id
|
||||
return ContentType.objects.get(model=content_type).id
|
||||
except ContentType.DoesNotExist:
|
||||
print("⚠️ Error determining content type id for user declared var: {0}".format(content_type_str))
|
||||
pass
|
||||
|
||||
|
||||
for link in custom_links:
|
||||
content_type = link.pop('content_type')
|
||||
link['content_type_id'] = get_content_type_id(content_type)
|
||||
if link['content_type_id'] is not None:
|
||||
custom_link = CustomLink(**link)
|
||||
if not CustomLink.objects.filter(name=custom_link.name):
|
||||
custom_link.save()
|
||||
print("🖥️ Created Custom Link {0}".format(custom_link.name))
|
||||
if link['content_type_id'] is None:
|
||||
print("⚠️ Unable to create Custom Link '{0}': The content_type '{1}' is unknown".format(link.name, content_type))
|
||||
continue
|
||||
|
||||
custom_link, created = CustomLink.objects.get_or_create(**link)
|
||||
if created:
|
||||
print("🔗 Created Custom Link '{0}'".format(custom_link.name))
|
||||
|
|
|
@ -1,26 +1,34 @@
|
|||
from django.contrib.contenttypes.models import ContentType
|
||||
from extras.models import Webhook
|
||||
from startup_script_utils import load_yaml
|
||||
import sys
|
||||
|
||||
|
||||
webhooks = load_yaml('/opt/netbox/initializers/webhooks.yml')
|
||||
|
||||
if webhooks is None:
|
||||
sys.exit()
|
||||
|
||||
def get_content_type_id(content_type_str):
|
||||
try:
|
||||
id = ContentType.objects.get(model=content_type_str).id
|
||||
return id
|
||||
except ContentType.DoesNotExist:
|
||||
print("⚠️ Error determining content type id for user declared var: {0}".format(content_type_str))
|
||||
|
||||
for hook in webhooks:
|
||||
obj_types = hook.pop('object_types')
|
||||
obj_type_ids = [ get_content_type_id(obj) for obj in obj_types ]
|
||||
if obj_type_ids is not None:
|
||||
webhook, created = Webhook.objects.get_or_create(**hook)
|
||||
if created:
|
||||
webhook.content_types.set(obj_type_ids)
|
||||
print("🖥️ Created Webhook {0}".format(webhook.name))
|
||||
from django.contrib.contenttypes.models import ContentType
|
||||
from extras.models import Webhook
|
||||
from startup_script_utils import load_yaml
|
||||
import sys
|
||||
|
||||
|
||||
webhooks = load_yaml('/opt/netbox/initializers/webhooks.yml')
|
||||
|
||||
if webhooks is None:
|
||||
sys.exit()
|
||||
|
||||
|
||||
def get_content_type_id(hook_name, content_type):
|
||||
try:
|
||||
return ContentType.objects.get(model=content_type).id
|
||||
except ContentType.DoesNotExist as ex:
|
||||
print("⚠️ Webhook '{0}': The object_type '{1}' is unknown.".format(hook_name, content_type))
|
||||
raise ex
|
||||
|
||||
|
||||
for hook in webhooks:
|
||||
obj_types = hook.pop('object_types')
|
||||
|
||||
try:
|
||||
obj_type_ids = [get_content_type_id(hook['name'], obj) for obj in obj_types]
|
||||
except ContentType.DoesNotExist:
|
||||
continue
|
||||
|
||||
webhook, created = Webhook.objects.get_or_create(**hook)
|
||||
if created:
|
||||
webhook.content_types.set(obj_type_ids)
|
||||
webhook.save()
|
||||
|
||||
print("🪝 Created Webhook {0}".format(webhook.name))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue