mirror of https://github.com/apache/cloudstack.git
63 lines
1.9 KiB
Python
63 lines
1.9 KiB
Python
# Copyright 2012 Citrix Systems, Inc. Licensed under the
|
|
# Apache License, Version 2.0 (the "License"); you may not use this
|
|
# file except in compliance with the License. Citrix Systems, Inc.
|
|
# reserves all rights not expressly granted by 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.
|
|
#
|
|
# Automatically generated by addcopyright.py at 04/03/2012
|
|
'''
|
|
Created on May 17, 2011
|
|
|
|
@author: frank
|
|
'''
|
|
from OvmCommonModule import *
|
|
|
|
class OvmVifDecoder(json.JSONDecoder):
|
|
def decode(self, jStr):
|
|
deDict = asciiLoads(jStr)
|
|
vif = OvmVif()
|
|
vif.mac = deDict['mac']
|
|
vif.bridge = deDict['bridge']
|
|
return vif
|
|
|
|
class OvmVifEncoder(json.JSONEncoder):
|
|
def default(self, obj):
|
|
if not isinstance(obj, OvmVif): raise Exception("%s is not instance of OvmVif"%type(obj))
|
|
dct = {}
|
|
safeDictSet(obj, dct, 'mac')
|
|
safeDictSet(obj, dct, 'bridge')
|
|
safeDictSet(obj, dct, 'type')
|
|
safeDictSet(obj, dct, 'name')
|
|
return dct
|
|
|
|
def fromOvmVif(vif):
|
|
return normalizeToGson(json.dumps(vif, cls=OvmVifEncoder))
|
|
|
|
def fromOvmVifList(vifList):
|
|
return [fromOvmVif(v) for v in vifList]
|
|
|
|
def toOvmVif(jStr):
|
|
return json.loads(jStr, cls=OvmVifDecoder)
|
|
|
|
def toOvmVifList(jStr):
|
|
vifs = []
|
|
for i in jStr:
|
|
vif = toOvmVif(i)
|
|
vifs.append(vif)
|
|
return vifs
|
|
|
|
class OvmVif(OvmObject):
|
|
name = ''
|
|
mac = ''
|
|
bridge = ''
|
|
type = ''
|
|
mode = ''
|
|
|
|
def toXenString(self):
|
|
return "%s,%s,%s"%(self.mac, self.bridge, self.type)
|