|
@@ -138,7 +138,7 @@ def instance(**_args):
|
|
|
_map['835'] = _handler.merge(_map['*'],_map['835'])
|
|
|
_map['837'] = _handler.merge(_map['*'],_map['837'])
|
|
|
|
|
|
- if 'path' in _args:
|
|
|
+ if 'path' in _args and _args['path']:
|
|
|
#
|
|
|
# We can/will override the default modules given the user has provided a location
|
|
|
# _module = imp.load_source('udf',_args['path'])
|
|
@@ -249,331 +249,331 @@ def filter (**_args) :
|
|
|
|
|
|
_map[x12] = {key:_item[key] for key in _found }
|
|
|
return _map
|
|
|
-def getTableName(**_args) :
|
|
|
- _plugins = _args['plugins']
|
|
|
- _meta = _args['meta']
|
|
|
- _x12 = _meta['x12']
|
|
|
- _foreignkeys = _args['tableKeys']
|
|
|
- _attributes = list(_meta['map'].values()) if 'map' in _meta else _meta['columns']
|
|
|
- if 'field' in _meta or 'container' in _meta:
|
|
|
- _tableName = _meta['field'] if 'field' in _meta else _meta['container']
|
|
|
+# def getTableName(**_args) :
|
|
|
+# _plugins = _args['plugins']
|
|
|
+# _meta = _args['meta']
|
|
|
+# _x12 = _meta['x12']
|
|
|
+# _foreignkeys = _args['tableKeys']
|
|
|
+# _attributes = list(_meta['map'].values()) if 'map' in _meta else _meta['columns']
|
|
|
+# if 'field' in _meta or 'container' in _meta:
|
|
|
+# _tableName = _meta['field'] if 'field' in _meta else _meta['container']
|
|
|
|
|
|
- # _table = {_id:_attributes}
|
|
|
+# # _table = {_id:_attributes}
|
|
|
|
|
|
- elif 'anchor' in _meta :
|
|
|
- _tableName = _meta['anchor'].values()
|
|
|
- # for _name in _meta['anchor'].values() :
|
|
|
- # _table[_name] = _attributes
|
|
|
- elif 'parent' in _meta and _meta['parent']:
|
|
|
- #
|
|
|
- # We can have a parent with no field/container/anchor
|
|
|
- # We expect either a map or columns ...
|
|
|
- #
|
|
|
- _parentElement = _meta['parent']
|
|
|
- _parentMeta = _plugins[_x12][_parentElement].meta
|
|
|
- _parentTable = getTableName(plugins=_plugins,meta = _parentMeta,tableKeys=_foreignkeys)
|
|
|
- _tableName = list(_parentTable.keys())[0]
|
|
|
- # _table[_id] = _parentTable[_id] + _attributes
|
|
|
- _attributes = _parentTable[_tableName] + _attributes
|
|
|
- # print (_meta)
|
|
|
- else:
|
|
|
- #
|
|
|
- # baseline tables have no parent, we need to determine the name
|
|
|
- #
|
|
|
- _tableName = 'claims' if _x12 == '837' else 'remits'
|
|
|
- # print (_id,_attributes)
|
|
|
+# elif 'anchor' in _meta :
|
|
|
+# _tableName = _meta['anchor'].values()
|
|
|
+# # for _name in _meta['anchor'].values() :
|
|
|
+# # _table[_name] = _attributes
|
|
|
+# elif 'parent' in _meta and _meta['parent']:
|
|
|
+# #
|
|
|
+# # We can have a parent with no field/container/anchor
|
|
|
+# # We expect either a map or columns ...
|
|
|
+# #
|
|
|
+# _parentElement = _meta['parent']
|
|
|
+# _parentMeta = _plugins[_x12][_parentElement].meta
|
|
|
+# _parentTable = getTableName(plugins=_plugins,meta = _parentMeta,tableKeys=_foreignkeys)
|
|
|
+# _tableName = list(_parentTable.keys())[0]
|
|
|
+# # _table[_id] = _parentTable[_id] + _attributes
|
|
|
+# _attributes = _parentTable[_tableName] + _attributes
|
|
|
+# # print (_meta)
|
|
|
+# else:
|
|
|
+# #
|
|
|
+# # baseline tables have no parent, we need to determine the name
|
|
|
+# #
|
|
|
+# _tableName = 'claims' if _x12 == '837' else 'remits'
|
|
|
+# # print (_id,_attributes)
|
|
|
|
|
|
- pass
|
|
|
- #
|
|
|
- # Are there any anchors
|
|
|
- if _x12 == '837':
|
|
|
- _keys = [_foreignkeys['claims']]
|
|
|
- elif _x12 == '835' :
|
|
|
- _keys = [_foreignkeys['remits']]
|
|
|
- else:
|
|
|
- _keys = list(set(_foreignkeys.values()))
|
|
|
- _attr = []
|
|
|
- for _item in _attributes :
|
|
|
- if type(_item) == list :
|
|
|
- _attr += _item
|
|
|
- else:
|
|
|
- _attr.append(_item)
|
|
|
- _keys = list(set(_keys) - set(_attr))
|
|
|
- _attr = _keys + _attr
|
|
|
- # if 'container' in _meta and _meta['container'] == 'procedures' :
|
|
|
- # print (_attributes)
|
|
|
- _tableName = [_tableName] if type(_tableName) == str else _tableName
|
|
|
- return dict.fromkeys(_tableName,_attr)
|
|
|
-def _getTableName (**_args):
|
|
|
- """
|
|
|
- This function provides a list of attributes associated with an entity
|
|
|
- The function infers a relational structure from the JSON representation of a claim and plugin specifications
|
|
|
- """
|
|
|
- _meta = _args['meta']
|
|
|
- _xattr = list(_meta['map'].values()) if 'map' in _meta else _meta['columns']
|
|
|
- _plugins = _args['plugins']
|
|
|
- _foreignkeys = _args['tableKeys']
|
|
|
- #
|
|
|
- # Fix attributes, in case we have an index associated with multiple fields
|
|
|
- #
|
|
|
- _attr = []
|
|
|
- if 'anchor' not in _meta and not _meta['parent']:
|
|
|
- for _item in _xattr :
|
|
|
- _attr += _item if type(_item) == list else [_item]
|
|
|
- _name = None
|
|
|
- _info = {}
|
|
|
- _infoparent = {}
|
|
|
- if 'field' in _meta :
|
|
|
- _name = _meta['field']
|
|
|
- elif 'container' in _meta :
|
|
|
- _name = _meta['container']
|
|
|
- elif 'anchor' in _meta :
|
|
|
+# pass
|
|
|
+# #
|
|
|
+# # Are there any anchors
|
|
|
+# if _x12 == '837':
|
|
|
+# _keys = [_foreignkeys['claims']]
|
|
|
+# elif _x12 == '835' :
|
|
|
+# _keys = [_foreignkeys['remits']]
|
|
|
+# else:
|
|
|
+# _keys = list(set(_foreignkeys.values()))
|
|
|
+# _attr = []
|
|
|
+# for _item in _attributes :
|
|
|
+# if type(_item) == list :
|
|
|
+# _attr += _item
|
|
|
+# else:
|
|
|
+# _attr.append(_item)
|
|
|
+# _keys = list(set(_keys) - set(_attr))
|
|
|
+# _attr = _keys + _attr
|
|
|
+# # if 'container' in _meta and _meta['container'] == 'procedures' :
|
|
|
+# # print (_attributes)
|
|
|
+# _tableName = [_tableName] if type(_tableName) == str else _tableName
|
|
|
+# return dict.fromkeys(_tableName,_attr)
|
|
|
+# def _getTableName (**_args):
|
|
|
+# """
|
|
|
+# This function provides a list of attributes associated with an entity
|
|
|
+# The function infers a relational structure from the JSON representation of a claim and plugin specifications
|
|
|
+# """
|
|
|
+# _meta = _args['meta']
|
|
|
+# _xattr = list(_meta['map'].values()) if 'map' in _meta else _meta['columns']
|
|
|
+# _plugins = _args['plugins']
|
|
|
+# _foreignkeys = _args['tableKeys']
|
|
|
+# #
|
|
|
+# # Fix attributes, in case we have an index associated with multiple fields
|
|
|
+# #
|
|
|
+# _attr = []
|
|
|
+# if 'anchor' not in _meta and not _meta['parent']:
|
|
|
+# for _item in _xattr :
|
|
|
+# _attr += _item if type(_item) == list else [_item]
|
|
|
+# _name = None
|
|
|
+# _info = {}
|
|
|
+# _infoparent = {}
|
|
|
+# if 'field' in _meta :
|
|
|
+# _name = _meta['field']
|
|
|
+# elif 'container' in _meta :
|
|
|
+# _name = _meta['container']
|
|
|
+# elif 'anchor' in _meta :
|
|
|
|
|
|
- _name = list(_meta['anchor'].values())
|
|
|
- # if _name :
|
|
|
- # _name = _name if type(_name) == list else [_name]
|
|
|
- # _info = dict.fromkeys(_name,_attr)
|
|
|
- if _meta['parent'] :
|
|
|
- _parentElement = filter(elements=[_meta['parent']],plugins=_plugins)
|
|
|
- _x12 = list(_parentElement.keys())[0]
|
|
|
- _id = list(_parentElement[_x12].keys())[0]
|
|
|
- _infoparent = getTableName(meta = _parentElement[_x12][_id].meta,plugins=_plugins,tableKeys=_foreignkeys)
|
|
|
+# _name = list(_meta['anchor'].values())
|
|
|
+# # if _name :
|
|
|
+# # _name = _name if type(_name) == list else [_name]
|
|
|
+# # _info = dict.fromkeys(_name,_attr)
|
|
|
+# if _meta['parent'] :
|
|
|
+# _parentElement = filter(elements=[_meta['parent']],plugins=_plugins)
|
|
|
+# _x12 = list(_parentElement.keys())[0]
|
|
|
+# _id = list(_parentElement[_x12].keys())[0]
|
|
|
+# _infoparent = getTableName(meta = _parentElement[_x12][_id].meta,plugins=_plugins,tableKeys=_foreignkeys)
|
|
|
|
|
|
- if _meta['x12'] == '*' :
|
|
|
- _name = ['claims','remits'] if not _name else _name
|
|
|
- _attr = list(set(_foreignkeys.values())) + _attr
|
|
|
- else:
|
|
|
- _name = 'claims' if _meta['x12'] == '837' and not _name else ('remits' if not _name and _meta['x12'] == '835' else _name)
|
|
|
- _id = 'claims' if _meta['x12'] == '837' else 'remits'
|
|
|
- if _id in _foreignkeys:
|
|
|
- _attr = [_foreignkeys[_id]] + _attr
|
|
|
+# if _meta['x12'] == '*' :
|
|
|
+# _name = ['claims','remits'] if not _name else _name
|
|
|
+# _attr = list(set(_foreignkeys.values())) + _attr
|
|
|
+# else:
|
|
|
+# _name = 'claims' if _meta['x12'] == '837' and not _name else ('remits' if not _name and _meta['x12'] == '835' else _name)
|
|
|
+# _id = 'claims' if _meta['x12'] == '837' else 'remits'
|
|
|
+# if _id in _foreignkeys:
|
|
|
+# _attr = [_foreignkeys[_id]] + _attr
|
|
|
|
|
|
|
|
|
- # if not _name :
|
|
|
- # if _meta['x12'] == '*' :
|
|
|
- # _name = ['claims','remits']
|
|
|
- # else:
|
|
|
- # _name = 'claims' if _meta['x12'] == '837' else 'remits'
|
|
|
- #
|
|
|
- # Let us make sure we can get the keys associated here ...
|
|
|
- #
|
|
|
- # filter (elements = [])
|
|
|
- _name = _name if type(_name) == list else [_name]
|
|
|
- _info = dict.fromkeys(_name,_attr)
|
|
|
- if _infoparent:
|
|
|
- _info = dict(_info,**_infoparent)
|
|
|
+# # if not _name :
|
|
|
+# # if _meta['x12'] == '*' :
|
|
|
+# # _name = ['claims','remits']
|
|
|
+# # else:
|
|
|
+# # _name = 'claims' if _meta['x12'] == '837' else 'remits'
|
|
|
+# #
|
|
|
+# # Let us make sure we can get the keys associated here ...
|
|
|
+# #
|
|
|
+# # filter (elements = [])
|
|
|
+# _name = _name if type(_name) == list else [_name]
|
|
|
+# _info = dict.fromkeys(_name,_attr)
|
|
|
+# if _infoparent:
|
|
|
+# _info = dict(_info,**_infoparent)
|
|
|
|
|
|
- return _info
|
|
|
+# return _info
|
|
|
|
|
|
|
|
|
|
|
|
-def getTableKeys(**_args):
|
|
|
- _plugins=_args['plugins']
|
|
|
- _pointer = filter(elements=['CLM'],plugins=_plugins)
|
|
|
- _keys = {}
|
|
|
- for _element in ['CLM','CLP'] :
|
|
|
- _pointer = filter(elements=[_element],plugins=_plugins)
|
|
|
- if not _pointer :
|
|
|
- continue
|
|
|
- _pointer = list(_pointer.values())[0]
|
|
|
- _meta = _pointer[_element].meta
|
|
|
- _name = _meta['map'][1] if 'map' in _meta else _meta['columns'][0]
|
|
|
- _id = 'claims' if _element == 'CLM' else 'remits'
|
|
|
- _keys[_id] = _name
|
|
|
- return _keys
|
|
|
- # print (list(_pointer.values())[0]['CLM'].meta)
|
|
|
- # print (_pointer.values()[0].meta)
|
|
|
-def sql (**_args):
|
|
|
- _plugins = _args['plugins']
|
|
|
- # _info = {'foreign':{},'keys':{'claims':None,'remits':None}}
|
|
|
- _documentHandler = x12.util.document.Builder(plugins=_plugins,parents=_args['parents'])
|
|
|
- _tableKeys = getTableKeys(plugins=_plugins)
|
|
|
- _schemas = {}
|
|
|
- for key in _plugins :
|
|
|
- _mpointers = _plugins[key]
|
|
|
- for _element in _mpointers :
|
|
|
- _pointer = _mpointers[_element]
|
|
|
- _meta = _pointer.meta
|
|
|
- _info = getTableName(meta=_meta,plugins=_plugins,tableKeys=_tableKeys)
|
|
|
- # _schemas = dict(_schemas,**_info)
|
|
|
- if _info :
|
|
|
- _schemas = _documentHandler.merge(_schemas,_info)
|
|
|
- # print (_info)
|
|
|
- return _schemas
|
|
|
- # if not _info :
|
|
|
- # print (_meta)
|
|
|
- # continue
|
|
|
- # if _meta['x12'] in ['837','837'] :
|
|
|
- # _schema_id = 'claims' if _meta['x12'] == '837' else 'remits'
|
|
|
- # _schema_id = [_schema_id]
|
|
|
- # else:
|
|
|
- # _schema_id = ['claims','remits']
|
|
|
+# def getTableKeys(**_args):
|
|
|
+# _plugins=_args['plugins']
|
|
|
+# _pointer = filter(elements=['CLM'],plugins=_plugins)
|
|
|
+# _keys = {}
|
|
|
+# for _element in ['CLM','CLP'] :
|
|
|
+# _pointer = filter(elements=[_element],plugins=_plugins)
|
|
|
+# if not _pointer :
|
|
|
+# continue
|
|
|
+# _pointer = list(_pointer.values())[0]
|
|
|
+# _meta = _pointer[_element].meta
|
|
|
+# _name = _meta['map'][1] if 'map' in _meta else _meta['columns'][0]
|
|
|
+# _id = 'claims' if _element == 'CLM' else 'remits'
|
|
|
+# _keys[_id] = _name
|
|
|
+# return _keys
|
|
|
+# # print (list(_pointer.values())[0]['CLM'].meta)
|
|
|
+# # print (_pointer.values()[0].meta)
|
|
|
+# def sql (**_args):
|
|
|
+# _plugins = _args['plugins']
|
|
|
+# # _info = {'foreign':{},'keys':{'claims':None,'remits':None}}
|
|
|
+# _documentHandler = x12.util.document.Builder(plugins=_plugins,parents=_args['parents'])
|
|
|
+# _tableKeys = getTableKeys(plugins=_plugins)
|
|
|
+# _schemas = {}
|
|
|
+# for key in _plugins :
|
|
|
+# _mpointers = _plugins[key]
|
|
|
+# for _element in _mpointers :
|
|
|
+# _pointer = _mpointers[_element]
|
|
|
+# _meta = _pointer.meta
|
|
|
+# _info = getTableName(meta=_meta,plugins=_plugins,tableKeys=_tableKeys)
|
|
|
+# # _schemas = dict(_schemas,**_info)
|
|
|
+# if _info :
|
|
|
+# _schemas = _documentHandler.merge(_schemas,_info)
|
|
|
+# # print (_info)
|
|
|
+# return _schemas
|
|
|
+# # if not _info :
|
|
|
+# # print (_meta)
|
|
|
+# # continue
|
|
|
+# # if _meta['x12'] in ['837','837'] :
|
|
|
+# # _schema_id = 'claims' if _meta['x12'] == '837' else 'remits'
|
|
|
+# # _schema_id = [_schema_id]
|
|
|
+# # else:
|
|
|
+# # _schema_id = ['claims','remits']
|
|
|
|
|
|
- # if _info :
|
|
|
- # #
|
|
|
- # # foreign tables need to be placed here
|
|
|
+# # if _info :
|
|
|
+# # #
|
|
|
+# # # foreign tables need to be placed here
|
|
|
|
|
|
- # for _id in _schema_id :
|
|
|
- # if type(_info) == list :
|
|
|
- # _schemas[_id]['attributes'] += _info
|
|
|
- # else:
|
|
|
- # _schemas[_id]['foreign'] = dict(_schemas[_id]['foreign'],**_info)
|
|
|
- # else:
|
|
|
- # #
|
|
|
- # # This one goes to the main tables
|
|
|
- # for _id in _schema_id :
|
|
|
- # print (_info)
|
|
|
- # _schemas[_id]['attributes'] += list(_info.values())
|
|
|
+# # for _id in _schema_id :
|
|
|
+# # if type(_info) == list :
|
|
|
+# # _schemas[_id]['attributes'] += _info
|
|
|
+# # else:
|
|
|
+# # _schemas[_id]['foreign'] = dict(_schemas[_id]['foreign'],**_info)
|
|
|
+# # else:
|
|
|
+# # #
|
|
|
+# # # This one goes to the main tables
|
|
|
+# # for _id in _schema_id :
|
|
|
+# # print (_info)
|
|
|
+# # _schemas[_id]['attributes'] += list(_info.values())
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-# DEFAULT_PLUGINS='healthcareio.x12.plugins.default'
|
|
|
-# class MODE :
|
|
|
-# TRUST,CHECK,TEST,TEST_AND_CHECK= [0,1,2,3]
|
|
|
-# def instance(**_args) :
|
|
|
-# pass
|
|
|
-# def has(**_args) :
|
|
|
-# """
|
|
|
-# This function will inspect if a function is valid as a plugin or not
|
|
|
-# name : function name for a given file
|
|
|
-# path : python file to examine
|
|
|
-# """
|
|
|
-# _pyfile = _args['path'] if 'path' in _args else ''
|
|
|
-# _name = _args['name']
|
|
|
-# # p = os.path.exists(_pyfile)
|
|
|
-# _module = {}
|
|
|
-# if os.path.exists(_pyfile):
|
|
|
-# _info = IL.utils.spec_from_file_location(_name,_pyfile)
|
|
|
-# if _info :
|
|
|
-# _module = IL.utils.module_from_spec(_info)
|
|
|
-# _info.load.exec(_module)
|
|
|
+# # DEFAULT_PLUGINS='healthcareio.x12.plugins.default'
|
|
|
+# # class MODE :
|
|
|
+# # TRUST,CHECK,TEST,TEST_AND_CHECK= [0,1,2,3]
|
|
|
+# # def instance(**_args) :
|
|
|
+# # pass
|
|
|
+# # def has(**_args) :
|
|
|
+# # """
|
|
|
+# # This function will inspect if a function is valid as a plugin or not
|
|
|
+# # name : function name for a given file
|
|
|
+# # path : python file to examine
|
|
|
+# # """
|
|
|
+# # _pyfile = _args['path'] if 'path' in _args else ''
|
|
|
+# # _name = _args['name']
|
|
|
+# # # p = os.path.exists(_pyfile)
|
|
|
+# # _module = {}
|
|
|
+# # if os.path.exists(_pyfile):
|
|
|
+# # _info = IL.utils.spec_from_file_location(_name,_pyfile)
|
|
|
+# # if _info :
|
|
|
+# # _module = IL.utils.module_from_spec(_info)
|
|
|
+# # _info.load.exec(_module)
|
|
|
|
|
|
|
|
|
-# else:
|
|
|
-# _module = sys.modules[DEFAULT_PLUGINS]
|
|
|
-# return hasattr(_module,_name)
|
|
|
-# def get(**_args) :
|
|
|
-# """
|
|
|
-# This function will inspect if a function is valid as a plugin or not
|
|
|
-# name : function name for a given file
|
|
|
-# path : python file to examine
|
|
|
-# """
|
|
|
-# _pyfile = _args['path'] if 'path' in _args else ''
|
|
|
-# _name = _args['name']
|
|
|
-# # p = os.path.exists(_pyfile)
|
|
|
-# _module = {}
|
|
|
-# if os.path.exists(_pyfile):
|
|
|
-# _info = IL.utils.spec_from_file_location(_name,_pyfile)
|
|
|
-# if _info :
|
|
|
-# _module = IL.utils.module_from_spec(_info)
|
|
|
-# _info.load.exec(_module)
|
|
|
+# # else:
|
|
|
+# # _module = sys.modules[DEFAULT_PLUGINS]
|
|
|
+# # return hasattr(_module,_name)
|
|
|
+# # def get(**_args) :
|
|
|
+# # """
|
|
|
+# # This function will inspect if a function is valid as a plugin or not
|
|
|
+# # name : function name for a given file
|
|
|
+# # path : python file to examine
|
|
|
+# # """
|
|
|
+# # _pyfile = _args['path'] if 'path' in _args else ''
|
|
|
+# # _name = _args['name']
|
|
|
+# # # p = os.path.exists(_pyfile)
|
|
|
+# # _module = {}
|
|
|
+# # if os.path.exists(_pyfile):
|
|
|
+# # _info = IL.utils.spec_from_file_location(_name,_pyfile)
|
|
|
+# # if _info :
|
|
|
+# # _module = IL.utils.module_from_spec(_info)
|
|
|
+# # _info.load.exec(_module)
|
|
|
|
|
|
|
|
|
-# else:
|
|
|
-# _module = sys.modules[DEFAULT_PLUGINS]
|
|
|
-# return getattr(_module,_name) if hasattr(_module,_name) else None
|
|
|
+# # else:
|
|
|
+# # _module = sys.modules[DEFAULT_PLUGINS]
|
|
|
+# # return getattr(_module,_name) if hasattr(_module,_name) else None
|
|
|
|
|
|
|
|
|
-# def test (**_args):
|
|
|
-# """
|
|
|
-# This function will test a plugin to insure the plugin conforms to the norm we are setting here
|
|
|
-# :pointer function to call
|
|
|
-# """
|
|
|
-# _params = {}
|
|
|
-# try:
|
|
|
-# if 'pointer' in _args :
|
|
|
-# _caller = _args['pointer']
|
|
|
-# else:
|
|
|
-# _name = _args['name']
|
|
|
-# _path = _args['path'] if 'path' in _args else None
|
|
|
-# _caller = get(name=_name,path=_path)
|
|
|
-# _params = _caller()
|
|
|
-# #
|
|
|
-# # the expected result is a list of field names [field_o,field_i]
|
|
|
-# #
|
|
|
-# return [_item for _item in _params if _item not in ['',None] and type(_item) == str]
|
|
|
-# except Exception as e :
|
|
|
-# return []
|
|
|
-# pass
|
|
|
-# def inspect(**_args):
|
|
|
-# _mode = _args['mode']
|
|
|
-# _name= _args['name']
|
|
|
-# _path= _args['path']
|
|
|
-# if _mode == MODE.CHECK :
|
|
|
-# _doapply = [has]
|
|
|
-# elif _mode == MODE.TEST :
|
|
|
-# _doapply = [test]
|
|
|
-# elif _mode == MODE.TEST_AND_CHECK :
|
|
|
-# _doapply = [has,test]
|
|
|
-# _status = True
|
|
|
-# _plugin = {"name":_name}
|
|
|
-# for _pointer in _doapply :
|
|
|
-# _plugin[_pointer.__name__] = _pointer(name=_name,path=_path)
|
|
|
-# if not _plugin[_pointer.__name__] :
|
|
|
-# _status = False
|
|
|
-# break
|
|
|
-# _plugin['loaded'] = _status
|
|
|
-# return _plugin
|
|
|
-# def load(**_args):
|
|
|
-# """
|
|
|
-# This function will load all the plugins given an set of arguments :
|
|
|
-# path file
|
|
|
-# name list of functions to export
|
|
|
-# mode 1- CHECK ONLY, 2 - TEST ONLY, 3- TEST_AND_CHECK
|
|
|
-# """
|
|
|
-# _path = _args ['path']
|
|
|
-# _names= _args['names']
|
|
|
-# _mode= _args ['mode'] if 'mode' in _args else MODE.TEST_AND_CHECK
|
|
|
-# _doapply = []
|
|
|
-# if _mode == MODE.CHECK :
|
|
|
-# _doapply = [has]
|
|
|
-# elif _mode == MODE.TEST :
|
|
|
-# _doapply = [test]
|
|
|
-# elif _mode == MODE.TEST_AND_CHECK :
|
|
|
-# _doapply = [has,test]
|
|
|
-# # _plugins = []
|
|
|
-# _plugins = {}
|
|
|
-# for _name in _names :
|
|
|
-# _plugin = {"name":_name}
|
|
|
-# if 'inspect' in _args and _args['inspect'] :
|
|
|
-# _plugin = inspect(name=_name,mode=_mode,path=_path)
|
|
|
-# else:
|
|
|
-# _plugin["method"] = ""
|
|
|
-# _status = True
|
|
|
-# _plugin['loaded'] = _status
|
|
|
-# if _plugin['loaded'] :
|
|
|
-# _plugin['pointer'] = get(name=_name,path=_path)
|
|
|
-# else:
|
|
|
-# _plugin['pointer'] = None
|
|
|
+# # def test (**_args):
|
|
|
+# # """
|
|
|
+# # This function will test a plugin to insure the plugin conforms to the norm we are setting here
|
|
|
+# # :pointer function to call
|
|
|
+# # """
|
|
|
+# # _params = {}
|
|
|
+# # try:
|
|
|
+# # if 'pointer' in _args :
|
|
|
+# # _caller = _args['pointer']
|
|
|
+# # else:
|
|
|
+# # _name = _args['name']
|
|
|
+# # _path = _args['path'] if 'path' in _args else None
|
|
|
+# # _caller = get(name=_name,path=_path)
|
|
|
+# # _params = _caller()
|
|
|
+# # #
|
|
|
+# # # the expected result is a list of field names [field_o,field_i]
|
|
|
+# # #
|
|
|
+# # return [_item for _item in _params if _item not in ['',None] and type(_item) == str]
|
|
|
+# # except Exception as e :
|
|
|
+# # return []
|
|
|
+# # pass
|
|
|
+# # def inspect(**_args):
|
|
|
+# # _mode = _args['mode']
|
|
|
+# # _name= _args['name']
|
|
|
+# # _path= _args['path']
|
|
|
+# # if _mode == MODE.CHECK :
|
|
|
+# # _doapply = [has]
|
|
|
+# # elif _mode == MODE.TEST :
|
|
|
+# # _doapply = [test]
|
|
|
+# # elif _mode == MODE.TEST_AND_CHECK :
|
|
|
+# # _doapply = [has,test]
|
|
|
+# # _status = True
|
|
|
+# # _plugin = {"name":_name}
|
|
|
+# # for _pointer in _doapply :
|
|
|
+# # _plugin[_pointer.__name__] = _pointer(name=_name,path=_path)
|
|
|
+# # if not _plugin[_pointer.__name__] :
|
|
|
+# # _status = False
|
|
|
+# # break
|
|
|
+# # _plugin['loaded'] = _status
|
|
|
+# # return _plugin
|
|
|
+# # def load(**_args):
|
|
|
+# # """
|
|
|
+# # This function will load all the plugins given an set of arguments :
|
|
|
+# # path file
|
|
|
+# # name list of functions to export
|
|
|
+# # mode 1- CHECK ONLY, 2 - TEST ONLY, 3- TEST_AND_CHECK
|
|
|
+# # """
|
|
|
+# # _path = _args ['path']
|
|
|
+# # _names= _args['names']
|
|
|
+# # _mode= _args ['mode'] if 'mode' in _args else MODE.TEST_AND_CHECK
|
|
|
+# # _doapply = []
|
|
|
+# # if _mode == MODE.CHECK :
|
|
|
+# # _doapply = [has]
|
|
|
+# # elif _mode == MODE.TEST :
|
|
|
+# # _doapply = [test]
|
|
|
+# # elif _mode == MODE.TEST_AND_CHECK :
|
|
|
+# # _doapply = [has,test]
|
|
|
+# # # _plugins = []
|
|
|
+# # _plugins = {}
|
|
|
+# # for _name in _names :
|
|
|
+# # _plugin = {"name":_name}
|
|
|
+# # if 'inspect' in _args and _args['inspect'] :
|
|
|
+# # _plugin = inspect(name=_name,mode=_mode,path=_path)
|
|
|
+# # else:
|
|
|
+# # _plugin["method"] = ""
|
|
|
+# # _status = True
|
|
|
+# # _plugin['loaded'] = _status
|
|
|
+# # if _plugin['loaded'] :
|
|
|
+# # _plugin['pointer'] = get(name=_name,path=_path)
|
|
|
+# # else:
|
|
|
+# # _plugin['pointer'] = None
|
|
|
|
|
|
-# # _plugins.append(_plugin)
|
|
|
-# _plugins[_name] = _plugin
|
|
|
-# return _plugins
|
|
|
+# # # _plugins.append(_plugin)
|
|
|
+# # _plugins[_name] = _plugin
|
|
|
+# # return _plugins
|
|
|
|
|
|
|
|
|
-# def parse(**_args):
|
|
|
-# """
|
|
|
-# This function will apply a function against a given function, and data
|
|
|
-# :row claim/remits pre-processed
|
|
|
-# :plugins list of plugins
|
|
|
-# :conifg configuration associated with
|
|
|
-# """
|
|
|
-# _row = _args['row']
|
|
|
-# _document = _args['document']
|
|
|
-# _config = _args['config']
|
|
|
-# """
|
|
|
-# "apply":"@path:name"
|
|
|
-# """
|
|
|
+# # def parse(**_args):
|
|
|
+# # """
|
|
|
+# # This function will apply a function against a given function, and data
|
|
|
+# # :row claim/remits pre-processed
|
|
|
+# # :plugins list of plugins
|
|
|
+# # :conifg configuration associated with
|
|
|
+# # """
|
|
|
+# # _row = _args['row']
|
|
|
+# # _document = _args['document']
|
|
|
+# # _config = _args['config']
|
|
|
+# # """
|
|
|
+# # "apply":"@path:name"
|
|
|
+# # """
|
|
|
|
|
|
-# _info = _args['config']['apply']
|
|
|
-# _plug_conf = _args['config']['plugin'] if 'plugin' in _args['config'] else {}
|
|
|
-# if _info.startswith('@') :
|
|
|
-# _path = '' #-- get this from general configuration
|
|
|
-# elif _info.startswith('!'):
|
|
|
-# _path = _info.split('!')[0][1:]
|
|
|
-# _name = _info.split(':')[-1]
|
|
|
-# _name = _args['config']['apply'].split(_path)
|
|
|
+# # _info = _args['config']['apply']
|
|
|
+# # _plug_conf = _args['config']['plugin'] if 'plugin' in _args['config'] else {}
|
|
|
+# # if _info.startswith('@') :
|
|
|
+# # _path = '' #-- get this from general configuration
|
|
|
+# # elif _info.startswith('!'):
|
|
|
+# # _path = _info.split('!')[0][1:]
|
|
|
+# # _name = _info.split(':')[-1]
|
|
|
+# # _name = _args['config']['apply'].split(_path)
|
|
|
|