parent
072158ee97
commit
e64e6a03dd
13 changed files with 86 additions and 18 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue