Salutations,
Je viens de configurer Discourse, mais je souhaiterais importer mes commentaires depuis Disqus. J’ai remarqué qu’il existe un script d’importation très bien conçu, mais il ne semble pas fonctionner pour moi.
MISE À JOUR #2 : Ok, il semble que j’avais un XML mal formé, j’ai donc maintenant le même problème tel que noté ici. Le problème est que Disqus n’inclut plus l’adresse e-mail dans les exports XML et les « cache » en fait dans leur tableau de bord. Donc, il se peut simplement que l’importation des commentaires ne soit pas possible, sauf si vous ajoutez du code supplémentaire pour générer des adresses e-mail à la volée pour la fonction create_users.
MISE À JOUR : En fait, je suppose que je devrais faire un pas en arrière un instant. Sans ajuster l’élément frozen_string_literal au début du script, j’obtiens :
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)
Donc, peut-être que ce problème devrait être résolu en premier (avant de creuser ce qui suit) ?
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)
Je ne connais pas beaucoup Ruby – en fait, je n’en connais aucun, mais je sais assez pour essayer d’ajouter du débogage comme puts "#{id}" pour voir si quelque chose est récupéré, etc. Par exemple, j’ai ajouté la ligne 190 ci-dessus – puts "#{target}" ou puts "#{str}" – afin de voir que le fichier est bien lu.
Je sais qu’une partie du script fonctionne, car IMPORT_FILE et IMPORT_CATEGORY ont été correctement définis.
Avez-vous des idées sur ce que je pourrais faire d’autre pour dépanner/déboguer ?
Merci ! ![]()