| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you 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. |
| ''' |
| Created on May 17, 2011 |
| |
| ''' |
| 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) |