(no subject)

This is my first thread on this mailing list, so bare with me.

I’ve this and it does download TARGET from the FTP server successfully
– I
also have accessed it via lukeftp, i.e. the ftp client that comes with
my
FreeBSD and OpenBSD systems here.

The problem seems to be that ‘pw = gets’ line and I don’t understand it.
I
have even tried closing the ftp connection before that and reopening it
later
but no success.

I’m clueless as to why I’m getting what looks to me like an
Errno::ENOENT
exception that references the ‘PATH’ we Net::FTP#chdir’d to four lines
ago.
When all it is doing is calling gets.

Test run:

C:\Documents and Settings\Owner\Desktop>.\tg.rb “path with spaces”
remote_filename ftpsite username passwd

Password: C:/Documents and Settings/Owner/Desktop/tg.rb:32:in `gets’: No
such fi
le or directory - < the path with spaces > (Errno::ENOENT)
from C:/Documents and Settings/Owner/Desktop/tg.rb:32

Test Code:

ftp = Net::FTP.new( HOST, USER, PASSWD, ACCT )
ftp.chdir( PATH )
ftp.gettextfile( TARGET )
print( "Password: " )
pw = gets
print( “\n” )
if pw
# lock it
else
# un lock it
end
#ftp.puttextfile( TARGET )
ftp.close
puts( ‘Please restart the server for the changes to take effect’ )

end

Can any one give me a point in the right direction?

TerryP.

PS:

For any one who is interested in the shotty appearance of the test code.
I
do build case prototypes as I go along. So I can test things out in
small
pieces before I begin putting together a ‘complete’ prototype and
finally the
finished program once I am done with testing :slight_smile:

And oh yes I do plan on checking out what Ruby offers for Unit Testing
in the
future :wink:

Dang it… I forgot to set the subject line, sorry for the idiocy…

It is 0530 Sunday here and I’ve yet to sleep since Friday so please
forgive
the airhead move ^^

TerryP.

Terry P. wrote:

I’m clueless as to why I’m getting what looks to me like an Errno::ENOENT
exception that references the ‘PATH’ we Net::FTP#chdir’d to four lines ago.
When all it is doing is calling gets.

If you specify a command line parameter, Kernel#gets treats that as a
file
name and tries to read from that file instead of stdin. If you don’t
want
that, use STDIN.gets instead of Kernel#gets.

HTH,
Sebastian

On 04.11.2007 11:43, [email protected] wrote:

Terry P. wrote:

I’m clueless as to why I’m getting what looks to me like an Errno::ENOENT
exception that references the ‘PATH’ we Net::FTP#chdir’d to four lines ago.
When all it is doing is calling gets.

If you specify a command line parameter, Kernel#gets treats that as a file
name and tries to read from that file instead of stdin. If you don’t want
that, use STDIN.gets instead of Kernel#gets.

I am sorry, but this is plain wrong.

http://ruby-doc.org/core/classes/Kernel.html#M005995

robert

Robert K. wrote:

On 04.11.2007 11:43, [email protected] wrote:

If you specify a command line parameter, Kernel#gets treats that as a
file name and tries to read from that file instead of stdin.

I am sorry, but this is plain wrong.

http://ruby-doc.org/core/classes/Kernel.html#M005995

I’m sorry, maybe I’m a little slow, but isn’t “Returns (and assigns to
$_) the
next line from the list of files in ARGV (or $*), or from standard input
if
no files are present on the command line.” basically what I said?
Or are you refering to the fact that my phrasing made it sound as if
gets only
cared about the first command line parameter?

On 04.11.2007 13:08, [email protected] wrote:

no files are present on the command line." basically what I said?
Or are you refering to the fact that my phrasing made it sound as if gets only
cared about the first command line parameter?

I read your statement to mean that an argument to gets is treated as a
file name. As is obvious now you were referring to the script’s
arguments and not gets’s arguments. My apologies.

Kind regards

robert

Robert K. wrote:

ICQ: 205544826

Works perfectly! I never realized there was a Kernel#gets as well, only
knew
about IO#gets. If I did know about it I would’ve just RTFM… Sorry =/

Thanks !

And thanks everyone for not flaming me for forgetting the subject
line…

TerryP.