Add tootctl media lookup command (#12283)
				
					
				
			* Add a lookup tool to the media cli * Improved lookup logic * Clarified wording in the output * Code style changes * Code style changes * Code style changes * Code style changes * Add error handling code incase an attachment isn't found * Code style changes * Code style changes * Make requested changes * Fix styling issues * Handle other media types * Remove an inadvertently added log * Make requested changes * Make the code safe no matter what the path, S3 or not * Code style changes * Code style changes * Replace select method with Ruby Enumerable grep method
This commit is contained in:
		
							parent
							
								
									71cd41aebf
								
							
						
					
					
						commit
						23ed9303b8
					
				@ -113,5 +113,27 @@ module Mastodon
 | 
			
		||||
      say("Imports:\t#{number_to_human_size(Import.sum(:data_file_size))}")
 | 
			
		||||
      say("Settings:\t#{number_to_human_size(SiteUpload.sum(:file_file_size))}")
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    desc 'lookup', 'Lookup where media is displayed by passing a media URL'
 | 
			
		||||
    def lookup
 | 
			
		||||
      prompt = TTY::Prompt.new
 | 
			
		||||
 | 
			
		||||
      url = prompt.ask('Please enter a URL to the media to lookup:', required: true)
 | 
			
		||||
 | 
			
		||||
      attachment_id = url
 | 
			
		||||
                      .split('/')[0..-2]
 | 
			
		||||
                      .grep(/\A\d+\z/)
 | 
			
		||||
                      .join('')
 | 
			
		||||
 | 
			
		||||
      if url.split('/')[0..-2].include? 'media_attachments'
 | 
			
		||||
        model = MediaAttachment.find(attachment_id).status
 | 
			
		||||
        prompt.say(ActivityPub::TagManager.instance.url_for(model))
 | 
			
		||||
      elsif url.split('/')[0..-2].include? 'accounts'
 | 
			
		||||
        model = Account.find(attachment_id)
 | 
			
		||||
        prompt.say(ActivityPub::TagManager.instance.url_for(model))
 | 
			
		||||
      else
 | 
			
		||||
        prompt.say('Not found')
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user