fileorganizer 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. data/lib/organize.rb +9 -10
  2. metadata +1 -2
  3. data/lib/organize_spec.rb +0 -43
@@ -5,14 +5,11 @@ class Organize
5
5
  attr_accessor :directory_path
6
6
 
7
7
  def initialize
8
- # create tests
9
- # what does "full documentation" mean?
10
- # integrate with Travic CI
11
8
  @directory_path = '/Users/brianward/Sites/fileorganizer/lib/testfiles/'
12
9
  end
13
10
 
14
11
  def directory_files
15
- files_sorted_by_time = Dir["#{directory_path}**/*.*"].sort_by{ |f| File.mtime(f) }
12
+ files_sorted_by_time = Dir["#{@directory_path}**/*.*"].sort_by{ |f| File.mtime(f) }
16
13
  end
17
14
 
18
15
  def show_new_names
@@ -25,12 +22,14 @@ class Organize
25
22
  int = 100000
26
23
  directory_files.each do |filename|
27
24
  file_date = File.mtime(filename).to_s
25
+ # check that file doesn't already have a date name
28
26
  if !/\d{4}\-\d{2}\-\d{2}/.match(filename[10])
29
- if File.exist?(directory_path + file_date + filename[-4,4])
30
- File.rename(filename, directory_path + file_date + '_' + int.to_s + filename[-4,4])
27
+ # check if a file with this date name doesn't alreday exist, and add number to end of filename if so
28
+ if File.exist?(@directory_path + file_date + filename[-4,4])
29
+ File.rename(filename, @directory_path + file_date + '_' + int.to_s + filename[-4,4])
31
30
  int += 1
32
31
  else
33
- File.rename(filename, directory_path + file_date + filename[-4,4])
32
+ File.rename(filename, @directory_path + file_date + filename[-4,4])
34
33
  end
35
34
  end
36
35
  end
@@ -40,14 +39,14 @@ class Organize
40
39
  # loop over the file dates and run "mkdir" for those dates that don't have a folder yet
41
40
  directory_files.each do |filename|
42
41
  folder_name = filename.split('/').last[0,10]
43
- Dir.mkdir(directory_path + folder_name) unless Dir.exists?(directory_path + folder_name)
44
- FileUtils.copy_file(filename, directory_path + folder_name + "/" + filename.split('/').last, preserve = true)
42
+ Dir.mkdir(@directory_path + folder_name) unless Dir.exists?(@directory_path + folder_name)
43
+ FileUtils.copy_file(filename, @directory_path + folder_name + "/" + filename.split('/').last, preserve = true)
45
44
  FileUtils.remove_file(filename, force = true)
46
45
  end
47
46
  end
48
47
 
49
48
  def delete_non_date_folders
50
- Dir["#{directory_path}**/**"].each do |folder_name|
49
+ Dir["#{@directory_path}**/**"].each do |folder_name|
51
50
  if !/\d{4}\-\d{2}\-\d{2}/.match(folder_name)
52
51
  FileUtils.remove_dir(folder_name, force = false)
53
52
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fileorganizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -54,7 +54,6 @@ files:
54
54
  - bin/fileorganizer
55
55
  - lib/fileorganizer.rb
56
56
  - lib/organize.rb
57
- - lib/organize_spec.rb
58
57
  - lib/testfiles/4471473910_14e267969c.jpg
59
58
  - lib/testfiles/4474268581_2b1ebba1c1.jpg
60
59
  - lib/testfiles/4477744959_27ba8a402b_z.jpg
@@ -1,43 +0,0 @@
1
- require './organize.rb'
2
-
3
- describe Organize do
4
-
5
- before :all do
6
- @newTask = Organize.new
7
- @newTask.directory_path = Dir.pwd + "/testfiles/"
8
- end
9
-
10
- after(:all) do
11
- FileUtils.rm_rf(@newTask.directory_path)
12
- current_directory = Dir.pwd
13
- FileUtils.cp_r current_directory + '/testfiles_copy', current_directory + '/testfiles/', :preserve => true
14
- end
15
-
16
- it "should have a directory path" do
17
- @newTask.should respond_to "directory_path"
18
- end
19
-
20
- it "should return a list of existing files in directory" do
21
- existing_files = Dir[@newTask.directory_path + '**/*.*'].map { |a| File.basename(a) }
22
- existing_files.should eq ["4471473910_14e267969c.jpg", "4474268581_2b1ebba1c1.jpg", "4477744959_27ba8a402b_z.jpg", "5241024543_4d024eaa09_b.jpg", "5241024587_9ce803aafe_b.jpg", "5241619844_a02287bb21_b.jpg", "5241620170_91d55ef233_o.jpg", "5384868249_80bcb10aa2_b.jpg", "photo (1).JPG", "photo (2).JPG", "photo.JPG", "0f8109ddc4c5d699bbf4d9fbef2bcfcb.jpg", "3e54bfc519c423f3aa3b67d46d2684f4.jpg"]
23
- end
24
-
25
- it "should rename the existing files in directory" do
26
- @newTask.rename_files
27
- new_files = Dir[@newTask.directory_path + '**/*.*'].map { |a| File.basename(a) }
28
- new_files.should eq ["2011-02-04 14:31:58 -0800.jpg", "2011-02-04 14:34:42 -0800.jpg", "2011-02-04 14:35:32 -0800.jpg", "2011-02-04 14:35:48 -0800.jpg", "2011-02-04 14:35:56 -0800.jpg", "2011-02-04 14:37:02 -0800.jpg", "2011-02-04 14:37:26 -0800.jpg", "2011-02-04 14:37:58 -0800.jpg", "2011-02-21 10:55:15 -0800.jpg", "2011-02-21 10:56:09 -0800.jpg", "2011-03-19 22:24:33 -0700.JPG", "2011-03-19 22:24:45 -0700.JPG", "2011-03-19 22:24:56 -0700.JPG"]
29
- end
30
-
31
- it "should create new folders from dates" do
32
- @newTask.move_files
33
- new_folders = Dir[@newTask.directory_path + '*/'].map { |a| File.basename(a) }
34
- new_folders.should eq ["2011-02-04", "2011-02-21", "2011-03-19", "testfolder"]
35
- end
36
-
37
- it "should delete old folders that are now dates" do
38
- @newTask.delete_non_date_folders
39
- new_folders = Dir[@newTask.directory_path + '*/'].map { |a| File.basename(a) }
40
- new_folders.should eq ["2011-02-04", "2011-02-21", "2011-03-19"]
41
- end
42
-
43
- end