Created
October 25, 2013 06:06
-
-
Save kelso/7150076 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
require 'fileutils' | |
class CameraTool | |
CAMERA_UPLOADS_LOCAL = "/Users/kelso/Dropbox/Camera Uploads/" | |
CAMERA_PHOTOS_ARCHIVE_LOCAL = "/Users/kelso/Documents/Camera Uploads/Photos/" | |
CAMERA_VIDEOS_ARCHIVE_LOCAL = "/Users/kelso/Documents/Camera Uploads/Videos/" | |
CAMERA_PHOTOS_ARCHIVE_EXTERNAL = "/Volumes/My Book/Camera/Photos/" | |
CAMERA_VIDEOS_ARCHIVE_EXTERNAL = "/Volumes/My Book/Camera/Videos/" | |
def initialize | |
end | |
def archive | |
photos_count, videos_count = 0, 0 | |
Dir.glob(CAMERA_UPLOADS_LOCAL + "*").each do |i| | |
if i.include?(".jpg") or i.include?(".JPG") or i.include?(".png") | |
FileUtils.mv i, CAMERA_PHOTOS_ARCHIVE_LOCAL#, :verbose => true | |
photos_count += 1 | |
elsif i.include?(".mov") | |
FileUtils.mv i, CAMERA_VIDEOS_ARCHIVE_LOCAL#, :verbose => true | |
videos_count += 1 | |
end | |
end | |
[photos_count, videos_count] | |
end | |
def move_to_hdd | |
photos_count, videos_count = 0, 0 | |
# Move photos to external HDD | |
Dir.glob(CAMERA_PHOTOS_ARCHIVE_LOCAL + "*").each do |i| | |
if i.include?(".jpg") or i.include?(".JPG") or i.include?(".png") | |
FileUtils.mv i, CAMERA_PHOTOS_ARCHIVE_EXTERNAL | |
photos_count += 1 | |
end | |
end | |
# Move videos to external HDD | |
Dir.glob(CAMERA_VIDEOS_ARCHIVE_LOCAL + "*").each do |i| | |
if i.include?(".mov") | |
FileUtils.mv i, CAMERA_VIDEOS_ARCHIVE_EXTERNAL | |
videos_count += 1 | |
end | |
end | |
[photos_count, videos_count] | |
end | |
def fix_hdd | |
videos_count = 0 | |
# Move out videos from photos folder | |
Dir.glob(CAMERA_PHOTOS_ARCHIVE_EXTERNAL + "*").each do |i| | |
if i.include?(".mov") | |
FileUtils.mv i, CAMERA_VIDEOS_ARCHIVE_EXTERNAL | |
videos_count += 1 | |
end | |
end | |
videos_count | |
end | |
end | |
tool = CameraTool.new | |
puts "[a] for archive" | |
puts "[m] move to hdd" | |
puts "[f] fix HDD camera files:" | |
print "Action: " | |
input = gets.strip | |
puts "" | |
case input | |
when "a" | |
puts "-> Archiving files..." | |
result = tool.archive | |
puts "-> Done. Archived #{result[0]} photos & #{result[1]} videos." | |
when "m" | |
puts "-> Moving files to hdd..." | |
result = tool.move_to_hdd | |
puts "-> Done. Moved #{result[0]} photos & #{result[1]} videos." | |
when "f" | |
puts "-> Fixing files on hdd..." | |
result = tool.fix_hdd | |
puts "-> Done. Moved #{result} videos to the right location." | |
end | |
puts "" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment