Merge "Remove unused object function"

This commit is contained in:
Jenkins 2015-09-19 22:30:10 +00:00 committed by Gerrit Code Review
commit cd32fa5421
3 changed files with 0 additions and 106 deletions

View File

@ -17,8 +17,6 @@
from oslo_log import log as logging from oslo_log import log as logging
from oslo_versionedobjects import base as object_base from oslo_versionedobjects import base as object_base
from ironic.common import exception
from ironic.common.i18n import _
from ironic.objects import fields as object_fields from ironic.objects import fields as object_fields
@ -29,30 +27,6 @@ class IronicObjectRegistry(object_base.VersionedObjectRegistry):
pass pass
# Object versioning rules
#
# Each service has its set of objects, each with a version attached. When
# a client attempts to call an object method, the server checks to see if
# the version of that object matches (in a compatible way) its object
# implementation. If so, cool, and if not, fail.
def check_object_version(server, client):
try:
client_major, _client_minor = client.split('.')
server_major, _server_minor = server.split('.')
client_minor = int(_client_minor)
server_minor = int(_server_minor)
except ValueError:
raise exception.IncompatibleObjectVersion(
_('Invalid version string'))
if client_major != server_major:
raise exception.IncompatibleObjectVersion(
dict(client=client_major, server=server_major))
if client_minor > server_minor:
raise exception.IncompatibleObjectVersion(
dict(client=client_minor, server=server_minor))
class IronicObject(object_base.VersionedObject): class IronicObject(object_base.VersionedObject):
"""Base class and object factory. """Base class and object factory.
@ -94,17 +68,3 @@ class IronicObject(object_base.VersionedObject):
class IronicObjectSerializer(object_base.VersionedObjectSerializer): class IronicObjectSerializer(object_base.VersionedObjectSerializer):
# Base class to use for object hydration # Base class to use for object hydration
OBJ_BASE_CLASS = IronicObject OBJ_BASE_CLASS = IronicObject
def obj_to_primitive(obj):
"""Recursively turn an object into a python primitive.
An IronicObject becomes a dict
"""
if isinstance(obj, IronicObject):
result = {}
for key, value in obj.items():
result[key] = obj_to_primitive(value)
return result
else:
return obj

View File

@ -1,36 +0,0 @@
# Copyright 2013 IBM Corp.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
"""Utility methods for objects"""
from datetime import datetime
from oslo_utils import timeutils
def dt_serializer(name):
"""Return a datetime serializer for a named attribute."""
def serializer(self, name=name):
if getattr(self, name) is not None:
return datetime.isoformat(getattr(self, name))
else:
return None
return serializer
def dt_deserializer(instance, val):
"""A deserializer method for datetime attributes."""
if val is None:
return None
else:
return timeutils.parse_isotime(val)

View File

@ -18,14 +18,12 @@ import gettext
import iso8601 import iso8601
from oslo_context import context from oslo_context import context
from oslo_utils import timeutils
from oslo_versionedobjects import base as object_base from oslo_versionedobjects import base as object_base
from oslo_versionedobjects import exception as object_exception from oslo_versionedobjects import exception as object_exception
import six import six
from ironic.objects import base from ironic.objects import base
from ironic.objects import fields from ironic.objects import fields
from ironic.objects import utils
from ironic.tests import base as test_base from ironic.tests import base as test_base
gettext.install('ironic') gettext.install('ironic')
@ -94,34 +92,6 @@ class TestSubclassedObject(MyObj):
fields = {'new_field': fields.StringField()} fields = {'new_field': fields.StringField()}
class TestUtils(test_base.TestCase):
def test_dt_serializer(self):
class Obj(object):
foo = utils.dt_serializer('bar')
obj = Obj()
obj.bar = timeutils.parse_isotime('1955-11-05T00:00:00+00:00')
self.assertEqual('1955-11-05T00:00:00+00:00', obj.foo())
obj.bar = None
self.assertIsNone(obj.foo())
obj.bar = 'foo'
self.assertRaises(TypeError, obj.foo)
def test_dt_deserializer(self):
dt = timeutils.parse_isotime('1955-11-05T00:00:00Z')
self.assertEqual(utils.dt_deserializer(None, dt.isoformat()), dt)
self.assertIsNone(utils.dt_deserializer(None, None))
self.assertRaises(ValueError, utils.dt_deserializer, None, 'foo')
def test_obj_to_primitive_dict(self):
myobj = MyObj(self.context)
myobj.foo = 1
myobj.bar = 'foo'
self.assertEqual({'foo': 1, 'bar': 'foo'},
base.obj_to_primitive(myobj))
class _BaseTestCase(test_base.TestCase): class _BaseTestCase(test_base.TestCase):
def setUp(self): def setUp(self):
super(_BaseTestCase, self).setUp() super(_BaseTestCase, self).setUp()