Need help translating Ruby code

Hi I am new to Ruby from Python and am still learning some stuff. I
have a Ruby program that uses the mechanize library to connect to a Web
site and authenticate with a username and password. The issue I have is
that I need to get this code translated into Python. The Python
mechanize library is not very well documented and I was wondering if
anyone here had any experience using this library in Ruby or Python.
Basically the only tricky part of this program is that it needs to add a
field to the form on the page. This extra field, "__EVENTTARGET", needs
to be added explicitly. I cannot find the Python equivalent to the
WWW::Mechanize::Form::Field.new(nil,nil) method. Thank you in advance.
I hope I explained myself well.

[code]
require 'rubygems'
require 'mechanize'

Hpricot.buffer_size = 262144

auth = {
  :username => "bugmenot2008@yahoo.com",
  :password => "letmeinalready"
}

login_url = "http://www.princetonreview.com/Login3.aspx?uidbadge=" # !>
`&' interpreted as argument prefix
agent = WWW::Mechanize.new
page = agent.get( login_url )
my_form = page.forms.first

my_form['ctl00$MasterMainBodyContent$txtUsername']= auth[:username]
my_form['ctl00$MasterMainBodyContent$txtPassword']= auth[:password]

target_field = WWW::Mechanize::Form::Field.new(nil,nil)
target_field.name = "__EVENTTARGET"
target_field.value = "ctl00$MasterMainBodyContent$btnLogin"
my_form.fields << target_field

new_page = my_form.submit

# examine output to make sure it worked
new_page = agent.get("http://www.princetonreview.com/YourStuff.aspx")

pp new_page
[/code]

···

--
Posted via http://www.ruby-forum.com/.

I think this would be a better question for a Python list as you want a
Python answer.

···

On Mon, Sep 8, 2008 at 9:28 PM, Kevin Tran <hekevintran@berkeley.edu> wrote:

Hi I am new to Ruby from Python and am still learning some stuff. I
have a Ruby program that uses the mechanize library to connect to a Web
site and authenticate with a username and password. The issue I have is
that I need to get this code translated into Python. The Python
mechanize library is not very well documented and I was wondering if
anyone here had any experience using this library in Ruby or Python.
Basically the only tricky part of this program is that it needs to add a
field to the form on the page. This extra field, "__EVENTTARGET", needs
to be added explicitly. I cannot find the Python equivalent to the
WWW::Mechanize::Form::Field.new(nil,nil) method. Thank you in advance.
I hope I explained myself well.

[code]
require 'rubygems'
require 'mechanize'

Hpricot.buffer_size = 262144

auth = {
:username => "bugmenot2008@yahoo.com",
:password => "letmeinalready"
}

login_url = "http://www.princetonreview.com/Login3.aspx?uidbadge=&quot; # !>
`&' interpreted as argument prefix
agent = WWW::Mechanize.new
page = agent.get( login_url )
my_form = page.forms.first

my_form['ctl00$MasterMainBodyContent$txtUsername']= auth[:username]
my_form['ctl00$MasterMainBodyContent$txtPassword']= auth[:password]

target_field = WWW::Mechanize::Form::Field.new(nil,nil)
target_field.name = "__EVENTTARGET"
target_field.value = "ctl00$MasterMainBodyContent$btnLogin"
my_form.fields << target_field

new_page = my_form.submit

# examine output to make sure it worked
new_page = agent.get("http://www.princetonreview.com/YourStuff.aspx&quot;\)

pp new_page
[/code]
--
Posted via http://www.ruby-forum.com/\.

--
"Hey brother Christian with your high and mighty errand, Your actions speak
so loud, I can't hear a word you're saying."

-Greg Graffin (Bad Religion)