Hello there, I'd like to give you some backtraces of the problems that occur when I use heliotrope/turnsole. I have absolutely no knowledge in ruby, so I hope this will help everyone who is developing
I'd like to point out a few problems about turnsole : - you need to install the 'locale' gem - I happen to have a 256colors terminal (rxvt-unicode-256color), and the "color!" method in ncurses-patch.rb seems to fail : >rakoo@Otokar % ruby -Ilib -I ../heliotrope/lib bin/turnsole >/home/rakoo/src/turnsole/lib/turnsole/ncurses-patches.rb:19:in `block in ><module:Curses>': undefined method `color!' for Curses:Module (NoMethodError) > from /home/rakoo/src/turnsole/lib/turnsole/ncurses-patches.rb:19:in > `times' > from /home/rakoo/src/turnsole/lib/turnsole/ncurses-patches.rb:19:in > `<module:Curses>' > from /home/rakoo/src/turnsole/lib/turnsole/ncurses-patches.rb:1:in > `<top (required)>' > from <internal:lib/rubygems/custom_require>:29:in `require' > from <internal:lib/rubygems/custom_require>:29:in `require' > from /home/rakoo/src/turnsole/lib/turnsole.rb:16:in `<top (required)>' > from <internal:lib/rubygems/custom_require>:29:in `require' > from <internal:lib/rubygems/custom_require>:29:in `require' > from bin/turnsole:5:in `<main>' - When I switch back to xterm with 8 colors, the previous error doesn't occur (the if test fais), but I have a problem with "gpgkey" : rakoo@Otokar % ruby -I lib -I ../heliotrope/lib bin/turnsole >/home/rakoo/src/turnsole/lib/turnsole/accounts.rb:39:in `block in >add_account': undefined method `gpgkey' for nil:NilClass (NoMethodError) > from /home/rakoo/src/turnsole/lib/turnsole/accounts.rb:39:in `each' > from /home/rakoo/src/turnsole/lib/turnsole/accounts.rb:39:in > `add_account' > from /home/rakoo/src/turnsole/lib/turnsole/accounts.rb:25:in > `initialize' > from /home/rakoo/src/turnsole/lib/turnsole.rb:96:in `new' > from /home/rakoo/src/turnsole/lib/turnsole.rb:96:in `setup!' > from bin/turnsole:75:in `<main>' These happened with ruby v1.8 and 1.9.2, and gems v1.3.7. Now with heliotrope, I have the problems with the encoding : - When I search for words with "é", I have an error : >HeliotropeServer::RequestError - can't parse query: parse error: line 1: >syntax error, unexpected $end, expecting WORD: > bin/heliotrope-server:137:in `rescue in block in <class:HeliotropeServer>' > bin/heliotrope-server:114:in `block in <class:HeliotropeServer>' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:1126:in `call' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:1126:in > `block in compile!' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:709:in > `instance_eval' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:709:in > `route_eval' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:693:in `block > (2 levels) in route!' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:741:in `block > in process_route' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:738:in `catch' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:738:in > `process_route' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:692:in `block > in route!' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:691:in `each' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:691:in > `route!' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:826:in > `dispatch!' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:619:in `block > in call!' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:791:in > `instance_eval' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:791:in `block > in invoke' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:791:in `catch' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:791:in > `invoke' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:619:in `call!' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:604:in `call' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/showexceptions.rb:21:in > `call' > /usr/lib/ruby/gems/1.9.1/gems/rack-1.2.2/lib/rack/lint.rb:48:in `_call' > /usr/lib/ruby/gems/1.9.1/gems/rack-1.2.2/lib/rack/lint.rb:36:in `call' > /usr/lib/ruby/gems/1.9.1/gems/rack-1.2.2/lib/rack/showexceptions.rb:24:in > `call' > /usr/lib/ruby/gems/1.9.1/gems/rack-1.2.2/lib/rack/commonlogger.rb:18:in `call' > /usr/lib/ruby/gems/1.9.1/gems/rack-1.2.2/lib/rack/content_length.rb:13:in > `call' > /usr/lib/ruby/gems/1.9.1/gems/rack-1.2.2/lib/rack/handler/webrick.rb:52:in > `service' > /usr/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service' > /usr/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run' > /usr/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread' >127.0.0.1 - - [03/Apr/2011 00:24:50] "GET /search?q=%22%C3%A9%22 HTTP/1.1" 500 >82586 0.0504 >Otokar - - [03/Apr/2011:00:24:50 CEST] "GET /search?q=%22%C3%A9%22 HTTP/1.1" >500 82586 >http://localhost:8042/search?q=%22zegzaegsg%22 -> /search?q=%22%C3%A9%22 - an error also happens when I want to see some messages, that doesn't happen when I use ruby v1.8 instead : >ArgumentError - invalid byte sequence in UTF-8: > /usr/lib/ruby/gems/1.9.1/gems/rmail-1.0.0/lib/rmail/parser.rb:217:in `split' > /usr/lib/ruby/gems/1.9.1/gems/rmail-1.0.0/lib/rmail/parser.rb:217:in > `parse_header' > /usr/lib/ruby/gems/1.9.1/gems/rmail-1.0.0/lib/rmail/parser.rb:194:in > `parse_low' > /usr/lib/ruby/gems/1.9.1/gems/rmail-1.0.0/lib/rmail/parser.rb:183:in `parse' > /usr/lib/ruby/gems/1.9.1/gems/rmail-1.0.0/lib/rmail/parser.rb:331:in `parse' > /usr/lib/ruby/gems/1.9.1/gems/rmail-1.0.0/lib/rmail/parser.rb:345:in `read' > /home/rakoo/src/heliotrope/lib/heliotrope/message.rb:17:in `parse!' > bin/heliotrope-server:292:in `load_actual_message' > bin/heliotrope-server:297:in `message_to_html' > bin/heliotrope-server:209:in `block in <class:HeliotropeServer>' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:1125:in `call' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:1125:in > `block in compile!' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:709:in > `instance_eval' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:709:in > `route_eval' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:693:in `block > (2 levels) in route!' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:741:in `block > in process_route' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:738:in `catch' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:738:in > `process_route' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:692:in `block > in route!' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:691:in `each' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:691:in > `route!' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:826:in > `dispatch!' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:619:in `block > in call!' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:791:in > `instance_eval' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:791:in `block > in invoke' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:791:in `catch' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:791:in > `invoke' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:619:in `call!' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/base.rb:604:in `call' > /usr/lib/ruby/gems/1.9.1/gems/sinatra-1.2.1/lib/sinatra/showexceptions.rb:21:in > `call' > /usr/lib/ruby/gems/1.9.1/gems/rack-1.2.2/lib/rack/lint.rb:48:in `_call' > /usr/lib/ruby/gems/1.9.1/gems/rack-1.2.2/lib/rack/lint.rb:36:in `call' > /usr/lib/ruby/gems/1.9.1/gems/rack-1.2.2/lib/rack/showexceptions.rb:24:in > `call' > /usr/lib/ruby/gems/1.9.1/gems/rack-1.2.2/lib/rack/commonlogger.rb:18:in `call' > /usr/lib/ruby/gems/1.9.1/gems/rack-1.2.2/lib/rack/content_length.rb:13:in > `call' > /usr/lib/ruby/gems/1.9.1/gems/rack-1.2.2/lib/rack/handler/webrick.rb:52:in > `service' > /usr/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service' > /usr/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run' > /usr/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread' These problems seem to happen because of my mails being encoded in UTF-8. When the charset is "ISO-8859-1" or "US-ASCII", they appear fine. But I do think everyone should use UTF-8. In a totallly unrelated note, do you plan on syncing back heliotrope work with the maildir directory ? Just to know. Thank you for your sweet coding, -- Matthieu RAKOTOJAONA _______________________________________________ Sup-devel mailing list Sup-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/sup-devel