Приветствую,
Я только что настроил Discourse, но хотел бы импортировать свои комментарии из Disqus. Я заметил, что есть отличный скрипт импорта, однако он, похоже, не работает у меня.
ОБНОВЛЕНИЕ #2: Похоже, у меня был некорректный XML, поэтому теперь у меня возникла та же проблема, что и здесь. Проблема в том, что Disqus больше не включает адрес электронной почты в XML-экспорт и фактически «скрывает» их в своей панели управления. Так что, возможно, импортировать комментарии будет невозможно, если только не добавить дополнительный код для генерации адресов электронной почты на лету для функции create_users.
ОБНОВЛЕНИЕ: На самом деле, думаю, мне стоит немного отступить. Без изменения параметра frozen_string_literal в начале скрипта я получаю:
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)
Так что, возможно, эту проблему следует решить в первую очередь (прежде чем углубляться в то, что ниже)?
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)
Я не очень хорошо знаю Ruby — на самом деле я не знаю его вообще, но мне достаточно знать, чтобы попробовать добавить отладочный код, например puts "#{id}", чтобы увидеть, что-то загружается или нет. Например, я добавил выше строку 190 — puts "#{target}" или puts "#{str}", чтобы убедиться, что файл точно читается.
Я знаю, что часть скрипта работает, так как IMPORT_FILE и IMPORT_CATEGORY установлены правильно.
Есть ли какие-то идеи, что ещё можно сделать для устранения неполадок или отладки?
Спасибо! ![]()