Parameter für Hook "OnMoveFileToDeletedFolder"

German Support for Syncovery on Windows
Post Reply
Stephan_i2s
Posts: 5
Joined: Tue Mar 16, 2021 8:59 am

Parameter für Hook "OnMoveFileToDeletedFolder"

Post 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

tobias
Posts: 1603
Joined: Tue Mar 31, 2020 7:37 pm

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Post 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.

Stephan_i2s
Posts: 5
Joined: Tue Mar 16, 2021 8:59 am

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Post by Stephan_i2s »

Hi,

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

VG
Stephan

tobias
Posts: 1603
Joined: Tue Mar 31, 2020 7:37 pm

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Post by tobias »

Hi,
falls komplizierte Manipulationen am Pfad nötig sind, kann ich auch gerne helfen.

Stephan_i2s
Posts: 5
Joined: Tue Mar 16, 2021 8:59 am

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Post 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

tobias
Posts: 1603
Joined: Tue Mar 31, 2020 7:37 pm

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Post 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;

tobias
Posts: 1603
Joined: Tue Mar 31, 2020 7:37 pm

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Post by tobias »

Ansonsten muss ich für das Verhalten des anderen Hooks ein Syncovery-Update machen.

Stephan_i2s
Posts: 5
Joined: Tue Mar 16, 2021 8:59 am

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Post 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

tobias
Posts: 1603
Joined: Tue Mar 31, 2020 7:37 pm

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Post 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.

Stephan_i2s
Posts: 5
Joined: Tue Mar 16, 2021 8:59 am

Re: Parameter für Hook "OnMoveFileToDeletedFolder"

Post by Stephan_i2s »

Hi,

super, danke :)

Post Reply