Sha256: 976316e6727dee156f293aea3631320601a15c5f231c74366dd5e6672be86836
Contents?: true
Size: 1.58 KB
Versions: 1
Compression:
Stored size: 1.58 KB
Contents
require 'motion_vj/client' require 'motion_vj/logger' require 'motion_vj/version' require 'motion_vj/helpers' require 'fileutils' require 'listen' module MotionVj def self.get_dropbox_token(app_key, app_secret) token = MotionVj::Client.get_token(app_key, app_secret) puts "Your Dropbox access token for this app is: #{token}" end def self.start(token) listener = Listen.to(ENV['VIDEOS_DIR'], only: /\.#{Regexp.escape ENV['VIDEO_EXTENTION']}$/) do |modified_filepaths, _, removed_filepaths| # handle addded files unless modified_filepaths.empty? client = MotionVj::Client.new(token) motion_lsof = `lsof -c #{ENV['MOTION_CMD']}` modified_filepaths.each do |filepath| file_basename = File.basename filepath if motion_lsof =~ /#{Regexp.escape file_basename}/ Logger.error "Added file still in use." next end # if not being updated && not already uploaded if !client.file_exist?(file_basename) begin if client.upload(filepath) FileUtils.rm_f(filepath) Logger.info "'#{file_basename}' was uploaded." else Logger.error "Could not upload '#{file_basename}'." end rescue => e Logger.error "Could not upload '#{file_basename}'." end end end end # handle removed files removed_filepaths.each do |filepath| Logger.info "'#{File.basename(filepath)}' deleted." end end listener.start end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
motion_vj-0.1.0 | lib/motion_vj.rb |