Call a script from a plugin

Hello

Is it possible to call a script existing since an Illustrator plugin?

Thank you

I close the topic because I think I used a bad word. In fact, I don't want to call a script but an action performed by a user.

Tags: Illustrator

Similar Questions

  • Call a script from a function sql file.

    Hello
    I need to call a script file sql from a user-defined function. Currently I am doing this in Oracle SQL Developer. I tried to call with
    @ {filename}, EXECUTION IMMEDIATE etc, but nothing worked. I get the compile error.

    Basically, my need is to call catldap.sql file so that DBMS_LDAP package gets loaded and then I can call this API functions.
    Please let me know if this is possible to do in a PL/SQL function.

    Thank you
    NGO

    user784520 wrote:

    I need to call a script file sql from a user-defined function.

    Not possible... and it seems that you do not fully understand the client-server in the context of Oracle.

    All SQL and PL/SQL are parsed and executed by an Oracle server process. Engines SQL and PL/SQL is expecting a single command at a time block. Any of these can accept a series of commands in a single call and then runs them in turn. The SQL engine expects a single SQL statement at a time. PL engine provides an anonymous PL/SQL block for both.

    This server process can not also enter the local file system to access the script files. Nor can he hack it on the network to access the script on the client files.

    So that the server process to access local files, a Directory object must be created and the current Oracle schema must read or a write access to this directory object. Sound security principles apply.

    There is no PL/SQL command to run a script. Do not confuse SQL * more (this customer has a very limited vocabulary) orders with PL/SQL commands. SQL * Plus runs its own orders... and send SQL and PL/SQL commands (a statement block a time) either repaired and running Oracle server process.

    It's also a very bad idea to run the external script content from within an Oracle server process - as this script resides outside and so outside the Oracle security mechanisms. This means that it is fairly easy for a person to access this script, compromise and then you inject and execute the contents of this script in the database.

    It is not good security.

    Latest issue - it's even worse to have the PL/SQL application dynamically create (or try to create) parts of the Oracle data dictionary and calling PL/SQL interface.

    The database must be installed correctly - and that includes loading and execution of the required rdbms/admin scripts during installation. It makes no sense at all for the application code to try to run these scripts. It raises many questions, including getting to allow the full application and full SYS code access to the instance database. A very serious breach of security.

    I agree at all with the approach to use.

  • ExtendToolscript opens when I call the script from photoshop

    Hey,.

    I asked this question on in general discussions by mistake if I though I would ask new here.

    I have a Javascript that I wrote which generates an interface of buttons in groups organized according to the contents of some folders. Everything works fine, but when you call it from photoshop and extendtoolscript it is not always executed it opens. I wrote many scripts with interfaces and I've never had this problem. This isn't a huge problem for me, as I usually have this program open anyway, but I intend to have a team of people using this script, so if I could stop, somehow, it would be much better.

    If anyone has experienced this before? Or maybe functions extendscript causes to open?

    I don't see anything unusual in the script...

    Any help would be appreciated!

    Thank you

    Mark

    var strtRulerUnits = app.preferences.rulerUnits;
    var strtTypeUnits = app.preferences.typeUnits;
    app.preferences.rulerUnits = Units.PIXELS;
    app.preferences.typeUnits = TypeUnits.PIXELS;
    
    
    
    
    var templatepath = "~/Desktop/BANNERS/";
    
    
    var bannerfile = ""
    var docRef = app.activeDocument;
    
    
    
    
    var fileArray = new Array();
    
    
                    var sourceFolder = Folder (templatepath + "MAIN/");
    
    
                    var extRE = /\.(?:png|gif|jpg|bmp|tif|psd)$/i;
                    
                    // get all files in source folder
                    var docs = sourceFolder.getFiles();
                    var len = docs.length;
                    for (var i = 0; i < len; i++) {
                                    var doc = docs[i];
    
    
                                    // only match files (not folders)
                                    if (doc instanceof File) {
                                                    // store all recognized files into an array
                                                    var docName = doc.name;
                                                    if (docName.match(extRE)) {
                                                                    fileArray.push(doc);
                                                    }
                                    }
                    }
                
                
                var w = new Window ("dialog", "Choose a Banner");
                w.preferredSize = [400, 100];
                w.orientation = 'row';
                w.alignChildren = "left"
                w.alignChildren = [ "fill", "fill"];
                
                w.btnPnl = w.add('panel', undefined, 'MAIN');
                
                w.btnPnl.btn = w.add ("group");
                w.btnPnl.btn.alignChildren = "left"
                
                var buttonarray = new Array ();
                var key = {};
                
                
                
                for (var i = 0; i < fileArray.length ; i++) {
                    
                    var delimeter = '/';
                    var string = String (fileArray[i]);
                    var splitted = string.split(delimeter);
                    var thelength = ((splitted.length) - 1);
                    var bannername = splitted[thelength];
                    var delimeter = '.';
                    var splitted = bannername.split(delimeter);
                    var bannername = splitted[0];
                    
                    
                    var checkdelim = "%20";
                    var checkthat =  bannername.indexOf(checkdelim);
                    if (checkthat == "-1") {}
                    else {
                        
                    var delimeter = '%20';
                    var splitted = bannername.split(delimeter);
                    var counter = 0;
                    while (counter < splitted.length){
                    
                    if (counter == 0){
                    var bannername = (splitted[counter] + " ");    
                    }
                    else if (counter == ((splitted.length) - 1)){
                    var bannername = (bannername + splitted[counter]);
                    }
                    else{
                    var bannername = (bannername + splitted[counter] + " ");
                    }
                    var counter = (counter + 1);
                    }
                
                    }
                if (fileArray.length > 6){
                        var divider = 2
                        }
                    else{
                        var divider = 1
                        }
                    
                    var remainder = (i % divider);
                    if (remainder == 0){  
                    w.btnPnl.btn = w.btnPnl.add ("group");
                    w.btnPnl.btn.alignChildren = "left"
                    } else {
                    //x is not a multiple of y
                    }
                    
                    key = (String (fileArray[i]));
                    w[key] = w.btnPnl.btn.add("button", undefined ,bannername ); 
                    w[key].alignment = 'left';
                    buttonarray.push(w[key]);
                    
                    w.btnPnl.btn.addEventListener('click', button_pressed);
                    
                    function button_pressed (e)
                    {
                   if (e.target.type == "button")
                    $.writeln (e.target.text + " from panel " + e.target.parent.text);
                    w.close()
                    ////////////////////
                    var buttonname = e.target.text;
                    var checkdelim = " ";
                    var checkthat = buttonname.indexOf(checkdelim);
                    if (checkthat == "-1") {}
                    else {
                        
                    var delimeter = ' ';
                    var splitted = buttonname.split(delimeter);
                    var counter = 0;
                    while (counter < splitted.length){
                    
                    if (counter == 0){
                    var buttonname = (splitted[counter] + "%20");    
                    }
                    else if (counter == ((splitted.length) - 1)){
                    var buttonname = (buttonname + splitted[counter]);
                    }
                    else{
                    var buttonname = (buttonname + splitted[counter] + "%20");
                    }
                    var counter = (counter + 1);
                    }
                }
                
                    ///////////////////////
                    
                    bannerfile = new File (templatepath + "MAIN/" + buttonname + '.png');
                    
                     }
                 }
             
     ///////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////
      ///////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////
    
    var fileArrayneon = new Array();
    
    
                    var sourceFolder = Folder (templatepath + "NEON/");
    
    
                    var extRE = /\.(?:png|gif|jpg|bmp|tif|psd)$/i;
                    
                    // get all files in source folder
                    var docs = sourceFolder.getFiles();
                    var len = docs.length;
                    for (var i = 0; i < len; i++) {
                                    var doc = docs[i];
    
    
                                    // only match files (not folders)
                                    if (doc instanceof File) {
                                                    // store all recognized files into an array
                                                    var docName = doc.name;
                                                    if (docName.match(extRE)) {
                                                                    fileArrayneon.push(doc);
                                                    }
                                    }
                    }
                
                
                
                
                w.btnPnl = w.add('panel', undefined, 'NEON');
                
                w.btnPnl.btn = w.add ("group");
                
                var buttonarray = new Array ();
                var key = {};
                
                
                
                for (var i = 0; i < fileArrayneon.length ; i++) {
                    
                    var delimeter = '/';
                    var string = String (fileArrayneon[i]);
                    var splitted = string.split(delimeter);
                    var thelength = ((splitted.length) - 1);
                    var bannername = splitted[thelength];
                    var delimeter = '.';
                    var splitted = bannername.split(delimeter);
                    var bannername = splitted[0];
                    
                    
                    var checkdelim = "%20";
                    var checkthat =  bannername.indexOf(checkdelim);
                    if (checkthat == "-1") {}
                    else {
                        
                    var delimeter = '%20';
                    var splitted = bannername.split(delimeter);
                    var counter = 0;
                    while (counter < splitted.length){
                    
                    if (counter == 0){
                    var bannername = (splitted[counter] + " ");    
                    }
                    else if (counter == ((splitted.length) - 1)){
                    var bannername = (bannername + splitted[counter]);
                    }
                    else{
                    var bannername = (bannername + splitted[counter] + " ");
                    }
                    var counter = (counter + 1);
                    }
                
                    }
                
                if (fileArrayneon.length > 6){
                        var divider = 2
                        }
                    else{
                        var divider = 1
                        }
                    
                    var remainder = (i % divider);
                    if (remainder == 0){  
                    w.btnPnl.btn = w.btnPnl.add ("group");
                    w.btnPnl.btn.alignChildren = "left"
                    } else {
                    //x is not a multiple of y
                    }
                    
                    key = (String (fileArrayneon[i]));
                    w[key] = w.btnPnl.btn.add("button", undefined ,bannername ); 
                    w[key].alignment = 'left';
                    buttonarray.push(w[key]);
                    
                    w.btnPnl.btn.addEventListener('click', button_pressed);
                    
                    function button_pressed (e)
                    {
                   if (e.target.type == "button")
                    $.writeln (e.target.text + " from panel " + e.target.parent.text);
                    w.close()
                    ////////////////////
                    var buttonname = e.target.text;
                    var checkdelim = " ";
                    var checkthat = buttonname.indexOf(checkdelim);
                    if (checkthat == "-1") {}
                    else {
                        
                    var delimeter = ' ';
                    var splitted = buttonname.split(delimeter);
                    var counter = 0;
                    while (counter < splitted.length){
                    
                    if (counter == 0){
                    var buttonname = (splitted[counter] + "%20");    
                    }
                    else if (counter == ((splitted.length) - 1)){
                    var buttonname = (buttonname + splitted[counter]);
                    }
                    else{
                    var buttonname = (buttonname + splitted[counter] + "%20");
                    }
                    var counter = (counter + 1);
                    }
                }
                
                    ///////////////////////
                    
                    bannerfile = new File (templatepath + "NEON/" + buttonname + '.png');
                    
                     }
                 } 
      ///////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////
      ///////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////
      ///////////////////////////////////////////////////////////
    var fileArray180 = new Array();
    
    
                    var sourceFolder = Folder (templatepath + "180/");
    
    
                    var extRE = /\.(?:png|gif|jpg|bmp|tif|psd)$/i;
                    
                    // get all files in source folder
                    var docs = sourceFolder.getFiles();
                    var len = docs.length;
                    for (var i = 0; i < len; i++) {
                                    var doc = docs[i];
    
    
                                    // only match files (not folders)
                                    if (doc instanceof File) {
                                                    // store all recognized files into an array
                                                    var docName = doc.name;
                                                    if (docName.match(extRE)) {
                                                                    fileArray180.push(doc);
                                                    }
                                    }
                    }
                
                
                
                
                w.btnPnl = w.add('panel', undefined, '180');
                
                w.btnPnl.btn = w.add ("group");
                
                var buttonarray = new Array ();
                var key = {};
                
                
                
                for (var i = 0; i < fileArray180.length ; i++) {
                    
                    var delimeter = '/';
                    var string = String (fileArray180[i]);
                    var splitted = string.split(delimeter);
                    var thelength = ((splitted.length) - 1);
                    var bannername = splitted[thelength];
                    var delimeter = '.';
                    var splitted = bannername.split(delimeter);
                    var bannername = splitted[0];
                    
                    
                    var checkdelim = "%20";
                    var checkthat =  bannername.indexOf(checkdelim);
                    if (checkthat == "-1") {}
                    else {
                        
                    var delimeter = '%20';
                    var splitted = bannername.split(delimeter);
                    var counter = 0;
                    while (counter < splitted.length){
                    
                    if (counter == 0){
                    var bannername = (splitted[counter] + " ");    
                    }
                    else if (counter == ((splitted.length) - 1)){
                    var bannername = (bannername + splitted[counter]);
                    }
                    else{
                    var bannername = (bannername + splitted[counter] + " ");
                    }
                    var counter = (counter + 1);
                    }
                
                    }
                        
                   if (fileArray180.length > 6){
                        var divider = 2
                        }
                    else{
                        var divider = 1
                        }
                    
                    var remainder = (i % divider);
                    
                    
                    if (remainder == 0){  
                    w.btnPnl.btn = w.btnPnl.add ("group");
                    w.btnPnl.btn.alignChildren = "left"
                    } else {
                    //x is not a multiple of y
                    }
                    
                    key = (String (fileArray180[i]));
                    w[key] = w.btnPnl.btn.add("button", undefined ,bannername ); 
                    w[key].alignment = 'left';
                    buttonarray.push(w[key]);
                    
                    w.btnPnl.btn.addEventListener('click', button_pressed);
                    
                    function button_pressed (e)
                    {
                   if (e.target.type == "button")
                    $.writeln (e.target.text + " from panel " + e.target.parent.text);
                    w.close()
                    ////////////////////
                    var buttonname = e.target.text;
                    var checkdelim = " ";
                    var checkthat = buttonname.indexOf(checkdelim);
                    if (checkthat == "-1") {}
                    else {
                        
                    var delimeter = ' ';
                    var splitted = buttonname.split(delimeter);
                    var counter = 0;
                    while (counter < splitted.length){
                    
                    if (counter == 0){
                    var buttonname = (splitted[counter] + "%20");    
                    }
                    else if (counter == ((splitted.length) - 1)){
                    var buttonname = (buttonname + splitted[counter]);
                    }
                    else{
                    var buttonname = (buttonname + splitted[counter] + "%20");
                    }
                    var counter = (counter + 1);
                    }
                }
                
                    ///////////////////////
                    
                    bannerfile = new File (templatepath + "180/" + buttonname + '.png');
                    
                     }
                 }   
      
    
    
    
     ///////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////
      ///////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////
    
    
    var fileArraymisc = new Array();
    
    
                    var sourceFolder = Folder (templatepath + "MISC/");
    
    
                    var extRE = /\.(?:png|gif|jpg|bmp|tif|psd)$/i;
                    
                    // get all files in source folder
                    var docs = sourceFolder.getFiles();
                    var len = docs.length;
                    for (var i = 0; i < len; i++) {
                                    var doc = docs[i];
    
    
                                    // only match files (not folders)
                                    if (doc instanceof File) {
                                                    // store all recognized files into an array
                                                    var docName = doc.name;
                                                    if (docName.match(extRE)) {
                                                                    fileArraymisc.push(doc);
                                                    }
                                    }
                    }
                
                
                
                
                w.btnPnl = w.add('panel', undefined, 'MISC');
                
                w.btnPnl.btn = w.add ("group");
                
                var buttonarray = new Array ();
                var key = {};
                
                
                
                for (var i = 0; i < fileArraymisc.length ; i++) {
                    
                    var delimeter = '/';
                    var string = String (fileArraymisc[i]);
                    var splitted = string.split(delimeter);
                    var thelength = ((splitted.length) - 1);
                    var bannername = splitted[thelength];
                    var delimeter = '.';
                    var splitted = bannername.split(delimeter);
                    var bannername = splitted[0];
                    
                    
                    var checkdelim = "%20";
                    var checkthat =  bannername.indexOf(checkdelim);
                    if (checkthat == "-1") {}
                    else {
                        
                    var delimeter = '%20';
                    var splitted = bannername.split(delimeter);
                    var counter = 0;
                    while (counter < splitted.length){
                    
                    if (counter == 0){
                    var bannername = (splitted[counter] + " ");    
                    }
                    else if (counter == ((splitted.length) - 1)){
                    var bannername = (bannername + splitted[counter]);
                    }
                    else{
                    var bannername = (bannername + splitted[counter] + " ");
                    }
                    var counter = (counter + 1);
                    }
                
                    }
                    if (fileArraymisc.length > 6){
                        var divider = 2
                        }
                    else{
                        var divider = 1
                        }
                    
                    var remainder = (i % divider);
                    if (remainder == 0){  
                    w.btnPnl.btn = w.btnPnl.add ("group");
                    w.btnPnl.btn.alignChildren = "left"
                    } else {
                    //x is not a multiple of y
                    }
                    
                    key = (String (fileArraymisc[i]));
                    w[key] = w.btnPnl.btn.add("button", undefined ,bannername ); 
                    w[key].alignment = 'left';
                    buttonarray.push(w[key]);
                    
                    w.btnPnl.btn.addEventListener('click', button_pressed);
                    
                    function button_pressed (e)
                    {
                   if (e.target.type == "button")
                    $.writeln (e.target.text + " from panel " + e.target.parent.text);
                    w.close()
                    ////////////////////
                    var buttonname = e.target.text;
                    var checkdelim = " ";
                    var checkthat = buttonname.indexOf(checkdelim);
                    if (checkthat == "-1") {}
                    else {
                        
                    var delimeter = ' ';
                    var splitted = buttonname.split(delimeter);
                    var counter = 0;
                    while (counter < splitted.length){
                    
                    if (counter == 0){
                    var buttonname = (splitted[counter] + "%20");    
                    }
                    else if (counter == ((splitted.length) - 1)){
                    var buttonname = (buttonname + splitted[counter]);
                    }
                    else{
                    var buttonname = (buttonname + splitted[counter] + "%20");
                    }
                    var counter = (counter + 1);
                    }
                }
                
                    ///////////////////////
                    
                    bannerfile = new File (templatepath + "MISC/" + buttonname + '.png');
                    
                     }
                 }  
    
    
    
    
    
       
                     
     w.show();
    
    
    
    
    
    
    
    
      ///////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////
      ///////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////
      ///////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////
    
     if (bannerfile == ""){}
     else{
    
    var targetDocumentName =  docRef.name;
    var tempfile = app.open (bannerfile);
    var sourceDocumentName = app.activeDocument.name;
    
    
    
    
    var thewidth = tempfile.width;
    var theheight  = tempfile.height;
    
    
    
    
    app.activeDocument = docRef;
    docRef.resizeImage (null, theheight, null, ResampleMethod.BICUBIC);
    
    
    if ((String(thewidth)) == (String(docRef.width))){
    var thelayer = docRef.activeLayer;
    copyLayers(sourceDocumentName, targetDocumentName );
    docRef.activeLayer = thelayer;
    }
    else {
    alert ("Document width Incorrect")   
    
    
    docRef.activeLayer.name = "main";
    var thelayer = docRef.activeLayer;
    docRef.resizeCanvas (thewidth, null, AnchorPosition.BOTTOMCENTER);
    copyLayers(sourceDocumentName, targetDocumentName );
    docRef.activeLayer = thelayer;
     }
      imageView ("FtOn");
     }
    
    
    
    
    
    
    
    
    
      ///////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////
      ///////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////
      ///////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////
      ///////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////
      ///////////////////////////////////////////////////////////
     ////////////////////////////////////////////////////////////
    
    
    
    
     function copyLayers(sourceDocumentName, targetDocumentName) {
      var sourceDoc = app.documents[sourceDocumentName];
      var targetDoc = app.documents[targetDocumentName];
      var sourceLayer, targetLayer, sourceGroup;
    
    
      if (app.activeDocument != sourceDoc) {
        app.activeDocument = sourceDoc;
      }
    
    
    var thelayer = tempfile.layers[0];
    var layersToCopy = thelayer.name;
    
    
      if ( typeof layersToCopy === 'string' ) {
        sourceGroup = tempfile.layers[0];
        targetLayer = sourceGroup.duplicate( targetDoc, ElementPlacement.PLACEATBEGINNING )
      }
      else if ( Object.prototype.toString.call( layersToCopy ) === '[object Array]' ) {
        for (var i = 0; i < layersToCopy.length; i++) {
          sourceLayer = sourceDoc.artLayers.getByName( layersToCopy[i] );
          targetLayer = sourceLayer.duplicate( targetDoc, ElementPlacement.PLACEATBEGINNING );
        }
      } 
    tempfile.close(SaveOptions.DONOTSAVECHANGES);
    }
    
    
    
    
    
    
    function imageView (view) {
        desc= new ActionDescriptor();
            ref = new ActionReference();
          if (view.length < 5){
             var viewID = charIDToTypeID( view );
          }else{
             var viewID = stringIDToTypeID( view );
          }
          ref.putEnumerated( charIDToTypeID( "Mn  " ), charIDToTypeID( "MnIt" ), viewID );
        desc.putReference( charIDToTypeID( "null" ), ref );
       executeAction( charIDToTypeID( "slct" ), desc, DialogModes.NO );
    };
    
    

    $.writeln (written) the text specified in the JavaScript Console to ExtendScript Toolkit.

    You will probably need to 4 occurrences of the following line, apparently used for purposes of debugging in comment:

    $.writeln (e.target.text + " from panel " + e.target.parent.text);

  • Call Shell Script from within PL/SQL - using DBMS_PIPE

    Hi all

    I'm trying to run a shell script inside my PL/SQL using DBMS_PIPE block (not sure if this is the right way or not)

    Pl Sql script

    ==========

    Set serveroutput size 100000

    declare

    cursor c1 is select * from mag_images

    where nom_image like '% comp2.

    v_path varchar2 (100): = ' / home/maguzzi/DOCUMENTS_DIR / ";

    v_result number: = 0;

    v_in_filename varchar2 (100): = v_path | ' test_file.jpg';

    v_out_filename varchar2 (100): = v_path | ' test_file_out.jpg';

    v_script varchar2 (100): = "tst_convert.sh";

    v_command varchar2 (200): = 'sh'. v_path | v_script | » '|| v_in_filename | » '|| v_out_filename;

    Start

    A1 to c1 loop

    dbms_output.put_line ('v_command: ' | v_command);

    write_to_file ('test_file.jpg', 'DOCUMENTS_DIR', a1. Content);

    dbms_output.put_line (' file write result: ' | v_result);

    v_result: = exec_host_command (v_command);

    dbms_output.put_line (' resize result :'|| file v_result);

    end loop;

    end;

    Result DBMS_OUTPUT

    ====================

    v_command: /home/maguzzi/DOCUMENTS_DIR/tst_convert.sh test_file.jpg test_file_out.jpg

    Result of the entry of the file: 0

    Result of resizing the file: 0

    PL/SQL procedure successfully completed.

    Function exec_host_command

    =======================

    FUNCTION to CREATE or REPLACE exec_host_command (lc_cmd IN VARCHAR2)

    RETURN INTEGER IS

    ln_status NUMBER;

    lc_errormsg VARCHAR2 (80);

    lc_pipe_name VARCHAR2 (30);

    BEGIN

    lc_pipe_name: = 'Maguzzi_PIPE ';

    DBMS_PIPE. PACK_MESSAGE (lc_cmd);

    ln_status: = dbms_pipe.send_message (lc_pipe_name);

    RETURN ln_status;

    END;

    /

    The Image of the BLOB is written to the correct location on the server "test_file.jpg", and although the exec_host_command function returns a value of 0, the shell script (tst_convert.sh) is not executed (i.e. no output file is created - outfile.txt and the image is not copied/converted to a new file name "" test_file_out.jpg" )

    Shell script

    ========

    tst_convert.sh

    echo 'Here' > outfile.txt

    Echo $1 > > outfile.txt

    Echo $2 > > outfile.txt

    resizing to convert $1 - $200 2

    Could this be problems with permissions on files?

    test_file1.jpg has permission - rw-rw-r-

    test_convert.sh a permission rwxrwxrwx

    When I run the script manually and pass in 2 parameters ($1 = infilename and $2 = outfilename), it works...

    I'd appreciate if someone can point out my mistake or suggest another method that works.

    Thanks in advance

    How long does it take to create the converted file? Remember that the external Scheduler is running asynchronously, so it is possible that the converted file does not exist yet when the PL/SQL block subsequently tries to open it.

    Try to add some delay seconds to the routine to ensure that the external task is completed:

        begin
          dbms_scheduler.create_job(
              job_name => 'MAG_IMAGE_CONVERT2'
            , job_type => 'EXECUTABLE'
            , job_action => '/home/oracle/DOCUMENTS_DIR/tst_convert2.sh' );--  '/home/oracle/DOCUMENTS_DIR/tst_convert.sh');
          dbms_scheduler.enable('MAG_IMAGE_CONVERT2');
          dbms_lock.sleep(3);
        end;
    

    This probably isn't really a viable solution in the long term if it turns out that this is really the problem.

  • Is it possible to call an Applescript script from a jsx

    I can find lots of discussion around to call an applescript jsx script - but nothing on the other way round.  Is it possible to run a script from a script .jsx applescript?

    Yes, there are several ways to do this, please see...

    http://www.PS-scripts.com/BB/viewtopic.php?t=3109

  • Calling JavaScript function from c ++

    Hello

    I need to call a function javascript from c++ code. I have a webview in which an html page is opened.

    I can connect to c ++ js using navigator.cascades.postMessage. I have to call vice versa.

    c ++ for js now.

    Concerning

    Hello

    I tried another way of calling JavaScript function continue in every 5 seconds.

    Steps to follow:

    1 import im .js QML file.

    2. create a function in QML and call the java script of QMLfunctuion function.

    3 the signal of the CPP in every 5 seconds and connect this signal to function in QML whare you call java script function.

    4. it indirectly calls the java script function.

    Thank you

    Anand

  • How to call a script with an officer designated in a loop of a procedure asynchronously and then wait for the children at the end.

    I tried to call a script in a loop of a procedure of Jython, using startcmd.bat and sub-process; the command succeeds when I omit the "-AGENT_CODE = MySA_Agent1 ' parameter (highlighted and emboldened)

    But omitting the '-AGENT_CODE = MySA_Agent1 "the scenario starts with the default value (no Agent) and subsequently fails to find the w: drive. Wen, I understand the '-AGENT_CODE = MySA_Agent1 ' the command fails with return code 2.

    Also, it seems that the OdiWaitForChildSession will not work with this approach, because the sessions so are not recognized as child sessions at all.

    Another simpler process is to have a step for each folder that I want to ask and just use OdiTools and StartScen; but it's a huge process because it could have potentially many interrogation records.

    Please Guide:

    from __future__ import with_statement

    from com.ziclix.python.sql import zxJDBC

    import of subprocesses

    #GetSources.py

    def getdata (c, stmt):

    Try:

    c.Execute (stmt)

    except zxJDBC.Error, e:

    raise Exception (e, stmt)

    Another thing:

    return c.fetchall)

    driver, url, user, passwd = ("< % = odiRef.getInfo ("SRC_JAVA_DRIVER") % > ',")

    '< % = odiRef.getInfo ("SRC_JAVA_URL") % >',

    '< % = odiRef.getInfo ("SRC_USER_NAME") % >',

    '< % = odiRef.getInfo ("SRC_PASS") % >'

    )

    Try:

    subprocess.check_call ([' cmd',

    '/c',

    "dir" command

    « t: »

    ])

    except subprocess. CalledProcessError, e:

    raise the Exception (e, ' Mapping The for the t: drive has not completed in the previous step. aborting... ")

    Another thing:

    folddic = {}

    with zxJDBC.connect (url, user, passwd, pilot) as conn:

    with conn.cursor () heart:

    stmt = "SELECT SOURCE_SYSTEM, ABS (DIC - ROWNUM) FROM (SELECT SOURCE_SYSTEM, COUNT (1) DIC FROM DIR_USER.). (RÉPERTOIRES WHERE ACTIF = \ 'Y\' GROUP BY SOURCE_SYSTEM) ".

    for the NTC in getdata (cur, stmt):

    folddic [Str(CNT[1]) [:-2]] = cnt [0]

    because me in folddic.iterkeys ():

    Try:

    subprocess.check_call ([' cmd',

    '/c',

    "startcmd.bat,"

    "OdiStartScen,"

    '- SCEN_NAME IS POLL_T_DRIVE_AND_SUBDIRS',

    '-SCEN_VERSION = - 1',

    '-SESSION_NAME = Polling_' + str (folddic.get (i)).

    '-AGENT_CODE = MySA_Agent1',

    '- SYNC_MODE = 2',

    '-Interfaces.VarSubDirectory =' + str (folddic.get (i)).

    '- Interfaces.VarPollInterval = 5'.

    '- Interfaces.VarTimeout = 4'.

    '- Interfaces.VarWait_N_Minutes = 30000 ".

    ])

    except Exception, e:

    raise the Exception (e)

    Another thing:

    Print "Called".

    Hello

    After much deliberation with the approach Prrocedure to do that are installed with the package, has been described in https://blogs.oracle.com/dataintegration/entry/using_variables_in_odi_creatin.

    It takes away that the question of the child scenario waiting problem sessions will be managed ODI.

    It was a good learning experience anyway.

    Thank you for contributing A J Chantal Mangano

    and JeromeFr for your taste.

  • Is it possible to call a script of a speech file?

    Hi all

    TL; Dr. to access the tops of path with the expression does not seem possible, but can script, so is it possible to do it by calling a script inside the expression file?

    My goal is the number of vertices in path objects and use this value in an expression. The expression is the engine of offset property with a filling of the trajectory and the expression use a relative naming so that I can copy the path trim to 500 other groups of shape layers and have a different effect (speed of the offset) for each group according to the number of vertices of each path.

    I looked for a solution to this problem for some time now, and my conclusion is that you simply cannot access the tops of path with the expression, that the path is in a mask or a shape layer.

    Is this correct?

    With a mask on a solid layer and effects scripts guide after I should be able to:

    thisComp.layer("Black_Solid_1").mask ("mask 1") .maskPath .value

    or

    thisComp.layer("Black_Solid_1").mask ('mask 1'). maskPath.value .vertices

    or

    thisComp.layer("Black_Solid_1").mask ('mask 1'). maskPath.value.vertices .length

    I also tried:

    thisComp.layer("Black_Solid_1").mask ('mask 1'). maskPath.vertices .length

    and so on...

    But when you debug it with the source text of a text layer, I only get "undefined" for the value and errors for other expressions (' named 'summits' in class 'Property' property is missing or does not exist ").

    I am sure that these are the correct methods because many scripts use those, including:

    http://Omino.com/pixelblog/2008/12/25/AE-mask-vertices-from-Extendscript/

    http://www.crGreen.com/aescripts/actual_scripts/Connect_Point_to_Mask_Vertex.jsx

    http://aescripts.com/maskvertexexpression/

    So if it is not possible to directly access the berries of way by the expression, I thought the appellant, in every expression, an external script which would then return the number of vertices, there are in each table. It would look something like this (pseudo code):

    arrayLength =.content("Path_1").value.vertices.length content (.name thisProperty.propertyGroup (2))

    return arrayLength

    And then use the value I get the script to adjust speeds in my expressions:

    Time * arrayLength * thisComp.Layer ("Controller"). Effect ("Speed") ("Slider")

    Therefore, it is possible to call a script inside an expression file? How?

    If this isn't the case, you have any other suggestions?

    Thank you.

    Reference: After Effects Scripting Guide, page 172 CS6.

    You can use $. evalFile() to run an external file, but it will be executed by the expression engine, not script, so I don't think that helps you. I don't think that there is an automatic solution. I think you're stuck with manually executed a script once you modify the project for updating a cursor somewhere with the number of vertices.

    Dan

  • Lauch PowerCLI script from an external application

    Hello

    I work with an external application to scheduling. It allows to launch command line scripts. I wrote a ps1 script that creates a new guest VM. I want to be able to call this script - the planning application CreateVM.ps1 however I am not sure of the command line to use. Launch of Powershell is not a problem, but it will launch the normal Powershell that does not give me access to commands PowerCLI. Anyone know how to run a script of ps1 PowerCLI guest BACK from a .BAT file?

    Thank you very much

    Ben

    You can add the snap-in on the first line of the script:

    Add-PSSnapin VMware.VimAutomation.Core

    or use the following to run your script:

    C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe - PSConsoleFile "C:\Program Files\VMware\Infrastructure\VIToolkitForWindows\vim.psc1" "& C:\CreateVM.ps1 '"

    If you found this information useful, please consider the allocation of points for correct or helpful.

    Alan Renouf

    http://Virtu-al.NET

  • Conversion of scripts from one domain to another

    Back to the pre OpenScript versions (v8), there used to be a utility (under the Tools menu) to convert the scripts. This would be useful for example when migrating a script from one environment to another (for a script can be used in a production environment?) However, this feature is not currently available in recent versions.

    I realize, you can try to do a global find/replace in the Java code, but it doesn't seem to be as simple as replacing the root of the URL like this leaves the issues with dynamic variables is most recognized (I get losts of messages "Could not be resolved" if I try this exercise).

    Is there a simple way to edit a script of 'https://URLA/application' to 'http://URLB/application '?

    NOTE: In the example above I also changed from HTTPS to HTTP simple.

    In 9.2 under Tools, there is an option called URL set... You select this option and it will display the URL of the application and a text field where you can enter a variable name. Then you can select all instances of this URL and OpenScript will be replaced by the variable. Once done you will have code such as

    Initialize the Section
    getVariables () .set ("bilbobaggins", "http://www.scl.com",
    Variables.Scope.GLOBAL);

    and in the running section you would have something like

    Web.Window (2, "/ web: window [@index = '0' or @title =' about: blank']")
    . Navigate (' {{bilbobaggins, http://www.scl.com}} / OA_HTML/RF.jsp "" ");
    Web.Window (4, "/ web:window[@index='0" or @title = 'Login'] "")
    .waitForPage (null);

    Notice it will return the variable and also have the saved value. So if you want to play against another environment just to change the value of the variable and replay.

    Hope this helps

    Concerning

    Wayne.

    Published by: byrne_wayne on January 11, 2011 15:16

  • When I run my script from a shortcut ExtendScript is invoked, but this isn't when I run the menu

    I use Photshop CS2 on Win XP

    I set up a keyboard shortcut (Ctrl + Alt + P) to execute a .jsx file in the folder... \Presets\Scripts\.

    When I activate the script via the keyboard shortcut ExtendScript is called and interrupts execution on main() statement (see below).

    When I activate the script via the menu file/Scripts that extendscript is not called and the script runs up to the end.

    The .jsx file is a wrapper for a .vbs script that does the 'real' work

    The .jsx is:-

    main() function
    {
    var VBSscript = file ("C:/Program Files/Adobe/Adobe Photoshop CS2/Presets/Scripts/GGN_PS_Code_v1_2.vbs");
    If (VBSscript.Exists) VBSscript.execute ();
    }
    main();

    Anyone have any ideas on how to disable the invocation of ExtendScript when I run the script from the skortcut?

    One thing to check is that the .jsx extension is associated with Photoshop and not ExtendScript.

  • call a script sql with one parameter of another

    I would like to call a sql script that takes a single parameter (& 1)... but it doesn't.
    It looks like (first.sql):
    begin
    for cv in (select table_name from all_tables where owner='IBIS') loop
            @my_script.sql cv.table_name;
    end loop;
    end;
    but when I run it, I got an error:
    @first.sql;
    old   9: spool &1..cob replace
    new   9: spool cv.table_name.cob replace
    old  10: select '       05 DBUFF-' || '&1' || '-1.' from dual;
    new  10: select '       05 DBUFF-' || 'cv.table_name' || '-1.' from dual;
    old  12: from all_tab_cols where table_name='&1' and substr(column_name,1,3)<>'SYS';
    new  12: from all_tab_cols where table_name='cv.table_name' and substr(column_name,1,3)<>'SYS';
    old  13: select '          05 ' || '&1' || '-ROWID          PIC X(18).' from dual;
    new  13: select '          05 ' || 'cv.table_name' || '-ROWID          PIC X(18).' from dual;
    What is missing?

    Kind regards...

    Hello

    The trick is to generate a sql script with all your calls to internal scripts and their parameters.

    For example, my script is internal countTableIndex.sql :

    select 'Table &1 has got '||count(*)||' indexes.' from user_indexes where table_name='&1';
    

    And here's my script outside coutnIndex.sql :

    set serverout on pages 0 lines 100 feed off time off verify off define on tab off trimspool on trimout on termout on termout off
    spool cmd.sql
    begin
    for cur in (select table_name tab from user_tables) loop
         dbms_output.put_line('@countTableIndexes.sql '||cur.tab);
         null;
    end loop;
    end;
    /
    spool off
    set termout on
    @cmd.sql
    exit;
    

    As you can see, it generates a file cmd.sql containing internal script calls and ultimately calls the script cmd.sql.
    In my example schema scott after the execution, the cmd.sql file contains:

    @countTableIndexes.sql DEPT
    @countTableIndexes.sql EMP
    @countTableIndexes.sql BONUS
    @countTableIndexes.sql SALGRADE
    @countTableIndexes.sql TOTO
    

    Here is the result of my machine:

    [oracle@Nicosa-oel test19_parameterizedSqlScripts]$ sqlplus -s scott/tiger@my11g @countIndex.sql
    Table DEPT has got 1 indexes.
    Table EMP has got 1 indexes.
    Table BONUS has got 0 indexes.
    Table SALGRADE has got 0 indexes.
    Table TOTO has got 0 indexes.
    
  • Calling shell script program SQL and passing parameters

    Hi guys,.
    Greetings from Toronto. Is it possible to move one or more strings as parameters to a sql from shell script program?

    Shell script
    # Accept system input parameters
    p_user_id=$1
    p_job_id=$2
     
    sqlplus.exe -s $p_user_id @$RD_PATH/rd_test.sql $p_user_id $p_job_id
    SQL program (rd_test.sql)
    -- Accept system input parameters
    define p_user_id = &1
    define p_job_id = &2
    
    -- Wondering if its possible to pass these 3 parameters from a shell script program.
    -- (1) rd_test-$p_job_id-3-1.lis
    -- (2) RD_PRINTER(rd_test,3)
    -- (3) t_data
    
    select
    t_data=''rd_test-'||'''$p_job_id'''||'-1-1.txt''
    t_data_dir=''.''
    ksh $RD_PATH/another_shell_prog.sh $p_user_id $p_job_id '||a.rd_value||' '
    ||b.rd_value||' rd_test-$p_job_id-3-1.lis $RD_PRINTER(rd_test,3) '||
    '$t_data $t_data_dir'||'
    exit_status=$?
    check_command'
    from rd_job_parameter b, rd_job_parameter a
    where a.job_id = &2
    and a.jp_module_id = 'RDTEST'
    and b.job_id = a.job_id
    and b.module_id = a.module_id
    /
    As always, this is not something I have to solve that minute. Any help would be appreciated
    and I will think of the problem.

    Thank you
    REDA

    Published by: Raj404261 on June 25, 2009 11:40

    Published by: Raj404261 on June 25, 2009 17:29

    OK, just a few pointers possible if you need to go the way of shell script.

    I suggest that you have a separate SQL script for each of your options, which retains the fairly well-defined lines and keeps the maintenance as simple as possible. Therefore, in your shell script, you can have something like:

    #!/bin/ksh
    # Accept system input parameters
    p_user_id=$1
    p_job_id=$2
    
    # Deduce which script you'll call here
    # using if statements, or even a case:
    
    if [[ p_job_id -eq 1 ]]
    then
      SQL_SCRIPT=sql_script1.sql
    else
      SQL_SCRIPT=sql_script2.sql
    fi
    
    # Or using case
    
    case $2
      in
        1)     SQL_SCRIPT=sql_script1.sql;
    
        2)     SQL_SCRIPT=sql_script2.sql;
    
        3)     SQL_SCRIPT=sql_script3.sql;
    
        *)     SQL_SCRIPT=sql_script4.sql;
    esac
    
    export ${SQL_SCRIPT}
    
    #If you need to query the database at all to deduce which script to cal
    #Then something like this:
    
    SCRIPT_VAR=`sqlplus -s username/password << EOF
    set heading off
    set feedback off
    set verify off
    SELECT * FROM DUAL;
    EOF`
    
    export {SCRIPT_VAR}
    
    SQL_SCRIPT=sql_script${SCRIPT_VAR}.sql
    
    # Then just call your script:
    sqlplus. -s $p_user_id/password @${SQL_SCRIPT}
    
  • When I go to (see LINK below) I just can't call the scripts behind the tabs "Overview", manual etc, but when I use Google Chrome the tabs all work?

    When I use Google Chrome all tabs with links to work when I access www.bose.com.au tabs are on the URL below.

    http://worldwide.bose.com/axa/en_au/web/wave_music_system_dab/page.html
    

    When I use Firefox, I can access the URL www.bose.com.au but the tabs for saw, in the box, details/manual, critical, and accessories are not. No idea why? I tried to clear Cookies and Cache etc in the Firefox menu according to your Q & implemented.

    Furthermore, if I block scripts from adobetag.com, the box below the tabs is empty, about a millimeter in height. If Ghostery or other extensions can block content on a site-by-site basis, that could explain the missing content.

  • Call the method from another application

    Then. That is my question. Is it possible to call a method from another application, so I can get some data from this app?

    I know that I could also do this with persistent store, but I would like to do it this way.

    Thank you. I'll try with world events and TIME store.

Maybe you are looking for