Does anyone know a reliable way to detect, whether Net::FTP#chdir was
successful? Even if the directory does not exist, no exception is
thrown.
Ronald
Does anyone know a reliable way to detect, whether Net::FTP#chdir was
successful? Even if the directory does not exist, no exception is
thrown.
Ronald
On Jun 6, 2:43 am, “Ronald F.” [email protected] wrote:
Does anyone know a reliable way to detect, whether Net::FTP#chdir was
successful? Even if the directory does not exist, no exception is
thrown.Ronald
Ronald F. [email protected]
Phone: +49-89-452133-162
You should be able to check with Net::FTP#pwd. You can check out the
docs for Net::FTP here:
http://www.ruby-doc.org/stdlib/libdoc/net/ftp/rdoc/index.html
HTH,
Chris
You should be able to check with Net::FTP#pwd.
I think this does not work when the directory chdir’ed to is
reached via a symlink, and I also don’t see an easy way,
how to check it with pwd for the cases the directory is
given via a relative path. Note that a general solution
must deal with cases such as
chdir “foo/bar”
chdir “foo/…” # pwd after chdir will be the same as before
Ronald
On Jun 6, 2:43 am, “Ronald F.” [email protected] wrote:
Does anyone know a reliable way to detect, whether Net::FTP#chdir was
successful? Even if the directory does not exist, no exception is
thrown.
That’s odd. I tried running this snippet, connecting from a Windows XP
Pro box to a RHEL box:
ftp = FTP.new(host, user, passwd)
ftp.chdir(‘/totally/bogus’)
ftp.close
It raised an exception for me:
C:/ruby/lib/ruby/1.8/net/ftp.rb:243:in getresp': 550 Failed to change directory. (Net::FTPPermError) from C:/ruby/lib/ruby/1.8/net/ftp.rb:251:in
voidresp’
from C:/ruby/lib/ruby/1.8/net/ftp.rb:274:in voidcmd' from C:/ruby/lib/ruby/1.8/monitor.rb:238:in
synchronize’
from C:/ruby/lib/ruby/1.8/net/ftp.rb:272:in voidcmd' from C:/ruby/lib/ruby/1.8/net/ftp.rb:677:in
chdir’
from ftp_test.rb:5
Can you tell use more about the platform you’re connecting to? Maybe
it’s not sending back an expected (or any) response with chdir. You
can tinker with FTP#sendcmd as well to see how it behaves. Or, just
ftp manually, and try to chdir to a bogus directory and see what it
does.
Regards,
Dan
ftp.close
It raised an exception for me:
For me too. Sorry, my fault. I should have first stripped down my
example to
the most simple case. I had, without noticing, caught that exception
before
passing control on to the caller.
Ronald
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs