You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I tried defining a UDF which would allow me to cache queries before running or reference previously cached ones from a file:
import json
import os
def save_query(*args, **kwargs):
desc = f"{datetime.now()}: {kwargs['desc']}"
qf = f"{os.getenv('TOOLING_DIR')}/QueryFile"
print(qf)
with open(qf, "w") as qryFile:
cached_queries = json.loads(qryFile.read())
query_entry = {
kwargs['key']: {
"query": f"{args}",
"description": desc
}}
cached_queries.update(query_entry)
qryFile.write(json.dumps(cached_queries))
return args
custom_query = lambda : eval("<custom query as string>")
def run_query(qry_key):
with open("f"{os.getenv('TOOLING_DIR')}/QueryFile", "r") as qryFile:
cached_queries = json.loads(qryFile.read())
if qry_key not in cached_queries.keys():
raise KeyError("Undefined query")
qry = cached_queries[qry_key]
return qry['query']
This does not appear to work - it either fails with this error, or a similar one. I may be doing this incorrectly, as I assume that the RBQL queries are in a tuple format.
Is this because the extension is just reading from stdout?
async function run_command_and_parse_output(cmd, args) {
let execution_result = null;
try {
execution_result = await command_async_wrapper(cmd, args);
...
let json_report = execution_result.stdout;
if (!json_report || execution_result.stderr) {
let error_msg = execution_result.stderr || 'empty error';
return {error_type: 'Integration', error_msg: error_msg};
}
try {
return JSON.parse(json_report);
} catch (e) {
return {error_type: 'Integration', error_msg: 'Unable to parse JSON report'};
}
}
...
function command_async_wrapper(cmd, args) {
return new Promise(function (resolve, reject) {
let stdout_data = '';
let stderr_data = '';
let process = child_process.spawn(cmd, args, {'windowsHide': true});
process.stdout.on('data', function(data) {
stdout_data += data.toString();
});
process.stderr.on('data', function(data) {
stderr_data += data.toString();
});
process.on('close', function (code) { // Consider replacing 'close' with 'exit'.
resolve({'exit_code': code, 'stdout': stdout_data, 'stderr': stderr_data});
});
process.on('error', function (err) {
reject(err);
});
});
}
The text was updated successfully, but these errors were encountered:
I tried defining a UDF which would allow me to cache queries before running or reference previously cached ones from a file:
This does not appear to work - it either fails with this error, or a similar one. I may be doing this incorrectly, as I assume that the RBQL queries are in a tuple format.
Is this because the extension is just reading from stdout?
The text was updated successfully, but these errors were encountered: