Asp Forum
Home
|
Login
|
Register
|
Search
Forums
>
comp.lang.ruby
[SOLUTION] Current Temperature (#68
Rudolfs Osins
2/26/2006 5:17:00 PM
Hello everyone !
Here is my solution, actually it's my first ruby program, I just
started learning... Suggestions on how to improve my code are
welcome :)
This is how it looks when executed, I couldn't find where to turn
these warnings off :/
------------------------------------------------------------------
root@black /# ./weather.rb madrid
ignored element: {
http://schemas.xmlsoap.org/...
}binding
ignored element: {
http://schemas.xmlsoap.org/...
}operation
ignored element: {
http://schemas.xmlsoap.org/...
}urlEncoded
ignored element: {
http://schemas.xmlsoap.org/...
}mimeXml
ignored element: {
http://schemas.xmlsoap.org/...
}content
ignored element: {
http://schemas.xmlsoap.org/...
}address
The temperature in Madrid / Cuatro Vientos is 3 C
------------------------------------------------------------------
#!/usr/local/bin/ruby
require 'soap/wsdlDriver'
require 'rexml/document'
URL = '
http://www.webservicex.net/globalweather.asmx...
# process the comandline arguments
if ARGV[0] == nil
abort("Usage: weather.rb city")
else
city = ARGV.join(' ')
end
soap = SOAP::WSDLDriverFactory.new(URL).create_rpc_driver
begin
weather = soap.GetWeather(:CityName => city, :CountryName => "")
# strip the first line with <? ?> stuff, else REXML wont parse
xml = weather.getWeatherResult.gsub(/(<\?.*?>\n)/, '')
data = REXML::Document.new(xml)
# celsius degrees are in parentheses
data.elements["//Temperature"].text[/\((.*)\)/]; temp = $1
data.elements["//Location"].text[/^(.*),/]; loc = $1
# show the gathered data
puts "The temperature in " + loc + " is " + temp
rescue
puts "Could not find data for your supplied city: " + city
end
------------------------------------------------------------------
Best regards,
Rudolfs
2 Answers
Christian Neukirchen
2/26/2006 5:38:00 PM
0
Rudolfs Osins <dev.random@gmail.com> writes:
> Here is my solution, actually it's my first ruby program, I just
> started learning... Suggestions on how to improve my code are
> welcome :)
>
> This is how it looks when executed, I couldn't find where to turn
> these warnings off :/
$-w = nil should work.
Actually, I tried to use this webservice too, but I got so mad at it
and it's freaking dumb semantics that I dropped that for health
reasons. Looks like you did it, though. ;-)
--
Christian Neukirchen <chneukirchen@gmail.com>
http://chneuk...
Rudolfs Osins
2/26/2006 5:58:00 PM
0
> $-w = nil should work.
>
> Actually, I tried to use this webservice too, but I got so mad at it
> and it's freaking dumb semantics that I dropped that for health
> reasons. Looks like you did it, though. ;-)
>
> --
> Christian Neukirchen <chneukirchen@gmail.com>
http://chneuk...
>
Yay, that works, no warnings anymore :) Where can I read more about this magic
$-w variable ?
Regards,
Rudolfs
Servizio di avviso nuovi messaggi
Ricevi direttamente nella tua mail i nuovi messaggi per
[SOLUTION] Current Temperature (#68
Inserendo la tua e-mail nella casella sotto, riceverai un avviso tramite posta elettronica ogni volta che il motore di ricerca troverà un nuovo messaggio per te
Il servizio è completamente GRATUITO!
x
Login to ForumsZone
Login with Google
Login with E-Mail & Password