amalhotra / galerts

Ruby library to manage google alerts
14 stars 3 forks source link

Unable to delete Google Alerts #2

Open chrisbdaemon opened 11 years ago

chrisbdaemon commented 11 years ago

When I try to delete a Google Alert it gives me this error:

NoMethodError: undefined method `[]' for nil:NilClass
from [snip]/lib/galerts/alerts_manager.rb:180:in `scrape_galx'

I tried some debugging and it seems like the XSS prevention param it tried to scrape no longer exists in the static html of the page..

resp.parser.css('input[name=x]')

returns nil.

This one has gotten the best of me for now... please take a look at it if you have time.

amalhotra commented 11 years ago

Thanks for reporting it Chris, I'll have a look. If you have a patch, that would be even better.

chrisbdaemon commented 11 years ago

Haha, wrong button!

I looked it over for a few minutes and wasn't able to find any good ways to fix it.

amalhotra commented 11 years ago

Hi Chris,

I've been trying to look at this issue but cant seem to run into it. Can you post some sample code that would cause this? This is what I've been running successfully:

1.9.3p0 :007 >   g_manager = Galerts::AlertsManager.new(EMAIL, PASSWORD)
 => <Galerts::AlertsManager email=amalhotra15.9@gmail.com auth_domains=["com"]> 
1.9.3p0 :008 > g_manager.alerts
 => [] 
1.9.3p0 :009 > g_manager.alerts
 => [] 
1.9.3p0 :010 > g_manager.create("test alert")
 => <Galerts::Galert query=test alert type=Everything freq=As-it-happens delivery=Email domain=com search_query=http://www.google.com/search?hl=en&gl=us&q=test+alert&lr=lang_en> 
1.9.3p0 :011 > g_manager.alerts
 => [<Galerts::Galert query=test alert type=Everything freq=As-it-happens delivery=Email domain=com search_query=http://www.google.com/search?hl=en&gl=us&q=test+alert&lr=lang_en>] 
1.9.3p0 :012 > alerts = g_manager.alerts
 => [<Galerts::Galert query=test alert type=Everything freq=As-it-happens delivery=Email domain=com search_query=http://www.google.com/search?hl=en&gl=us&q=test+alert&lr=lang_en>] 
1.9.3p0 :013 > alerts.first
 => <Galerts::Galert query=test alert type=Everything freq=As-it-happens delivery=Email domain=com search_query=http://www.google.com/search?hl=en&gl=us&q=test+alert&lr=lang_en> 
1.9.3p0 :014 > g_manager.delete(alerts.first)
 => true 
1.9.3p0 :015 > alerts = g_manager.alerts
 => []