from canari.resource import external_resource
from canari.utils.stack import modulecallee
-from os import execvp, path
-from re import split
+import os
+import re
__author__ = 'Nadeem Douba'
__credits__ = []
__license__ = 'GPL'
-__version__ = '0.2'
+__version__ = '0.3'
__maintainer__ = 'Nadeem Douba'
__email__ = 'ndouba@gmail.com'
__status__ = 'Development'
if interpreter is not None:
self._extra_external_args.append(interpreter)
libpath = external_resource(
- path.dirname(transform_name),
+ os.path.dirname(transform_name),
'%s.resources.external' % modulecallee().__name__.split('.')[0]
)
if interpreter.startswith('perl') or interpreter.startswith('ruby'):
)
if isinstance(transform_args, basestring):
- self._extra_external_args = split('\s+', transform_args)
+ self._extra_external_args = re.split('\s+', transform_args)
else:
self._extra_external_args.extend(transform_args)
p = Popen(self._extra_external_args + list(args), stdin=PIPE, stdout=PIPE)
out, err = p.communicate(request_xml)
return out
- execvp(self._extra_external_args[0], self._extra_external_args + list(args))
+ p = Popen(self._extra_external_args + list(args))
+ p.communicate()
+ exit(p.returncode)