Pascal Script

  • 10 Mar

    I have a load of FTP sites that customer upload to, difficult to manage

    Q: Have a request. I have a load of FTP sites that customer upload to and currently we have a Limagito move on each of those folders – we now have too many of them to manage. Am trying to cut these down to one move per group of users.

    So, if a file arrives in a folder ABCD the move will pick it up, report to the user that a file has arrived and place it in their User folders with an append to the name telling them that it arrive in folder ABCD. So customer called ABCD has uploaded a file named ‘my files to you’ to their folder called ABCD. The file(s) are picked up and moved to a new folder with and rename ‘ABCD-my files to you’. Pretty sure this is possible here. But have had bit of play around with it but its defeating me!!!

    A: So the FTP server has a root folder with 1 subfolder for each customer like

    D:\Root\CustomerA
    D:\Root\CustomerB
    D:\Root\CustomerC
    Limagito will scan D:\Root and will pickup files from subfolder CustomerA and move them to another folder with the prefix of CustomerA-filename.pdf
    Limagito will scan D:\Root and will pickup files from subfolder CustomerB and move them to another folder with the prefix of CustomerB-filename.pdf

    1.Please add the following ‘On Destination’ Pascal Script:
    LimagitoX File Mover Pascal Script

    Begin
      psExitCode:= 1;
      // ... add your code here
      psVSA := psStringReplace(psFilePath, psSourcePath, '');
      psVSA := psStringReplace(psVSA, '\', '');
    End.

    Limagito File Mover On Destination Pascal Script
    2. Add the following Destination File Renaming:

    Limagito File Mover File Renaming option
    Limagito File Mover File Renaming setup
    If you need any help with this ‘load of FTP sites’ request, please let us know.

    Best Regards,

    Limagito Team

    By Limagito Pascal Script WIN
  • 30 Dec

    Q&A 38: I would like to log the create date of the file being moved

    Q: I would like to log the create date of the file being moved. Can you please advise if there is a way filemover can be setup to log the create date of the file being moved. As of now we don’t see this info in the log file. Is there a setting in the app that we can tweak to control what all is logged in the log file?
    A: We added some extra Pascal Script functions in version v2020.12.30.0 to achieve this.

    Please open the Pascal Script option of your Rule:

    Limagito File Mover Pascal Script option

    Enable and Add the following ‘On Destination’ Pascal Script:

    Var
      tmpDateTime: TDateTime;
      tmpDateStr: String;
    Begin
      psExitCode:= 1;
     
      // Creation Time
      tmpDateTime := psGetCreationTime(psFilePath + psFileName);
      tmpDateStr := FormatDateTime('YYYY-MM-DD HH:NN:SS', tmpDateTime);
      psLogWrite(1, '', 'Creation Time of ' + psFilePath + psFileName + ': ' + tmpDateStr);
     
      // Creation Time Utc
      tmpDateTime := psGetCreationTimeUtc(psFilePath + psFileName);
      tmpDateStr := FormatDateTime('YYYY-MM-DD HH:NN:SS', tmpDateTime);
      psLogWrite(1, '', 'Creation Time Utc of ' + psFilePath + psFileName + ': ' + tmpDateStr);
     
      // Last Access Time
      tmpDateTime := psGetLastAccessTime(psFilePath + psFileName);
      tmpDateStr := FormatDateTime('YYYY-MM-DD HH:NN:SS', tmpDateTime);
      psLogWrite(1, '', 'Last Access Time of ' + psFilePath + psFileName + ': ' + tmpDateStr);
     
      // Last Access Time Utc
      tmpDateTime := psGetLastAccessTimeUtc(psFilePath + psFileName);
      tmpDateStr := FormatDateTime('YYYY-MM-DD HH:NN:SS', tmpDateTime);
      psLogWrite(1, '', 'Last Access Utc Time of ' + psFilePath + psFileName + ': ' + tmpDateStr);
     
      // Last Write Time
      tmpDateTime := psGetLastWriteTime(psFilePath + psFileName);
      tmpDateStr := FormatDateTime('YYYY-MM-DD HH:NN:SS', tmpDateTime);
      psLogWrite(1, '', 'Last Write Time of ' + psFilePath + psFileName + ': ' + tmpDateStr);
     
      // Last Write Time Utc
      tmpDateTime := psGetLastWriteTimeUtc(psFilePath + psFileName);
      tmpDateStr := FormatDateTime('YYYY-MM-DD HH:NN:SS', tmpDateTime);
      psLogWrite(1, '', 'Last Write Utc Time of ' + psFilePath + psFileName + ': ' + tmpDateStr);
    End.

    Limagito File Mover Pascal Script Get Creation Time

    RunTime Log Result:

    Limagito File Mover RunTime log

    In the example we added ‘Creation Time (Utc)’, ‘Last Access Time (Utc)’ and ‘Last Write Time (Utc)’. You can, of course, remove the parts you do not need from the Pascal Script.

    If you need any help with this ‘log the create date’ request, please let us know.

    Best Regards,

    Limagito Team

  • 06 Dec

    Trigger a Rule with no Source Files available in Limagito File Mover

    In version v2020.12.6.0 we added ‘Pascal Script’ as Source. This makes it easier for us to add customer specific requests. A while ago we recieved a request if it was possible to trigger a Rule without having actually source files.

    • Select PScript (Pascal Script) as Source:

    Limagito File Mover Pascal Script as Source

    • Add the following Pascal Script (Copy / Paste):
    Begin
      psExitCode:= 1;
      // ... add your code here
      psAddToSourceFiles(psCreateDummyTxtFile(psRuleTempPath));
    End.

    Limagito Filemover Pascal Script trigger Rule

    This is all what is need to trigger a Rule without the need for actual Source Files.

     

    If you need any help with this ‘Trigger a Rule’ feature, please let us know.

    Best Regards,

    Limagito Team

1 2 3 4 5 6 9