# sfa should not depend on sfatables
# if the sfatables.runtime import fails, just define run_sfatables as identity
-import sys
+
try:
from sfatables.runtime import SFATablesRules
information that sfatables is requesting. But for now, we just return
the basic information needed in a dict.
"""
- base_context = {'sfa':{'user':{'hrn':user_hrn}, 'slice':{'hrn':slice_hrn}}}
+ base_context = {
+ 'sfa': {'user': {'hrn': user_hrn}, 'slice': {'hrn': slice_hrn}}}
return base_context
- def run_sfatables(chain, hrn, origin_hrn, rspec, context_callback = None ):
+ def run_sfatables(chain, hrn, origin_hrn, rspec, context_callback=None):
"""
Run the rspec through sfatables
@param chain Name of rule chain
@param origin_hrn Original caller's hrn
@param rspec Incoming rspec
@param context_callback Callback used to generate the request context
-
+
@return rspec
"""
if not context_callback:
context_callback = fetch_context
-
+
chain = chain.upper()
rules = SFATablesRules(chain)
- print>>sys.stderr, " \r\n \r\n \t\t \t sfaTablesRuntime.py run_sfatables context_callback %s chain %s rules %s " %(context_callback,chain, rules )
if rules.sorted_rule_list:
contexts = rules.contexts
request_context = context_callback(hrn, origin_hrn, contexts)
return newrspec
except:
-
- from sfa.util.logging import logger
- def run_sfatables (_,__,___, rspec, ____=None):
- logger.warning("Cannot import sfatables.runtime, please install package sfa-sfatables")
+
+ from sfa.util.sfalogging import logger
+
+ def run_sfatables(_, __, ___, rspec, ____=None):
+ logger.warning(
+ "Cannot import sfatables.runtime, please install package sfa-sfatables")
return rspec