summary refs log tree commit diff stats
path: root/lib/pure
diff options
context:
space:
mode:
authorDominik Picheta <dominikpicheta@googlemail.com>2016-09-24 10:48:32 +0200
committerGitHub <noreply@github.com>2016-09-24 10:48:32 +0200
commitaec88bb5d9d4b6b5e80d667ecb192d33b2a6c3d5 (patch)
treede3f401f6df2bbd8b51b3dcb617236f4af169413 /lib/pure
parent9b1f46b4635cab3fca109d5315b805498bad4162 (diff)
parent348c7d1faffebd0c168eefaf3714f98b39f4cabe (diff)
downloadNim-aec88bb5d9d4b6b5e80d667ecb192d33b2a6c3d5.tar.gz
Merge pull request #4815 from pyloor/asyncftp-add-rename
Asyncftpclient: adding rename proc
Diffstat (limited to 'lib/pure')
-rw-r--r--lib/pure/asyncftpclient.nim7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/pure/asyncftpclient.nim b/lib/pure/asyncftpclient.nim
index 037d55e1d..e417e0b6c 100644
--- a/lib/pure/asyncftpclient.nim
+++ b/lib/pure/asyncftpclient.nim
@@ -354,6 +354,12 @@ proc store*(ftp: AsyncFtpClient, file, dest: string,
 
   await doUpload(ftp, destFile, onProgressChanged)
 
+proc rename*(ftp: AsyncFtpClient, nameFrom: string, nameTo: string) {.async.} =
+  ## Rename a file or directory on the remote FTP Server from current name
+  ## ``name_from`` to new name ``name_to``
+  assertReply(await ftp.send("RNFR " & name_from), "350")
+  assertReply(await ftp.send("RNTO " & name_to), "250")
+
 proc newAsyncFtpClient*(address: string, port = Port(21),
     user, pass = ""): AsyncFtpClient =
   ## Creates a new ``AsyncFtpClient`` object.
@@ -373,6 +379,7 @@ when not defined(testing) and isMainModule:
     echo await ftp.listDirs()
     await ftp.store("payload.jpg", "payload.jpg")
     await ftp.retrFile("payload.jpg", "payload2.jpg")
+    await ftp.rename("payload.jpg", "payload_renamed.jpg")
     echo("Finished")
 
   waitFor main(ftp)