0
0
Fork 0

Add categories for custom emojis (#11196)

Fix #7940
This commit is contained in:
Eugen Rochko 2019-06-28 15:54:10 +02:00 committed by GitHub
parent 072158ee97
commit e64e6a03dd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 86 additions and 18 deletions

View file

@ -15,6 +15,7 @@ module Mastodon
option :suffix
option :overwrite, type: :boolean
option :unlisted, type: :boolean
option :category
desc 'import PATH', 'Import emoji from a TAR GZIP archive at PATH'
long_desc <<-LONG_DESC
Imports custom emoji from a TAR GZIP archive specified by PATH.
@ -22,6 +23,9 @@ module Mastodon
Existing emoji will be skipped unless the --overwrite option
is provided, in which case they will be overwritten.
You can specifiy a --category under which the emojis will be
grouped together.
With the --prefix option, a prefix can be added to all
generated shortcodes. Likewise, the --suffix option controls
the suffix of all shortcodes.
@ -33,6 +37,7 @@ module Mastodon
imported = 0
skipped = 0
failed = 0
category = options[:category] ? CustomEmojiCategory.find_or_create_by(name: options[:category]) : nil
Gem::Package::TarReader.new(Zlib::GzipReader.open(path)) do |tar|
tar.each do |entry|
@ -50,6 +55,7 @@ module Mastodon
custom_emoji.image = StringIO.new(entry.read)
custom_emoji.image_file_name = File.basename(entry.full_name)
custom_emoji.visible_in_picker = !options[:unlisted]
custom_emoji.category = category
if custom_emoji.save
imported += 1