Skip to content

Commit

Permalink
Merge b43c5a7 into e6ab008
Browse files Browse the repository at this point in the history
  • Loading branch information
ChrisBr committed Jun 29, 2018
2 parents e6ab008 + b43c5a7 commit 4525abc
Show file tree
Hide file tree
Showing 5 changed files with 83 additions and 10 deletions.
6 changes: 3 additions & 3 deletions Gemfile
Expand Up @@ -10,9 +10,9 @@ gem 'angular_rails_csrf'
gem 'haml'

source 'https://rails-assets.org' do
gem 'rails-assets-angular'
gem 'rails-assets-angular-route'
gem 'rails-assets-lazysizes'
gem 'rails-assets-angular', '1.4.5'
gem 'rails-assets-angular-route', '1.4.5'
gem 'rails-assets-lazysizes', '4.0.4'
end

gem 'uglifier', '>= 1.3.0'
Expand Down
10 changes: 5 additions & 5 deletions Gemfile.lock
Expand Up @@ -80,7 +80,7 @@ GEM
erubis (2.7.0)
eventmachine (1.0.9)
execjs (2.7.0)
ffi (1.9.10)
ffi (1.9.25)
globalid (0.4.1)
activesupport (>= 4.2.0)
haml (5.0.4)
Expand Down Expand Up @@ -132,7 +132,7 @@ GEM
rails-assets-angular (1.4.5)
rails-assets-angular-route (1.4.5)
rails-assets-angular (= 1.4.5)
rails-assets-lazysizes (1.3.2)
rails-assets-lazysizes (4.0.4)
rails-deprecated_sanitizer (1.0.3)
activesupport (>= 4.2.0.alpha)
rails-dom-testing (1.0.9)
Expand Down Expand Up @@ -231,9 +231,9 @@ DEPENDENCIES
pi_piper
quiet_assets
rails (~> 4.2)
rails-assets-angular!
rails-assets-angular-route!
rails-assets-lazysizes!
rails-assets-angular (= 1.4.5)!
rails-assets-angular-route (= 1.4.5)!
rails-assets-lazysizes (= 4.0.4)!
rspec-rails
rubocop
simplecov
Expand Down
7 changes: 6 additions & 1 deletion config/initializers/gpio.rb
@@ -1,10 +1,15 @@
# rubocop:disable Output
# rubocop:disable Lint/RescueException
begin
$VERBOSE = nil
require 'pi_piper'
GpioPort.on(GpioPort::GPIO_PORTS['READY'])
puts '*** Running with gpio support'
rescue StandardError
rescue Exception
Object.send(:remove_const, :PiPiper)
puts '*** Running without gpio support'
ensure
$VERBOSE = false
end
# rubocop:enable Output
# rubocop:enable Lint/RescueException
3 changes: 2 additions & 1 deletion config/unicorn.rb
@@ -1,4 +1,5 @@
worker_processes 3
timeout 60
preload_app true
listen '0.0.0.0:3000', tcp_nopush: true

# listen '0.0.0.0', tcp_nopush: true
67 changes: 67 additions & 0 deletions lib/tasks/picture_set.rake
@@ -0,0 +1,67 @@
require 'fileutils'

# rubocop:disable Metrics/BlockLength
namespace :picture_set do
COMBINED_SUFFIX = '_combined.jpg'.freeze

desc 'Combine all images into one'
task :combine_images, [:path] => [:environment] do |_task, args|
path = args[:path]
path = Rails.root.join('public', 'picture_sets') if path.blank?
puts "Using directory #{path}."
Dir.chdir(path) do
picture_sets = Dir.glob('*').select { |f| File.directory? f }
picture_sets.each do |date|
puts "Processing #{date}..."
combine_images(date, path)
end
end
end

desc 'Remove combined images. Necessary before running combine_images task again.'
task :clean_combine_images, [:path] => [:environment] do |_task, args|
path = args[:path]
path = Rails.root.join('public', 'picture_sets') if path.blank?
puts "Using directory #{path}."
Dir.chdir(path) do
picture_sets = Dir.glob('*').select { |f| File.directory? f }
picture_sets.each do |date|
Dir.chdir(File.join(path, date)) do
FileUtils.rm("#{date}#{COMBINED_SUFFIX}", force: true)
end
end
end
end

desc 'Copies all images into one directory (without the single polaroids)'
task :copy, %i[path output] => [:environment] do |_task, args|
path = args[:path]
path = Rails.root.join('public', 'picture_sets') if path.blank?
puts "Using directory #{path}."
Dir.chdir(path) do
picture_sets = Dir.glob('*').select { |f| File.directory?(f) && f != 'all' }
picture_sets.each do |date|
begin
Syscall.execute("cp #{File.join(path, date, '*.jpg')} #{args[:output]}")
Syscall.execute("cp #{File.join(path, date, '*.gif')} #{args[:output]}")
rescue StandardError => e
puts e
end
end
end
end

def combine_images(date, path)
dir = File.join(path, date)
return if File.exist?(File.join(dir, "#{date}#{COMBINED_SUFFIX}"))
begin
Syscall.execute("time montage -geometry '25%x25%+25+25<' -background '#{OPTS.background_color}' " \
"-title '#{OPTS.image_caption}' -font '#{OPTS.font}' -fill '#{OPTS.font_color}' " \
"-pointsize #{OPTS.combined_image_fontsize} -gravity 'Center' #{date}_*.jpg #{date}#{COMBINED_SUFFIX}",
dir: dir)
rescue StandardError => e
puts "Can not process #{dir}: #{e}"
end
end
end
# rubocop:enable Metrics/BlockLength

0 comments on commit 4525abc

Please sign in to comment.