1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Move script attributes under a Meta class

This commit is contained in:
Jeremy Stretch
2019-08-12 13:16:18 -04:00
parent ab504439fb
commit 19eb4c510c
4 changed files with 22 additions and 17 deletions

View File

@ -118,6 +118,9 @@ class Script:
"""
Custom scripts inherit this object.
"""
class Meta:
pass
def __init__(self):
# Initiate the log
@ -128,17 +131,15 @@ class Script:
self.source = inspect.getsource(self.__class__)
def __str__(self):
if hasattr(self, 'script_name'):
return self.script_name
return self.__class__.__name__
return getattr(self.Meta, 'name', self.__class__.__name__)
def _get_vars(self):
vars = OrderedDict()
# Infer order from script_fields (Python 3.5 and lower)
if hasattr(self, 'script_fields'):
for name in self.script_fields:
vars[name] = getattr(self, name)
# Infer order from Meta.fields (Python 3.5 and lower)
fields = getattr(self.Meta, 'fields')
for name in fields:
vars[name] = getattr(self, name)
# Default to order of declaration on class
for name, attr in self.__class__.__dict__.items():

View File

@ -16,7 +16,7 @@
</div>
</div>
<h1>{{ script }}</h1>
<p>{{ script.script_description }}</p>
<p>{{ script.Meta.description }}</p>
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active">
<a href="#run" role="tab" data-toggle="tab" class="active">Run</a>

View File

@ -22,7 +22,7 @@
<td>
<a href="{% url 'extras:script' module=module name=class_name %}" name="script.{{ class_name }}"><strong>{{ script }}</strong></a>
</td>
<td>{{ script.script_description }}</td>
<td>{{ script.Meta.description }}</td>
<td></td>
</tr>
{% endfor %}