if $3 && $4
if topic_lookup = topic_lookup_from_imported_post_id(post_id)
post_number = topic_lookup[:post_number]
topic_id = topic_lookup[:topic_id]
"\n[quote=\"#{new_username},post:#{post_number},topic:#{topic_id}\"]\n"
else
"\n[quote=\"#{new_username}\"]\n"
end
elsif $5
"\n[/quote]\n"
end
また、スポイラーのコードも変更しました。代わりに:
# [spoiler=Some hidden stuff]SPOILER HERE!![/spoiler]
raw.gsub!(%r{\\[spoiler=\"?(.+?)\"?\\](.+?)\\[/spoiler\\]}im) do
"\n#{$1}\n[spoiler]#{$2}[/spoiler]\n"
end
ぼかされたテキストは、detailsタグに変換します。
raw.gsub!(%r{(\\[spoiler(=\"?(.*?)\"?\\])|(\\[\\/spoiler\\])}im) do
if $3
"\n[details=#{$3}]\n"
elsif $1
"\n[details]\n"
elsif $4
"\n[/details]\n"
end
end
# [MENTION]<username>[/MENTION]
raw.gsub!(%r{\\[mention\\](.+?)\\[/mention\\]}i) do
new_username = get_username_for_old_username($1)
"@#{new_username}"
end
これも独自の方法で修正しました。
# [MENTION]<username>[/MENTION]
raw.gsub!(%r{\\[mention(=\\d+)?\\](.+?)\\[/mention\\]}i) do
new_username = get_username_for_old_username($2)
"@#{new_username}"
end
importing users
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/timestamp.rb:138:in `for': Integer values are not supported (ArgumentError)
raise ArgumentError, "#{value.class} values are not supported" unless is_time_like?(value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
from /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/tzinfo-2.0.6/lib/tzinfo/timezone.rb:575:in `utc_to_local'
from script/import_scripts/vbulletin.rb:1019:in `parse_timestamp'
from script/import_scripts/vbulletin.rb:166:in `block (2 levels) in import_users'
from /var/www/discourse/script/import_scripts/base.rb:267:in `block in create_users'
from /var/www/discourse/script/import_scripts/base.rb:266:in `each'
from /var/www/discourse/script/import_scripts/base.rb:266:in `create_users'
from script/import_scripts/vbulletin.rb:148:in `block in import_users'
from /var/www/discourse/script/import_scripts/base.rb:951:in `block in batches'
from <internal:kernel>:187:in `loop'
from /var/www/discourse/script/import_scripts/base.rb:950:in `batches'
from script/import_scripts/vbulletin.rb:126:in `import_users'
from script/import_scripts/vbulletin.rb:82:in `execute'
from /var/www/discourse/script/import_scripts/base.rb:47:in `perform'
from script/import_scripts/vbulletin.rb:1027:in `<main>'
スクリプトのデフォルトは「America/Los Angeles」です。vBulletinフォーラムは(GMT)Western Europe Time、London、Lisbon、Casablancaに設定されており、インポート先のDiscourseインスタンスにはAmerica/Los AngelesとEurope/Parisの2つのエントリがあります。