<< | Index | >>
Goal/Estimate/Evaluation:
Hypothesis
Experiment
masa@masa ~/ywesee/migel $ sudo -u postgres dropdb migel masa@masa ~/ywesee/migel $ sudo -u postgres createdb -E UTF8 -T template0 migel masa@masa ~/ywesee/migel $ bin/migeld
migel> Migel::Importer.new.update('data/csv/migel_de.csv', 'de') migel> Migel::Importer.new.update_all_products('de', true)
Result
Note
Experiment
masa@masa ~/ywesee/migel $ sudo -u postgres dropdb migel masa@masa ~/ywesee/migel $ sudo -u postgres createdb -E UTF8 -T template0 migel masa@masa ~/ywesee/migel $ bin/migeld
migel> Migel::Importer.new.update('data/csv/migel_fr.csv', 'fr') migel> Migel::Importer.new.update_all_products('fr', true)
Result
Note
Experiment
masa@masa ~/ywesee/migel $ sudo -u postgres dropdb migel masa@masa ~/ywesee/migel $ sudo -u postgres createdb -E UTF8 -T template0 migel masa@masa ~/ywesee/migel $ bin/migeld
migel> Migel::Importer.new.update('data/csv/migel_de.csv', 'de') migel> Migel::Importer.new.update('data/csv/migel_fr.csv', 'fr') migel> Migel::Importer.new.update_all_products('de', true)
Note
Hypothesis
Experiment
migel> Migel::Model::Migelid.all.length
Result
Experiment
migel> ODBA.cache.index_keys('migel_model_migelid_migel_code').length -> 571 migel> open("/home/masa/work/test.dat","w"){|f| f.print ODBA.cache.index_keys('migel_model_migelid_migel_code').join("\n")}
Result
masa@masa ~/work $ head test.dat 01.01.01.00.1 01.01.02.00.2 01.01.02.01.2 01.01.02.02.2 01.02.01.00.2 01.02.01.01.1 03.01.01.00.1 03.01.02.00.1 03.02.01.00.2 03.02.01.01.2 ...
Note
Experiment
def update_all_products(lang = 'DE', estimate = false) lang.upcase! start_time = Time.now index_table_name = 'migel_model_migelid_migel_code' #total = Migel::Model::Migelid.all.length migel_codes = ODBA.cache.index_keys('migel_model_migelid_migel_code') total = migel_codes.length count = 0 #Migel::Model::Migelid.all.each do |migelid| migel_codes.each do |migel_code| update_products_by_migel_code(migel_code, lang) count += 1 puts estimate_time(start_time, total, count) if estimate end end
Run
migel> Migel::Importer.new.update_all_products('de', true)
Result
Note
Experiment
attr_accessor ... :keep_generic_type
... class RegistrationForm < View::Form COMPONENTS = { #[0,2] => :generic_type, [0,2,0] => :generic_type, [1,2] => 'keep', [0,2,1] => :keep_generic_type, ... CSS_MAP = { [1,2] => 'list bold',
BOOLEAN = [ ... :keep_generic_type
def update keys = [ ... :keep_generic_type
Result
ch.oddb> registration('61848').keep_generic_type.class -> TrueClass
Next
when 'OrgGenCode' gtype = GENERIC_TYPES[@text] @reg_data.store(:generic_type, (gtype || :unknown)) unless @registration.keep_generic_type
Run
Result
Plugin: ODDB::BsvXmlPlugin Error: NoMethodError Message: undefined method `keep_generic_type' for nil:NilClass @report: {:pharmacode_oddb=>"3365788", :swissmedic_no5_oddb=>"57363", :pharmacode_bag=>"3365788", :deductible=>:deductible_g, :name_base=>"Aclasta", :atc_class=>"M05BA08", :name_descr=>"Inf L\303\266s 5 mg/100ml ", :swissmedic_no5_bag=>"57363", :generic_type=>:unknown, :swissmedic_no8_bag=>"57363001"} Backtrace: /home/masa/ywesee/oddb.org/src/plugin/bsv_xml.rb:475:in `tag_end' /usr/lib64/ruby/1.8/rexml/parsers/streamparser.rb:26:in `parse' /usr/lib64/ruby/1.8/rexml/document.rb:201:in `parse_stream' /home/masa/ywesee/oddb.org/src/plugin/bsv_xml.rb:964:in `update_preparations' /home/masa/ywesee/oddb.org/src/plugin/bsv_xml.rb:640:in `send' /home/masa/ywesee/oddb.org/src/plugin/bsv_xml.rb:640:in `_update' /usr/lib64/ruby/gems/1.8/gems/rubyzip-0.9.4/lib/zip/zip.rb:787:in `get_input_stream' /home/masa/ywesee/oddb.org/src/plugin/bsv_xml.rb:640:in `_update' /usr/lib64/ruby/gems/1.8/gems/rubyzip-0.9.4/lib/zip/zip.rb:1154:in `each' /usr/lib64/ruby/gems/1.8/gems/rubyzip-0.9.4/lib/zip/zip.rb:1154:in `each' /usr/lib64/ruby/gems/1.8/gems/rubyzip-0.9.4/lib/zip/zip.rb:1297:in `each' /usr/lib64/ruby/gems/1.8/gems/rubyzip-0.9.4/lib/zip/zip.rb:1434:in `foreach' /usr/lib64/ruby/gems/1.8/gems/rubyzip-0.9.4/lib/zip/zip.rb:1413:in `open' /usr/lib64/ruby/gems/1.8/gems/rubyzip-0.9.4/lib/zip/zip.rb:1432:in `foreach' /home/masa/ywesee/oddb.org/src/plugin/bsv_xml.rb:636:in `_update' /home/masa/ywesee/oddb.org/src/plugin/bsv_xml.rb:631:in `update' /home/masa/ywesee/oddb.org/src/util/updater.rb:251:in `update_bsv' /home/masa/ywesee/oddb.org/src/util/updater.rb:476:in `call' /home/masa/ywesee/oddb.org/src/util/updater.rb:476:in `wrap_update' /home/masa/ywesee/oddb.org/src/util/updater.rb:249:in `update_bsv' (eval):1:in `_admin' /home/masa/ywesee/oddb.org/src/util/failsafe.rb:9:in `call' /home/masa/ywesee/oddb.org/src/util/failsafe.rb:9:in `failsafe' /home/masa/ywesee/oddb.org/src/util/oddbapp.rb:1468:in `_admin' /home/masa/ywesee/oddb.org/src/util/oddbapp.rb:1466:in `initialize' /home/masa/ywesee/oddb.org/src/util/oddbapp.rb:1466:in `new' /home/masa/ywesee/oddb.org/src/util/oddbapp.rb:1466:in `_admin' /usr/lib64/ruby/1.8/drb/drb.rb:1555:in `__send__' /usr/lib64/ruby/1.8/drb/drb.rb:1555:in `perform_without_block' /usr/lib64/ruby/1.8/drb/drb.rb:1515:in `perform' /usr/lib64/ruby/1.8/drb/drb.rb:1589:in `main_loop' /usr/lib64/ruby/1.8/drb/drb.rb:1585:in `loop' /usr/lib64/ruby/1.8/drb/drb.rb:1585:in `main_loop' /usr/lib64/ruby/1.8/drb/drb.rb:1581:in `start' /usr/lib64/ruby/1.8/drb/drb.rb:1581:in `main_loop' /usr/lib64/ruby/1.8/drb/drb.rb:1430:in `run' /usr/lib64/ruby/1.8/drb/drb.rb:1427:in `start' /usr/lib64/ruby/1.8/drb/drb.rb:1427:in `run' /usr/lib64/ruby/1.8/drb/drb.rb:1347:in `initialize' /usr/lib64/ruby/1.8/drb/drb.rb:1627:in `new' /usr/lib64/ruby/1.8/drb/drb.rb:1627:in `start_service' bin/oddbd:38
when 'OrgGenCode' gtype = GENERIC_TYPES[@text] unless (registration = @app.registration(@iksnr) and registration.keep_generic_type) @reg_data.store(:generic_type, (gtype || :unknown)) end
Run
COMPONENTS = { ... [0,3] => :keep_generic_type, [2,2] => :expiration_date, [2,3] => :renewal_flag, [0,4,0] => :complementary_select, [0,4,1] => :complementary_type, [2,4] => :market_date, [0,5] => :index_therapeuticus, [2,5] => :manual_inactive_date, [0,6] => :ith_swissmedic, [2,6] => :inactive_date, [0,7] => :indication, [2,7] => :patented_until, [0,8] => :export_flag, [2,8] => :ignore_patent, [3,8] => :violates_patent, [0,9] => :parallel_import, [2,9] => :vaccine, ... COMPONENT_CSS_MAP = { [1,0,1,8] => 'standard', [3,0,1,8] => 'standard', } CSS_MAP = { [0,0,6,10] => 'list', [0,9] => 'list', } COLSPAN_MAP = { [3,7] => 3 } def reorganize_components if(@model.is_a?(Persistence::CreateItem)) components.store([1,10], :submit) css_map.store([1,10], 'list') else components.update({ [0,10] => 'fi_upload_instruction0', [2,10] => :fachinfo_label, [3,10,0] => :fachinfo, [3,10,1] => :assign_fachinfo, [0,11] => 'fi_upload_instruction1', [1,11] => :language_select, [2,11] => :textinfo_update, [0,12] => 'fi_upload_instruction2', [1,12] => :fachinfo_upload, [2,12] => :activate_fachinfo, [0,13] => 'fi_upload_instruction3', [1,13,0]=> :submit, [1,13,1]=> :new_registration, [2,13] => :deactivate_fachinfo, }) colspan_map.store([3,10], 3) colspan_map.store([0,10], 2) css_map.store([0,10], 'list bg bold') css_map.store([1,10], 'list bg') css_map.store([2,10,2,4], 'list') css_map.store([0,11,2,3], 'list bg') component_css_map.store [3,12,1,2], 'standard'
Before
After
Commit
Commit
masa@masa ~/ywesee/oddb.org/test/test_plugin $ ruby bsv_xml.rb /usr/lib64/ruby/gems/1.8/gems/savon-0.8.6/lib/savon/soap/xml.rb:154: warning: parenthesize argument(s) for future version /usr/lib64/ruby/gems/1.8/gems/httpi-0.9.0/lib/httpi/response.rb:71: warning: parenthesize argument(s) for future version bsv_xml.rb:218: warning: already initialized constant MEDDATA_SERVER Loaded suite bsv_xml Started ............................................................................ Finished in 0.240469 seconds. 76 tests, 156 assertions, 0 failures, 0 errors