Replace namedtuple with an intermediate class

Named Tuples aren't supported on python 2.5
This commit is contained in:
Matthew Jones
2016-01-14 15:38:00 -05:00
parent 08878700ef
commit 7b12954127

View File

@@ -12,7 +12,6 @@ import socket
import sys import sys
import errno import errno
from base64 import b64encode from base64 import b64encode
from collections import namedtuple
# Django # Django
from django.conf import settings from django.conf import settings
@@ -2970,18 +2969,26 @@ class SettingsList(ListCreateAPIView):
filter_backends = () filter_backends = ()
def get_queryset(self): def get_queryset(self):
# TODO: docs class SettingsIntermediary(object):
def __init__(self, key, description, category, value,
value_type, user):
self.key = key
self.description = description
self.category = category
self.value = value
self.value_type = value_type
self.user = user
if not self.request.user.is_superuser: if not self.request.user.is_superuser:
# NOTE: Shortcutting the rbac class due to the merging of the settings manifest and the database # NOTE: Shortcutting the rbac class due to the merging of the settings manifest and the database
# we'll need to extend this more in the future when we have user settings # we'll need to extend this more in the future when we have user settings
return [] return []
SettingsTuple = namedtuple('Settings', ['key', 'description', 'category', 'value', 'value_type', 'user']) all_defined_settings = {s.key: SettingsIntermediary(s.key,
all_defined_settings = {s.key: SettingsTuple(s.key, s.description,
s.description, s.category,
s.category, s.value_converted,
s.value_converted, s.value_type,
s.value_type, s.user) for s in TowerSettings.objects.all()}
s.user) for s in TowerSettings.objects.all()}
manifest_settings = settings.TOWER_SETTINGS_MANIFEST manifest_settings = settings.TOWER_SETTINGS_MANIFEST
settings_actual = [] settings_actual = []
for settings_key in manifest_settings: for settings_key in manifest_settings:
@@ -2989,12 +2996,12 @@ class SettingsList(ListCreateAPIView):
settings_actual.append(all_defined_settings[settings_key]) settings_actual.append(all_defined_settings[settings_key])
else: else:
m_entry = manifest_settings[settings_key] m_entry = manifest_settings[settings_key]
settings_actual.append(SettingsTuple(settings_key, settings_actual.append(SettingsIntermediary(settings_key,
m_entry['description'], m_entry['description'],
m_entry['category'], m_entry['category'],
m_entry['default'], m_entry['default'],
m_entry['type'], m_entry['type'],
None)) None))
return settings_actual return settings_actual
def delete(self, request, *args, **kwargs): def delete(self, request, *args, **kwargs):