Fix off-by-one in tootctl media commands (#30306)

This commit is contained in:
Claire 2024-05-15 15:11:13 +02:00 committed by GitHub
parent 4e085dff52
commit c2ca3d152f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -128,7 +128,7 @@ module Mastodon::CLI
model_name = path_segments.first.classify model_name = path_segments.first.classify
attachment_name = path_segments[1].singularize attachment_name = path_segments[1].singularize
record_id = path_segments[2..-2].join.to_i record_id = path_segments[2...-2].join.to_i
file_name = path_segments.last file_name = path_segments.last
record = record_map.dig(model_name, record_id) record = record_map.dig(model_name, record_id)
attachment = record&.public_send(attachment_name) attachment = record&.public_send(attachment_name)
@ -172,7 +172,7 @@ module Mastodon::CLI
end end
model_name = path_segments.first.classify model_name = path_segments.first.classify
record_id = path_segments[2..-2].join.to_i record_id = path_segments[2...-2].join.to_i
attachment_name = path_segments[1].singularize attachment_name = path_segments[1].singularize
file_name = path_segments.last file_name = path_segments.last
@ -297,7 +297,7 @@ module Mastodon::CLI
fail_with_message 'Not a media URL' unless VALID_PATH_SEGMENTS_SIZE.include?(path_segments.size) fail_with_message 'Not a media URL' unless VALID_PATH_SEGMENTS_SIZE.include?(path_segments.size)
model_name = path_segments.first.classify model_name = path_segments.first.classify
record_id = path_segments[2..-2].join.to_i record_id = path_segments[2...-2].join.to_i
fail_with_message "Cannot find corresponding model: #{model_name}" unless PRELOAD_MODEL_WHITELIST.include?(model_name) fail_with_message "Cannot find corresponding model: #{model_name}" unless PRELOAD_MODEL_WHITELIST.include?(model_name)
@ -353,7 +353,7 @@ module Mastodon::CLI
next unless VALID_PATH_SEGMENTS_SIZE.include?(segments.size) next unless VALID_PATH_SEGMENTS_SIZE.include?(segments.size)
model_name = segments.first.classify model_name = segments.first.classify
record_id = segments[2..-2].join.to_i record_id = segments[2...-2].join.to_i
next unless PRELOAD_MODEL_WHITELIST.include?(model_name) next unless PRELOAD_MODEL_WHITELIST.include?(model_name)