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