methods. This should prevent the omfaspect fail plcapi calls.
from pyaspects.meta import MetaAspect
from pyaspects.meta import MetaAspect
+def ignore_exception(ExceptionType=None):
+ '''A decorator to ignore the given exception type. Use as
+ @ignore_exception() to ignore all exceptions.'''
+ def deco_ignore(f):
+ def f_ignore(*args, **kwargs):
+ if not ExceptionType:
+ try:
+ return f(*args, **kwargs)
+ except:
+ return None
+ else:
+ try:
+ return f(*args, **kwargs)
+ except ExceptionType, e:
+ return None
+ return f_ignore
+ return deco_ignore
+
+
class BaseOMF(object):
def __init__(self):
class BaseOMF(object):
def __init__(self):
def logit(self, call, args, kwargs, data, slice):
if not self.log: return
def logit(self, call, args, kwargs, data, slice):
if not self.log: return
self.log.write("%s\n\n" % slice)
self.log.flush()
self.log.write("%s\n\n" % slice)
self.log.flush()
def get_slice(self, api, id_or_name):
slice_filter = {}
try: # if integer
def get_slice(self, api, id_or_name):
slice_filter = {}
try: # if integer
# return slice
# return None
# return slice
# return None
def get_node_hrn(self, api, node_id_or_hostname):
tag_filter = {'tagname': 'hrn'}
try:
def get_node_hrn(self, api, node_id_or_hostname):
tag_filter = {'tagname': 'hrn'}
try:
except IndexError:
return None
except IndexError:
return None
def get_slice_tags(self, api, slice_id):
return SliceTags(api, slice_tag_filter = {'slice_id': slice_id})
def get_slice_tags(self, api, slice_id):
return SliceTags(api, slice_tag_filter = {'slice_id': slice_id})
def get_tag_type(self, api, tagname):
try:
tag = TagTypes(api, {'tagname':tagname})[0]
def get_tag_type(self, api, tagname):
try:
tag = TagTypes(api, {'tagname':tagname})[0]
except IndexError:
return None
except IndexError:
return None
def create_slice(self, slice):
pass
def create_slice(self, slice):
pass
def add_resource(self, slice, resource):
pass
def add_resource(self, slice, resource):
pass
def delete_slice(self, slice):
pass
def delete_slice(self, slice):
pass
def delete_resource(self, slice, resource):
pass
def delete_resource(self, slice, resource):
pass
slicemgr_url = self.config.PLC_OMF_SLICEMGR_URL
self.server = xmlrpclib.ServerProxy(slicemgr_url, allow_none = 1)
slicemgr_url = self.config.PLC_OMF_SLICEMGR_URL
self.server = xmlrpclib.ServerProxy(slicemgr_url, allow_none = 1)
def create_slice(self, slice):
self.server.createSlice(slice)
def create_slice(self, slice):
self.server.createSlice(slice)
def add_resource(self, slice, resource):
self.server.addResource(slice, resource)
def add_resource(self, slice, resource):
self.server.addResource(slice, resource)
def delete_slice(self, slice):
self.server.deleteSlice(slice)
def delete_slice(self, slice):
self.server.deleteSlice(slice)
def delete_resource(self, slice, resource):
self.server.removeResource(slice, resource)
def delete_resource(self, slice, resource):
self.server.removeResource(slice, resource)