From 8836c8bcdf7e76c8c8335b2c89a5fb3408a930bf Mon Sep 17 00:00:00 2001 From: Constanza Date: Fri, 5 Aug 2022 15:20:32 -0400 Subject: [PATCH] FIX: the phpbbb import script was not parsing youtube tags (#17787) --- .../phpbb3/support/bbcode/xml_to_markdown.rb | 7 +++++++ script/import_scripts/phpbb3/support/text_processor.rb | 8 +++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/script/import_scripts/phpbb3/support/bbcode/xml_to_markdown.rb b/script/import_scripts/phpbb3/support/bbcode/xml_to_markdown.rb index 972c4a6c453..7041c5923f7 100644 --- a/script/import_scripts/phpbb3/support/bbcode/xml_to_markdown.rb +++ b/script/import_scripts/phpbb3/support/bbcode/xml_to_markdown.rb @@ -185,6 +185,13 @@ module ImportScripts::PhpBB3::BBCode end end + def visit_YOUTUBE(xml_node, md_node) + youtube_id = xml_node.attr("content") + md_node.text = "https://www.youtube.com/watch?v=" + youtube_id + md_node.prefix_linebreaks = md_node.postfix_linebreaks = 1 + md_node.skip_children + end + def visit_QUOTE(xml_node, md_node) if post = quoted_post(xml_node) md_node.prefix = %Q{[quote="#{post[:username]}, post:#{post[:post_number]}, topic:#{post[:topic_id]}"]\n} diff --git a/script/import_scripts/phpbb3/support/text_processor.rb b/script/import_scripts/phpbb3/support/text_processor.rb index 0528b7926e4..62547b4f156 100644 --- a/script/import_scripts/phpbb3/support/text_processor.rb +++ b/script/import_scripts/phpbb3/support/text_processor.rb @@ -59,7 +59,7 @@ module ImportScripts::PhpBB3 process_code(text) fix_markdown(text) process_attachments(text, attachments) if attachments.present? - + process_videos(text) text end end @@ -197,5 +197,11 @@ module ImportScripts::PhpBB3 text.gsub!(/^!\[[^\]]*\]\([^\]]*\)$/i) { |img| "\n#{img.strip}\n" } # space out images single on line text end + + def process_videos(text) + # [YOUTUBE][/YOUTUBE] + text.gsub(/\[youtube\](.+?)\[\/youtube\]/i) { "\nhttps://www.youtube.com/watch?v=#{$1}\n" } + text + end end end