From 8ad705eec5ef7c82276c3e6a2faf23fc517b9836 Mon Sep 17 00:00:00 2001 From: reimage Date: Thu, 13 Jun 2019 16:42:41 -0700 Subject: [PATCH] some file exceptions sorted --- file_nav.rb | 24 ++++++++++++------------ main.rb | 6 ++++++ stickerizer.rb | 34 +++++++++++++++++++++++++++++++++- 3 files changed, 51 insertions(+), 13 deletions(-) create mode 100644 main.rb diff --git a/file_nav.rb b/file_nav.rb index c6aa7d1..b97b291 100644 --- a/file_nav.rb +++ b/file_nav.rb @@ -4,10 +4,10 @@ class DirTermine attr_accessor :save_dir, :source_dir - def initialize - @save_dir = save_dir - @source_dir = source_dir - end + # def initialize + # @save_dir = save_dir + # @source_dir = source_dir + # end def destination_dir puts 'Please enter desired save directory (Leave blank for ~/Pictures/stickerized)' @@ -20,11 +20,11 @@ class DirTermine dir = gets.chomp Dir.getwd if dir.empty? end - - def establish_dirs - @source_dir = File.expand_path(origin_dir) - @save_dir = File.expand_path(destination_dir) - end + # + # def establish_dirs + # @source_dir = File.expand_path(origin_dir) + # @save_dir = File.expand_path(destination_dir) + # end def dbug puts @source_dir @@ -32,6 +32,6 @@ class DirTermine end end -testr = DirTermine.new -testr.establish_dirs -testr.dbug +# testr = DirTermine.new +# testr.establish_dirs +# testr.dbug diff --git a/main.rb b/main.rb new file mode 100644 index 0000000..861e0ad --- /dev/null +++ b/main.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +require_relative 'stickerizer' + +sticker_machine = Stickerizer.new +sticker_machine.convert_images diff --git a/stickerizer.rb b/stickerizer.rb index 338d737..5c9caad 100644 --- a/stickerizer.rb +++ b/stickerizer.rb @@ -1,12 +1,44 @@ # frozen_string_literal: true require 'mini_magick' +require_relative 'file_nav' class Stickerizer + def initialize + @convert = DirTermine.new + end + def stickerize(pic_file, save_dir) image = MiniMagick::Image.open(pic_file) image.resize '512x512' image.format 'png' - image.write "#{save_dir}#{pic_file}" + image.write "#{save_dir}#{pic_file}_stickerized.png" + end + + def origin_dir + @convert.origin_dir + end + + def dest_dir + @convert.destination_dir + end + + def valid?(file) + valid = false + extension = file[-4..-1] + valid = true if extension == '.png' + valid = true if extension == '.jpg' + valid = true if extension == '.gif' + puts "File #{file}: valid: #{valid.to_s}" + valid + end + + def convert_images + origin = origin_dir + destination = dest_dir + Dir.children(origin).each do |unstickerized| + next unless valid?(unstickerized) + stickerize("#{origin}/#{unstickerized}", destination) + end end end