p = xmldoc.xpathNewContext()
supplied_arguments = options.arguments
+ element = options.element
for option in supplied_arguments:
option_name = option['name']
option_value = getattr(options,option_name)
if (hasattr(options,option_name)):
- context = p.xpathEval("//rule/argument[name='%s']"%option_name)
+ context = p.xpathEval("//rule[@element='%s' or @element='*']/argument[name='%s']"%element, option_name)
if (not context):
raise Exception('Unknown option %s for match %s'%(option,option['name']))
else:
target_parser = create_parser_xml_ext(target_dict)
targets_str = ",".join(target_dict.keys())
target_parser.add_option('-j','--jump',dest='name',help='Target name (one of %s)'%targets, metavar = 'TARGET')
+ target_parser.add_option('-e','--element',dest='element',help='Element name'%targets, metavar = 'ELEMENT')
(target_options, args) = target_parser.parse_args(pargs[2])
try:
name = target_options.name
except Exception:
- print "Must specify target name with -m"
+ print "Must specify target name with -j"
if (target_dict.has_key(name)):
setattr(target_options, 'arguments', target_dict[name].arguments)