Comments (10)
I see. I missed the line where you mentioned that that code may appear in core.py
.
from irods_rule_engine_plugin_python.
and still not working
from irods_rule_engine_plugin_python.
Hi @jaguc - is this a blocker in any way for you?
from irods_rule_engine_plugin_python.
Although it may be beside the point, the subprocess module can perform the same function, including trapping the output of stdout
and stderr
.
from irods_rule_engine_plugin_python.
@d-w-moore Can you share an example here as a workaround?
from irods_rule_engine_plugin_python.
Sure, a rough example fashioned as a rule - and usage of same - might appear in the core.py
:
import subprocess
def msiExecCmd_ish(args, dummy_callback, dummy_rei):
command = ['/var/lib/irods/msiExecCmd_bin/'+args[0]] + args[1].split()
p = subprocess.Popen( command, stdout=subprocess.PIPE, stderr=subprocess.PIPE )
(out,err) = p.communicate()
args[2] = out
args[3] = err
def use_it(arg,callback,rei):
ret = callback.msiExecCmd_ish("hello",#program
"a b", #args
"","")
callback.writeLine("stdout is",ret['arguments'][2]) # print returned stdout
callback.writeLine("stderr is",ret['arguments'][3]) # print returned stderr
Although if using this through a py_remote
call, it may be necessary to contrive the return of stderr and stdout either through the iRODS Rule language, or if that's not installed, by use of TCP/IP sockets.
from irods_rule_engine_plugin_python.
Why do you need to call msiExecCmd_ish
through the callback
parameter?
Can't it just be called directly?
from irods_rule_engine_plugin_python.
Why do you need to call
msiExecCmd_ish
through thecallback
parameter? Can't it just be called directly?
You don't really need to, but if the idea is to have a rule/msvc analog to msiExecCmd
that is remote-callable from another arbitrary iRODS server, this might be how to do it.
from irods_rule_engine_plugin_python.
Hi @jaguc - is this a blocker in any way for you?
Hi @trel actually not. I was trying things and I was wondering why was not working, so I ended here and I saw that @d-w-moore had the same issue, so I posted that was still open
from irods_rule_engine_plugin_python.
@jaguc yes, it's still open. no activity on it so far, other than this thread. thanks for the follow up.
from irods_rule_engine_plugin_python.
Related Issues (20)
- Add options to enable Address Sanitizer
- IrodsRunpathDefaults HOT 4
- import exifread error HOT 8
- Several `-Wmissing-field-initializers` warnings when building against 4.3.1 candidate HOT 1
- Rule engine plugin interface functions must not be visible outside of shared library
- build hook: use distro-provided CMake if present and newer than ours
- rocky9: enable CRB repo in plugin builder image HOT 1
- EL: investigate using epel-release from repos only HOT 1
- Test hook should only install the python REP from the packages directory
- Helpful addition to the README
- Document `print` behavior in python rules HOT 1
- Investigate drop-in replacement for GenQuery2-based genquery iterator
- global_vars should be available in imported modules HOT 14
- Deprecate implicit/magic import of `irods_types` or `irods_errors`
- Remove deprecated `global_vars` alias
- Add section to README explaining/demonstrating how to pass values back to the caller HOT 1
- Update README for the python interpreter HOT 1
- Possible to use different interpreters? HOT 5
- GeneralUpdate structs generate deprecation warnings during build
- Enable rule engine on Ubuntu 22 and IRODS 4.3.1 HOT 24
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from irods_rule_engine_plugin_python.