Closed zdavatz closed 3 years ago
Das klappt auch nicht:
ch.oddb> reg = @system.registration('67241'); delete reg.patinfo.pointer; update reg.pointer, :patinfo => nil
ergibt
-> undefined method `patinfo' for #<ODDB::Registration:0x00007f1cd5383a30 @registration_date=2020-02-19, @odba_id=44648744, @iksnr="67241", @odba_observers=[], @indication=#<ODBA::Stub:698040#10042 @odba_class= @odba_container=698020#44648744>, @company=#<ODBA::Stub:698060#27652860 @odba_class= @odba_container=698020#44648744>, @revision=2021-02-01 08:01:33.709174711 +0100, @export_flag=nil, @pointer=#<ODDB::Persistence::Pointer:0x00007f1cd5383418 @directions=[[:registration, "67241"]]>, @fachinfo=#<ODBA::Stub:698080#47434410 @odba_class=ODDB::Fachinfo @odba_container=698020#44648744>, @sequences=#<ODBA::Stub:698100#44648745 @odba_class=Hash @odba_container=698020#44648744>, @inactive_date=nil, @data_origins={"ith_swissmedic"=>:swissmedic, "production_science"=>:swissmedic, "vaccine"=>:swissmedic, "registration_date"=>:swissmedic, "expiration_date"=>:swissmedic, "renewal_flag"=>:swissmedic, "renewal_flag_swissmedic"=>:swissmedic, "inactive_date"=>:swissmedic, "export_flag"=>:swissmedic, "company"=>:swissmedic, "indication"=>:swissmedic, "fachinfo"=>nil, "generic_type"=>:bag, "index_therapeuticus"=>:bag}, @odba_persistent=true, @generic_type=:generic, @expiration_date=2025-02-18, @index_therapeuticus="08.01.93.", @vaccine=nil, @renewal_flag=false, @ith_swissmedic="08.01.93.", @production_science="Synthetika", @renewal_flag_swissmedic=false>
Ich habe die Packung 001
von 67241
via GUI gelöscht und neu erstellt. Jetzt ist die PI Verlinkung weg.
Nächster Versuch von sudo -u apache bundle-300 exec ruby-300 jobs/update_textinfo_swissmedicinfo --no-download --target=pi 67241 --reparse
Resultiert in
Error: NoMethodError
Message: undefined method `delete' for #<ODDB::PatinfoDocument:0x00007f85ce5ae230 @revision=2021-04-02 07:53:35.290246881 +0200, @odba_id=47434581, @oid=47434581, @iksnrs=#<ODBA::Stub:3360420#47748105 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @name=#<ODBA::Stub:3360440#47748106 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @company=#<ODBA::Stub:3360460#47748107 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @galenic_form=nil, @effects=#<ODBA::Stub:3360480#47748108 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @amendments=#<ODBA::Stub:3360500#47748109 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @contra_indications=#<ODBA::Stub:3360520#47748110 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @precautions=#<ODBA::Stub:3360540#47748111 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @pregnancy=#<ODBA::Stub:3360560#47748112 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @usage=#<ODBA::Stub:3360580#47748113 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @unwanted_effects=#<ODBA::Stub:3360600#47748114 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @general_advice=#<ODBA::Stub:3360620#47748115 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @composition=nil, @packages=#<ODBA::Stub:3360640#47748116 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @distribution=nil, @fabrication=nil, @date=#<ODBA::Stub:3360660#47748117 @odba_class=ODDB::Text::Chapter @odba_container=3360400#47434581>, @odba_persistent=true, @odba_observers=[]>
Backtrace:
/var/www/oddb.org/src/plugin/text_info.rb:307:in `rescue in store_package_patinfo'
/var/www/oddb.org/src/plugin/text_info.rb:299:in `store_package_patinfo'
/var/www/oddb.org/src/plugin/text_info.rb:341:in `store_patinfo_for_all_packages'
/var/www/oddb.org/src/plugin/text_info.rb:374:in `block in update_patinfo_lang'
/var/www/oddb.org/src/plugin/text_info.rb:373:in `each'
/var/www/oddb.org/src/plugin/text_info.rb:373:in `update_patinfo_lang'
/var/www/oddb.org/src/plugin/text_info.rb:1294:in `parse_textinfo'
/var/www/oddb.org/src/plugin/text_info.rb:1488:in `block in import_swissmedicinfo'
/var/www/oddb.org/src/plugin/text_info.rb:1487:in `each'
/var/www/oddb.org/src/plugin/text_info.rb:1487:in `import_swissmedicinfo'
/var/www/oddb.org/src/util/updater.rb:548:in `block in update_notify_simple'
/var/www/oddb.org/src/util/updater.rb:504:in `wrap_update'
/var/www/oddb.org/src/util/updater.rb:542:in `update_notify_simple'
/var/www/oddb.org/src/util/updater.rb:328:in `update_textinfo_swissmedicinfo'
jobs/update_textinfo_swissmedicinfo:39:in `block in <module:Util>'
/var/www/oddb.org/src/util/job.rb:41:in `run'
jobs/update_textinfo_swissmedicinfo:12:in `<module:Util>'
jobs/update_textinfo_swissmedicinfo:11:in `<module:ODDB>'
jobs/update_textinfo_swissmedicinfo:10:in `<main>'
Nächster Versuch: sudo -u apache bundle-300 exec ruby-300 jobs/update_textinfo_swissmedicinfo --no-download --target=pi 67241
Resultiert in einem Import von
Stored 4 updated patinfos:
54825 fr: EchinaMed®
61302 fr: EchinaMed®
67445 de: Similasan Reise-Beschwerden N
67510 de: Similasan Reise-Beschwerden N
Stored 0 updated fachinfos:
67240 und 67241 haben die gleichen PI, aber irgendwie kann man die nicht verknüpfen.
Hier klappt die "Zuweisen" Funktion auch nicht:
Auf oddb-ci2 (mit einer älteren DB) ist das reparse erfolgreich durchgelaufen. Im Mail kam
Stored 4 updated patinfos: 67240 de: Co-Amoxicillin Spirig HC® Filmtabletten 67240 fr: Co-Amoxicilline Spirig HC® Comprimés filmés 67241 de: Co-Amoxicillin Spirig HC® Filmtabletten 67241 fr: Co-Amoxicilline Spirig HC® Comprimés filmés Stored 0 updated fachinfos:
Ich hatte den Befehl aber ohne --no-download wie folgt aufgerufen: sudo -u apache bundle-300 exec ruby-300 jobs/update_textinfo_swissmedicinfo --target=pi 67241 --reparse
Aus wenn ich 67240 anstelle 67241 angab, lief der import durch. Es gab allerdings am Ende des Jobs einige Fehler wie
Descriptions.description error /var/www/oddb.org/src/util/language.rb:29:in `description' /var/www/oddb.org/src/util/language.rb:54:in `method_missing' /var/www/oddb.org/src/util/language.rb:34:in `description' /var/www/oddb.org/src/util/language.rb:54:in `method_missing' /var/www/oddb.org/src/model/fachinfo.rb:79:in `localized_name' /var/www/oddb.org/vendor/bundle/ruby/3.0.0/gems/odba-1.1.6/lib/odba/stub.rb:112:in `method_missing' /var/www/oddb.org/src/view/rss/fachinfo.rb:85:in `block (2 levels) in to_html' /var/www/oddb.org/src/view/rss/fachinfo.rb:84:in `each' /var/www/oddb.org/src/view/rss/fachinfo.rb:84:in `block in to_html' /var/www/oddb.org/vendor/bundle/ruby/3.0.0/gems/rss-0.2.9/lib/rss/maker/base.rb:439:in `make' /var/www/oddb.org/vendor/bundle/ruby/3.0.0/gems/rss-0.2.9/lib/rss/maker/base.rb:403:in `make' ODBA::Stub was unable to replace ODDB::SimpleLanguage::Descriptions#30593148 from ODDB::Fachinfo:#30593146
Ja, die Fehler sollten nicht sein. Wozu dient --reparse 2
?
Sorry, das 2 am Schluss sollte nicht dortstehen, ich hatte via 2>&1 | tee reparse.log
die Ausgaben geloggt.
Ok, das klappt nicht auf dem Server dann. Habe ich gestern probiert.
Ja, habe die DB vom thinpower geholt und jetzt gibt es auch schon einen Fehler wenn ich http://192.168.0.75:8012/de/gcc/patinfo/reg/67241/seq/01/pack/001 anschaue. Da muss bei einem Import/reparse was Dummes geschehen sein.
Habe das Problem lokal gelöst und die Anpassungen auf github gepushed. Jetzt sollten dann alle Tests durchlaufen. Werde morgen thinpower hochziehen (ein bundle install muss dann noch gemacht werden) und die beiden IKSNR neu einlesen. Aufwand heute war 2.5h.
sudo -u apache bundle-300 exec ruby-300 jobs/update_textinfo_swissmedicinfo --no-download --target=pi 67241 --reparse