Saluti,
Ho appena configurato Discourse, ma vorrei importare i miei commenti da Disqus. Ho notato che esiste uno script di importazione molto carino, tuttavia sembra non funzionare per me.
AGGIORNAMENTO #2: Ok, sembra che avessi del XML malformato, quindi ora ho lo stesso problema notato qui. Il problema è che Disqus non include più l’indirizzo email nelle esportazioni XML e in realtà lo “nasconde” nella loro dashboard. Quindi forse non sarà possibile importare i commenti a meno che non si aggiunga del codice aggiuntivo per generare indirizzi email al volo per la funzione create_users.
AGGIORNAMENTO: In realtà, credo di dover fare un passo indietro per un attimo. Senza modificare l’elemento frozen_string_literal in cima allo script, ottengo:
Traceback (most recent call last):
6: from script/import_scripts/disqus.rb:228:in `<main>'
5: from script/import_scripts/disqus.rb:228:in `new'
4: from script/import_scripts/disqus.rb:21:in `initialize'
3: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/nokogiri-1.10.10/lib/nokogiri/xml/sax/parser.rb:104:in `parse_file'
2: from /var/www/discourse/vendor/bundle/ruby/2.6.0/gems/nokogiri-1.10.10/lib/nokogiri/xml/sax/parser.rb:104:in `parse_with'
1: from script/import_scripts/disqus.rb:176:in `characters'
script/import_scripts/disqus.rb:195:in `record': can't modify frozen String (FrozenError)
Quindi, forse quel problema dovrebbe essere risolto per primo (prima di approfondire quanto segue)?
root@discourse:/var/www/discourse# su discourse -c "bundle exec ruby script/import_scripts/disqus.rb"
Loading existing groups...
Loading existing users...
Loading existing categories...
Loading existing posts...
Loading existing topics...
importing users...
importing topics...
Updating topic status
Updating bumped_at on topics
Updating last posted at on users
Updating last seen at on users
Updating first_post_created_at...
Updating user post_count...
Updating user topic_count...
Updating topic users
Updating post timings
Updating featured topic users
Updating featured topics in categories
4 / 4 (100.0%) [3222 items/min] n]
Resetting topic counters
Done (00h 00min 00sec)
Non conosco molto Ruby - in realtà non ne conosco affatto, ma so abbastanza da provare ad aggiungere un po’ di debug come puts "#{id}" per vedere se viene recuperato qualcosa e così via. Ad esempio, ho aggiunto sopra la riga 190 - puts "#{target}" o puts "#{str}" così posso vedere che sta effettivamente leggendo il file.
So che una parte dello script funziona, dato che IMPORT_FILE e IMPORT_CATEGORY sono stati impostati correttamente.
Qualche idea su cosa altro posso fare per risolvere il problema o fare debug?
Grazie! ![]()