view · edit · sidebar · attach · print · history

20111202-debug-invoicers-migel-ruby193-debug-price-feeds-new-package-button-oddb_org

<< Masa.20111205-debug-pointer-link-update_price_feeds-odba-data-corruption-oddb_org | 2011 | Masa.20111201-debug-export_oddbdat-mail_patinfo_invoices-ruby193-oddb_org >>


  1. Debug mail_fachinfo_log on Ruby 1.9.3
  2. Check migel for Ruby 1.9.3
  3. Debug importer oddb.org
  4. Debug new package button

Goal/Estimate/Evaluation
  • Debug exporters (invoicers) on Ruby 1.9.3 / 100% / 100%
  • Check migel on Ruby 1.9.3 / 80% / 80%
Milestones
  • exporters
    1. mail_fachinfo_log
    2. mail_download_invoices
  • migel for Ruby 1.9.3
    1. migerate script
    2. migel importer
Commit

Debug mail_fachinfo_log on Ruby 1.9.3

Refer to http://dev.ywesee.com/wiki.php/Choddb/Ruby193p0#invoicers_20111202

Check migel for Ruby 1.9.3

Refer to http://dev.ywesee.com/wiki.php/Choddb/MiGelChangelog#update_migel_20111202

Debug importer oddb.org

Error (update_price_feeds)

/usr/lib64/ruby/site_ruby/1.8/odba/stub.rb:112:in `send': undefined
method `limitation_text' for #<ODDB::Text::Chapter:0x7f62e6298f10>
(NoMethodError)
       from /usr/lib64/ruby/site_ruby/1.8/odba/stub.rb:112:in `method_missing'
       from /var/www/oddb.org/src/model/package.rb:238:in `limitation_text'
       from /usr/lib64/ruby/site_ruby/1.8/odba/stub.rb:112:in `send'
       from /usr/lib64/ruby/site_ruby/1.8/odba/stub.rb:112:in `method_missing'
       from /var/www/oddb.org/src/view/drugs/package.rb:117:in `init'
       from /usr/lib64/ruby/site_ruby/1.8/htmlgrid/component.rb:138:in
`initialize'
       from /usr/lib64/ruby/site_ruby/1.8/htmlgrid/composite.rb:59:in `new'
       from /usr/lib64/ruby/site_ruby/1.8/htmlgrid/composite.rb:59:in `create'
        ... 26 levels...
       from /var/www/oddb.org/src/util/job.rb:17:in `call'
       from /var/www/oddb.org/src/util/job.rb:17:in `run'
       from jobs/import_bsv_followers:12
       from ODDB::View::Rss::PackageTemplate::COMPONENTS[[0, 0]] in
create(ODDB::View::Drugs::PackageInnerComposite)

Dump database on server

$ pg_dump -U postgres oddb_dot_org > oddb.org.bak.20111202.sql
$ gzip oddb.org.bak.20111202.sql

Restore database locally

$ zcat oddb.org.bak.20111202.sql.gz | psql -U postgres oddb.org

Run

  • bin/oddbd
  • bin/admin
masa@masa ~/ywesee/oddb.org $ bin/admin 
ch.oddb> Updater.new(self).update_price_feeds
-> undefined method `limitation_text' for #<ODDB::Text::Chapter:0x7febe678fa80>

Debug print (to detect the specific error data)

  • src/plugin/rss.rb
 module ODDB
 class RssPlugin < Plugin
    def update_price_feeds(month=@@today)
 ...
 print "news.length = "
 p news.length
       update_rss_feeds('sl_introduction.rss', sort_packages(news), View::Rss::SlIntroduction)
 #      update_rss_feeds('price_cut.rss', sort_packages(cuts), View::Rss::PriceCut)
 #      update_rss_feeds('price_rise.rss', sort_packages(rises), View::Rss::PriceRise)
    end

Result

news.length = 32
  • src/view/rss/package.rb
 class Package < HtmlGrid::Component
   include View::Latin1
   def to_html(context)
 ...
      feed.encoding = 'UTF-8'
      feed.xml_stylesheets.new_xml_stylesheet.href = @lookandfeel.resource(:css)
      language = @session.language
      @model.each { |package|
 print "package.odba_id = "
 p package.odba_id

Result

 ...
 package.odba_id = 27652786
 package.odba_id = 27274996
 package.odba_id = 27275008
 package.odba_id = 26567955 <= this is the error package data
 failsafe rescued NoMethodError < StandardError
 undefined method `limitation_text' for #<ODDB::Text::Chapter:0x7f2bd46018d0>

Check package data

ch.oddb> ODBA.cache.fetch('26567955').iksnr
-> 61289
ch.oddb> ODBA.cache.fetch('26567955').seqnr
-> 02
ch.oddb> ODBA.cache.fetch('26567955').ikscd
-> 028
ch.oddb> ODBA.cache.fetch('26567955').instance_variable_get('@sl_entry').instance_variable_get('@limitation_text').class

Debug new package button

Problem

  • New package button (Neue Packungsgrüsse) does not work

Error

error in SBSM::Session#process: /de/gcc
NoMethodError
undefined method `resolve' for #<SBSM::InvalidDataError: e_invalid_pointer>
/home/masa/ywesee/oddb.org/src/state/admin/sequence.rb:133:in `new_package'
/usr/lib64/ruby/site_ruby/1.8/sbsm/state.rb:222:in `send'
/usr/lib64/ruby/site_ruby/1.8/sbsm/state.rb:222:in `_trigger'
/home/masa/ywesee/oddb.org/src/state/global.rb:836:in `_trigger'
/usr/lib64/ruby/site_ruby/1.8/sbsm/state.rb:211:in `trigger'

Commit

view · edit · sidebar · attach · print · history
Page last modified on April 04, 2012, at 08:59 AM