follow suit with the rax refactor and split out the slugify code

This commit is contained in:
Matt Martz 2013-11-15 12:00:32 -06:00
parent 40354d0775
commit 7aaac10a00

View file

@ -90,14 +90,16 @@ except ImportError:
NON_CALLABLES = (basestring, bool, dict, int, list, NoneType) NON_CALLABLES = (basestring, bool, dict, int, list, NoneType)
def rax_slugify(value):
return 'rax_%s' % (re.sub('[^\w-]', '_', value).lower().lstrip('_'))
def pyrax_object_to_dict(obj): def pyrax_object_to_dict(obj):
instance = {} instance = {}
for key in dir(obj): for key in dir(obj):
value = getattr(obj, key) value = getattr(obj, key)
if (isinstance(value, NON_CALLABLES) and not key.startswith('_')): if (isinstance(value, NON_CALLABLES) and not key.startswith('_')):
key = 'rax_' + (re.sub('[^A-Za-z0-9\-]', '_', key) key = rax_slugify(key)
.lower()
.lstrip('_'))
instance[key] = value instance[key] = value
return instance return instance