Sha256: 74be674627a4c7ce097eaf44f9ee3411a80ab2e325dba474ca563801d7d77e50
Contents?: true
Size: 1.64 KB
Versions: 1
Compression:
Stored size: 1.64 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(options) listener = Listen.to(options[:videos_dir], only: /\.#{ Regexp.escape options[:videos_extension] }$/) do |modified_filepaths, _, removed_filepaths| # handle addded files unless modified_filepaths.empty? client = MotionVj::Client.new(options[:db_app_token], options[:db_videos_dir]) motion_lsof = `lsof -c #{ options[: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.2.0 | lib/motion_vj.rb |