Page 1 of 1

Parameter für Hook "OnMoveFileToDeletedFolder"

Posted: Tue Mar 16, 2021 9:10 am
by Stephan_i2s
Hallo zusammen,

kann mir jemand die Parameter etc. für den Hook "OnMoveFileToDeletedFolder" sagen? Auf der Homepage finde ich nur, dass es ihn gibt und wenn ich im Forum danach suchen will, sagt er, dass das "too common words" wären und darum ignoriert werden :? .

Wobei dann auch grundsätzlich die Frage wäre, ob das der richtige Hook ist, für das, was ich vorhabe:
Ich möchte gerne Dateien per SFTP "verschieben", sprich nach dem Sync auf das Zielsystem in der Quelle löschen, kann dies aber nicht über die SFTP-Verbindung direkt machen, sondern würde dafür ein eigenes Tool mit einem Kommandozeilenparameter und Dateipfad aufrufen wollen. Fängt der Hook das "DELETE" der SFTP-Verbindung ab und kann mir die notwendigen Infos (Dateipfad) liefern oder ist das aktuell gar nicht möglich das zu umgehen?

Besten Dank vorweg :) .

VG
Stephan

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Posted: Tue Mar 16, 2021 10:36 pm
by tobias
Hi,
die Funktion wird so deklariert:

Code: Select all

function OnMoveFileToDeletedFolder(const Path:UnicodeString;
                                  var MoveToPath:UnicodeString;
                                  var proceedToDeleteInsteadOfMoving:Boolean;
                                  const Connector:Opaque):Boolean;
Wenn sie False zurückgibt, dann macht Syncovery selbst nichts weiter mit der Datei.

Am besten mal mit
Log('Path: '+Path);

anschauen, welcher Pfad da geliefert wird, und dann kann man gucken, wie der ggf. auseinandergenommen werden muss, um als Parameter für das externe Tool zu dienen.

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Posted: Wed Mar 17, 2021 8:26 am
by Stephan_i2s
Hi,

super, besten Dank für die Info :) . Dann probiere ich mal ein wenig rum. :mrgreen:

VG
Stephan

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Posted: Wed Mar 17, 2021 9:26 am
by tobias
Hi,
falls komplizierte Manipulationen am Pfad nötig sind, kann ich auch gerne helfen.

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Posted: Wed Mar 17, 2021 10:49 am
by Stephan_i2s
Hi,

danke für das Angebot, komme ich gerne drauf zurück, wenn ich irgendwo hängen bleibe :).

Momentan hänge ich aber noch davor:
Wenn ich bei dem Hook ein False zurückgebe, versucht er allerdings die Operation immer und immer wieder und beendet dementsprechend nach einer MInute mit Fehlern, gibt es da eine Chance das zu umgehen? (Die Option Fehler für Datei-/Verzeichnislöschung zu ignorieren, habe ich schon eingeschaltet).
Auszug aus dem Log (der erste Block wiederholt sich 60x):

Code: Select all

###### Catching Move ######
Path:sftp://0T8NXITYxU2td10cEPvD4w==+.}#:${-{.:CRED:.}***.***.***.***/PushTest/synctest7.log
Not moving to deleted files folder because of PascalScript hook: sftp://0T8NXITYxU2td10cEPvD4w==+.}#:${-{.:CRED:.}***.***.***.***/PushTest/synctest7.log
Moving into the folder for deleted files failed, not deleting this file.
###### Catching Move ######
Path:sftp://0T8NXITYxU2td10cEPvD4w==+.}#:${-{.:CRED:.}***.***.***.***/PushTest/synctest7.log
Not moving to deleted files folder because of PascalScript hook: sftp://0T8NXITYxU2td10cEPvD4w==+.}#:${-{.:CRED:.}***.***.***.***/PushTest/synctest7.log
Moving into the folder for deleted files failed, not deleting this file.
DELETE ERROR sftp://***.***.***.***/PushTest/synctest7.log: Zugriff verweigert
MOVE sftp://***.***.***.***/PushTest/synctest7.log  (1,5kB)
Auszug aus dem Pascal:

Code: Select all

function OnMoveFileToDeletedFolder(const Path:UnicodeString;
                                  var MoveToPath:UnicodeString;
                                  var proceedToDeleteInsteadOfMoving:Boolean;
                                  const Connector:Opaque):Boolean;
begin
  Log('###### Catching Move ######');
  Log('Path:'+Path);
  if proceedToDeleteInsteadOfMoving then begin
    Log('delete instead of moving');
    end;
  Result:=false;
  end;
Ich kann sonst auch gerne das komplette Log/Profile/Pascal per Mail rüberschicken - aufgrund von IPs etc. würde ich es nur ungerne hier ins Forum stellen.

VG
Stephan

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Posted: Wed Mar 17, 2021 10:56 am
by tobias
Hi,
ich glaube, es wäre besser, das Profil als normales Kopier-Profil zu verwenden und dann den folgenden Hook zu nehmen. Also nicht den Modus "Verschieben" in Syncovery, sondern "Standard".

Dies ist ein Beispiel von der PascalScript-Seite, wo die Datei nach dem Download auf dem Server umbenannt wird.

Code: Select all

function OnDownloadComplete(const FileName, CompleteURL, LocalFilePath: UnicodeString;
        const isRightSide:Boolean;
        const FileSize:Int64;
        const Connector: Opaque):Boolean;
begin
  if ConnRenameFile(Connector,CompleteURL,FileName+'.downloaded') then
    Log('Renamed '+FileName+' to '+FileName+'.downloaded')
  else
    Log('Rename failed: '+FileName+' to '+FileName+'.downloaded');
  Result:=true;
  end;

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Posted: Wed Mar 17, 2021 10:58 am
by tobias
Ansonsten muss ich für das Verhalten des anderen Hooks ein Syncovery-Update machen.

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Posted: Wed Mar 17, 2021 11:20 am
by Stephan_i2s
Hi,

ja, ich hatte auch schon mal dran gedacht, dass ggf. rein über die Behandlung nach dem Download zu lösen, sieht man natürlich dann nur noch am Job-Namen und im Pascal-Script, was er da eigentlich macht - von daher wäre die andere Lösung natürlich schöner, zumal man dann auch einfach umschalten kann.

Kann das sonst vielleicht in eine zukünftige Version mit einfließen?

Dann nutze vorerst tatsächlich einfach die Variante mit dem OnDownloadComplete-Hook im Pascal-Script und mache mir einfach entsprechende Profil-Vorlagen.

VG
Stephan

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Posted: Fri Mar 19, 2021 12:35 am
by tobias
Hi,
in der neue Version 9.32a sollte man nun auch OnMoveFileToDeletedFolder verwenden können. Wenn man "false" zurückgibt, betrachtet Syncovery das nicht mehr als Fehler, sondern einfach als Hinweis, dass das Script die Sache übernommen hat.

Ich hoffe, dass die Parameter ausreichen! Die sind ja etwas anders als bei OnDownloadComplete.

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Posted: Fri Mar 19, 2021 7:21 am
by Stephan_i2s
Hi,

super, danke :)