mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-09-08 22:24:23 +08:00
follow @duco 's suggestions
This commit is contained in:
parent
498f5eec13
commit
11e47bbfc3
1 changed files with 10 additions and 11 deletions
|
@ -1,4 +1,5 @@
|
||||||
namespace :tiny_mce_asset do
|
namespace :tiny_mce_asset do
|
||||||
|
REGEX = /\[~tiny_mce_id:([0-9a-zA-Z]+)\]/
|
||||||
desc 'Remove obsolete images that were created on new steps or '\
|
desc 'Remove obsolete images that were created on new steps or '\
|
||||||
'results and the step/result didn\'t get saved.'
|
'results and the step/result didn\'t get saved.'
|
||||||
task remove_obsolete_images: :environment do
|
task remove_obsolete_images: :environment do
|
||||||
|
@ -11,10 +12,9 @@ namespace :tiny_mce_asset do
|
||||||
'steps. Assign the last printed id if the script crashes or ' \
|
'steps. Assign the last printed id if the script crashes or ' \
|
||||||
'id + 1 if there is a problematic asset'
|
'id + 1 if there is a problematic asset'
|
||||||
task :regenerate_step_images, [:last_id] => :environment do |_, args|
|
task :regenerate_step_images, [:last_id] => :environment do |_, args|
|
||||||
regex = /\[~tiny_mce_id:([0-9a-zA-Z]+)\]/
|
|
||||||
replaced_images = 0
|
replaced_images = 0
|
||||||
failed_attempts = 0
|
failed_attempts = 0
|
||||||
all_images = TinyMceAsset.where('step_id IS NOT NULL').count
|
all_images = TinyMceAsset.where.not(step: nil).count
|
||||||
failed_attempts_ids = []
|
failed_attempts_ids = []
|
||||||
puts 'Start processing steps...'
|
puts 'Start processing steps...'
|
||||||
params = { batch_size: 100 }
|
params = { batch_size: 100 }
|
||||||
|
@ -22,14 +22,14 @@ namespace :tiny_mce_asset do
|
||||||
# fetch all steps and sort them asc
|
# fetch all steps and sort them asc
|
||||||
params[:start] = args[:last_id].to_i
|
params[:start] = args[:last_id].to_i
|
||||||
end
|
end
|
||||||
Step.find_each(batch_size: 100) do |step|
|
Step.find_each(params) do |step|
|
||||||
next unless step.description && step.description.match(regex)
|
next unless step.description && step.description.match(REGEX)
|
||||||
team = step.protocol.team
|
team = step.protocol.team
|
||||||
puts "******************************* \n\n\n\n"
|
puts "******************************* \n\n\n\n"
|
||||||
puts "Processing step id => [#{step.id}] \n\n\n\n"
|
puts "Processing step id => [#{step.id}] \n\n\n\n"
|
||||||
puts '*******************************'
|
puts '*******************************'
|
||||||
step.description.gsub!(regex) do |el|
|
step.description.gsub!(REGEX) do |el|
|
||||||
match = el.match(regex)
|
match = el.match(REGEX)
|
||||||
old_img = TinyMceAsset.find_by_id(match[1])
|
old_img = TinyMceAsset.find_by_id(match[1])
|
||||||
# skip other processing and deletes tiny_mce tag
|
# skip other processing and deletes tiny_mce tag
|
||||||
# if image is not in database
|
# if image is not in database
|
||||||
|
@ -66,10 +66,9 @@ namespace :tiny_mce_asset do
|
||||||
'for results. Assign the last printed id if the script crashes or ' \
|
'for results. Assign the last printed id if the script crashes or ' \
|
||||||
'id + 1 if there is a problematic asset'
|
'id + 1 if there is a problematic asset'
|
||||||
task :regenerate_results_images, [:last_id] => :environment do |_, args|
|
task :regenerate_results_images, [:last_id] => :environment do |_, args|
|
||||||
regex = /\[~tiny_mce_id:([0-9a-zA-Z]+)\]/
|
|
||||||
replaced_images = 0
|
replaced_images = 0
|
||||||
failed_attempts = 0
|
failed_attempts = 0
|
||||||
all_images = TinyMceAsset.where('result_text_id IS NOT NULL').count
|
all_images = TinyMceAsset.where.not(result_text: nil).count
|
||||||
failed_attempts_ids = []
|
failed_attempts_ids = []
|
||||||
params = { batch_size: 100 }
|
params = { batch_size: 100 }
|
||||||
if args.present? && args[:last_id].present?
|
if args.present? && args[:last_id].present?
|
||||||
|
@ -78,13 +77,13 @@ namespace :tiny_mce_asset do
|
||||||
|
|
||||||
puts 'Start processing result_texts...'
|
puts 'Start processing result_texts...'
|
||||||
ResultText.find_each(params) do |result_text|
|
ResultText.find_each(params) do |result_text|
|
||||||
next unless result_text.text && result_text.text.match(regex)
|
next unless result_text.text && result_text.text.match(REGEX)
|
||||||
team = result_text.result.my_module.protocol.team
|
team = result_text.result.my_module.protocol.team
|
||||||
puts "******************************************* \n\n\n\n"
|
puts "******************************************* \n\n\n\n"
|
||||||
puts "Processing result_text id => [#{result_text.id}] \n\n\n\n"
|
puts "Processing result_text id => [#{result_text.id}] \n\n\n\n"
|
||||||
puts '*******************************************'
|
puts '*******************************************'
|
||||||
result_text.text.gsub!(regex) do |el|
|
result_text.text.gsub!(REGEX) do |el|
|
||||||
match = el.match(regex)
|
match = el.match(REGEX)
|
||||||
old_img = TinyMceAsset.find_by_id(match[1])
|
old_img = TinyMceAsset.find_by_id(match[1])
|
||||||
# skip other processing and deletes tiny_mce tag
|
# skip other processing and deletes tiny_mce tag
|
||||||
# if image is not in database
|
# if image is not in database
|
||||||
|
|
Loading…
Add table
Reference in a new issue