prune-erickson 0.0.2 → 0.0.3
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.
- checksums.yaml +4 -4
- data/bin/prune-erickson +141 -119
- metadata +21 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0764deb0a204a83b4ed2a1f1b689348cf61461ab
|
4
|
+
data.tar.gz: 9d22ed53859ca4d9168e7d23261ffc8190aae7c8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9626ba2ca84e98c745824dc22eb216567f388aff2604d8e7726697a33ceae1430026637c6b6af0b22e7eaa0f4a2989851b2a4d6be8347800769decd2a31d71a
|
7
|
+
data.tar.gz: 5767bb307f628a7408ce8ac3285e3e7aa4be404a661716af4b3233d21592dd519dc564c58745843d1afb27e32d57c895732e7969def4e052d72c15f463f6404a
|
data/bin/prune-erickson
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
require 'spreadsheet'
|
4
|
-
|
4
|
+
require 'colorize'
|
5
5
|
|
6
6
|
# --------------------------------------------
|
7
7
|
# GRABS INFORMATION FROM COMMAND LINE AND MAKES DATA AVAILABLE FOR PROGRAM
|
@@ -19,7 +19,8 @@ print "\n\n"
|
|
19
19
|
# ASKING FOR HELP
|
20
20
|
if ARGV.length == 1 and ARGV[0] == "help"
|
21
21
|
print "
|
22
|
-
THANK YOU FOR USING PRUNE!! /_(O__O)_/
|
22
|
+
THANK YOU FOR USING PRUNE!! /_(O__O)_/"
|
23
|
+
print "
|
23
24
|
\n
|
24
25
|
.. ...
|
25
26
|
| | / /
|
@@ -33,17 +34,18 @@ if ARGV.length == 1 and ARGV[0] == "help"
|
|
33
34
|
( ' \ '- |
|
34
35
|
\ `. /
|
35
36
|
| |
|
36
|
-
| | \n\n\n
|
37
|
-
to edit a file use this format:
|
37
|
+
| | \n\n\n".colorize(:light_blue)
|
38
|
+
print "to edit a file use this format:
|
38
39
|
|
39
40
|
prune-erickson [filename.xls (string)] [sheet-number (number)] [output.xls (string)]\n\n\n\n
|
40
41
|
"
|
41
42
|
elsif ARGV.length == 1 and (ARGV[0] == "-v" or ARGV[0] == "-version" or ARGV[0] == "version")
|
42
43
|
print "\n
|
43
44
|
-------------------
|
44
|
-
| VERSION | 0.0.
|
45
|
+
| VERSION | 0.0.3 |
|
45
46
|
-------------------
|
46
|
-
|
47
|
+
"
|
48
|
+
print "
|
47
49
|
~~~~~~~THIS SOFTWARE IS IN ACTIVE DEVELOPMENT~~~~~
|
48
50
|
Keep in mind that this project is 0.0.* and is still
|
49
51
|
continuously being updated and user tested.
|
@@ -51,126 +53,146 @@ elsif ARGV.length == 1 and (ARGV[0] == "-v" or ARGV[0] == "-version" or ARGV[0]
|
|
51
53
|
|
52
54
|
Stay tuned for the official release 1.0.0 which could be any
|
53
55
|
day now.
|
54
|
-
"
|
55
|
-
elsif ARGV[0] != "version" or ARGV[0] != "help" or ARGV[0] != '-version' or ARGV[0] != "-v"
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
# reads file
|
67
|
-
book = Spreadsheet.open fileName
|
68
|
-
sheet1 = book.worksheet sheetNum
|
56
|
+
".yellow
|
57
|
+
elsif ARGV.length == 1 and ARGV[0] != "version" or ARGV[0] != "help" or ARGV[0] != '-version' or ARGV[0] != "-v"
|
58
|
+
# if ~~~> catch different files and options before running code to check for errors.
|
59
|
+
# \S+[.xls*] this is a regex for the xls input and output files
|
60
|
+
# \s\S\s to pick up the index number
|
61
|
+
# I should also check that book is not nil
|
62
|
+
if ARGV[0] =~ /\S+[.xls*]/ and ARGV[1] =~ /\d/ and ARGV[2] =~ /\S+[.xls*]/
|
63
|
+
# --------------------------------------------
|
64
|
+
Spreadsheet.client_encoding = 'UTF-8'
|
65
|
+
print "~>reading file you have requested"
|
66
|
+
print "\n"
|
67
|
+
# reads file
|
69
68
|
|
70
|
-
|
71
|
-
|
72
|
-
|
69
|
+
if File.exist?(fileName)
|
70
|
+
book = Spreadsheet.open fileName
|
71
|
+
sheet1 = book.worksheet sheetNum
|
72
|
+
newBook = Spreadsheet::Workbook.new
|
73
|
+
newSheet = newBook.create_worksheet
|
73
74
|
|
74
|
-
|
75
|
+
newSheet.name = "output"
|
75
76
|
|
76
|
-
|
77
|
+
testvar = Array.new
|
78
|
+
|
79
|
+
print "~>looking for unnecessary information"
|
80
|
+
print "\n"
|
81
|
+
if sheet1 == nil
|
82
|
+
print "\n
|
83
|
+
(_(T__T)_/ \n\n
|
84
|
+
this sheet seems to be empty...
|
85
|
+
are you selecting the wrong one? \n".red
|
86
|
+
else
|
87
|
+
sheet1.row(0).each_with_index{|val, index|
|
77
88
|
|
78
|
-
|
79
|
-
|
80
|
-
|
89
|
+
unless val != "OppCommunity" and val !="FirstName" and val != "LastName" and val != "Address" and val!="City" and val != "State" and val != "Zipcode" and val != "Phone" and val != "Email" and val != "ILorCC"
|
90
|
+
testvar.push(index)
|
91
|
+
end
|
92
|
+
}
|
81
93
|
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
}
|
94
|
+
unless sheet1.row(0).include? "OppCommunity"
|
95
|
+
print "you are missing the OppCommunity field\n".yellow.blink
|
96
|
+
else
|
86
97
|
|
87
|
-
|
88
|
-
|
89
|
-
|
98
|
+
end
|
99
|
+
unless sheet1.row(0).include? "FirstName"
|
100
|
+
print "you are missing the FirstName field\n".yellow.blink
|
101
|
+
end
|
102
|
+
unless sheet1.row(0).include? "LastName"
|
103
|
+
print "you are missing the LastName field\n".yellow.blink
|
104
|
+
end
|
105
|
+
unless sheet1.row(0).include? "Phone"
|
106
|
+
print "you are missing the phone field\n".yellow.blink
|
107
|
+
end
|
108
|
+
unless sheet1.row(0).include? "Address"
|
109
|
+
print "you are missing the Address field\n".yellow.blink
|
110
|
+
end
|
111
|
+
unless sheet1.row(0).include? "City"
|
112
|
+
print "you are missing the City field\n".yellow.blink
|
113
|
+
end
|
114
|
+
unless sheet1.row(0).include? "State"
|
115
|
+
print "you are missing the State field\n".yellow.blink
|
116
|
+
end
|
117
|
+
unless sheet1.row(0).include? "Zipcode"
|
118
|
+
print "you are missing the Zipcode field\n".yellow.blink
|
119
|
+
end
|
120
|
+
unless sheet1.row(0).include? "Address"
|
121
|
+
print "you are missing the Address field\n".yellow.blink
|
122
|
+
end
|
123
|
+
unless sheet1.row(0).include? "Address"
|
124
|
+
print "you are missing the Address field\n".yellow.blink
|
125
|
+
end
|
126
|
+
unless sheet1.row(0).include? "Email"
|
127
|
+
print "you are missing the Email field\n".yellow.blink
|
128
|
+
end
|
129
|
+
# puts testvar
|
130
|
+
newvar = Array.new
|
131
|
+
newvar.push "zero"
|
132
|
+
sheet1.each do |row|
|
133
|
+
row.each_with_index {|val, index|
|
134
|
+
if testvar.include? index
|
135
|
+
|
136
|
+
newvar.push val
|
137
|
+
end
|
138
|
+
}
|
139
|
+
end
|
140
|
+
print "~~>writing new file \n\n"
|
141
|
+
# print newvar
|
142
|
+
newvar.map! { |x|
|
90
143
|
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
144
|
+
if x == "OppCommunity"
|
145
|
+
print "renaming field #{x} \n".colorize(:light_blue)
|
146
|
+
x = "Community"
|
147
|
+
elsif x == "FirstName"
|
148
|
+
print "renaming field #{x} \n".colorize(:light_blue)
|
149
|
+
x = "First Name"
|
150
|
+
elsif x == "LastName"
|
151
|
+
print "renaming field #{x} \n".colorize(:light_blue)
|
152
|
+
x = "Last Name"
|
153
|
+
elsif x == "Address"
|
154
|
+
print "renaming field #{x} \n".colorize(:light_blue)
|
155
|
+
x = "Address"
|
156
|
+
elsif x == "city"
|
157
|
+
print "renaming field #{x} \n".colorize(:light_blue)
|
158
|
+
x = "city"
|
159
|
+
elsif x == "State"
|
160
|
+
print "renaming field #{x} \n".colorize(:light_blue)
|
161
|
+
x = "State"
|
162
|
+
elsif x == "Zipcode"
|
163
|
+
print "renaming field #{x} \n".colorize(:light_blue)
|
164
|
+
x = "Zipcode"
|
165
|
+
elsif x == "Email"
|
166
|
+
print "renaming field #{x} \n".colorize(:light_blue)
|
167
|
+
x = "Email"
|
168
|
+
else
|
169
|
+
x=x
|
170
|
+
end
|
171
|
+
}
|
172
|
+
# print newvar
|
173
|
+
for i in 0..newvar.length
|
174
|
+
for j in 1..testvar.length
|
175
|
+
|
176
|
+
|
177
|
+
newSheet.row(i).push newvar[(i*testvar.length)+j]
|
178
|
+
end
|
179
|
+
end
|
180
|
+
print "output file is in same file under out.xls to open, use \n \n open #{output}"
|
181
|
+
print "\n"
|
182
|
+
newBook.write output
|
130
183
|
end
|
131
|
-
}
|
132
|
-
end
|
133
|
-
print "~~>writing new file \n\n"
|
134
|
-
# print newvar
|
135
|
-
newvar.map! { |x|
|
136
|
-
|
137
|
-
if x == "OppCommunity"
|
138
|
-
print "renaming field #{x} \n"
|
139
|
-
x = "Community"
|
140
|
-
elsif x == "FirstName"
|
141
|
-
print "renaming field #{x} \n"
|
142
|
-
x = "First Name"
|
143
|
-
elsif x == "LastName"
|
144
|
-
print "renaming field #{x} \n"
|
145
|
-
x = "Last Name"
|
146
|
-
elsif x == "Address"
|
147
|
-
print "renaming field #{x} \n"
|
148
|
-
x = "Address"
|
149
|
-
elsif x == "city"
|
150
|
-
print "renaming field #{x} \n"
|
151
|
-
x = "city"
|
152
|
-
elsif x == "State"
|
153
|
-
print "renaming field #{x} \n"
|
154
|
-
x = "State"
|
155
|
-
elsif x == "Zipcode"
|
156
|
-
print "renaming field #{x} \n"
|
157
|
-
x = "Zipcode"
|
158
|
-
elsif x == "Email"
|
159
|
-
print "renaming field #{x} \n"
|
160
|
-
x = "Email"
|
161
184
|
else
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
185
|
+
print "\n\n
|
186
|
+
WHOOPS!!!
|
187
|
+
|
188
|
+
It looks like this file is in the wrong folder or does not exsist.
|
189
|
+
try locating the folder and inputing the correct path\n\n".red
|
190
|
+
end
|
191
|
+
else
|
192
|
+
print "\n
|
193
|
+
Are you trying to use PRUNE?
|
194
|
+
why dont you try this command:\n\n
|
195
|
+
prune-erickson help \n\n\n
|
196
|
+
"
|
172
197
|
end
|
173
|
-
|
174
|
-
print "\n"
|
175
|
-
newBook.write output
|
176
|
-
end
|
198
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prune-erickson
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alejandro Londono
|
@@ -30,6 +30,26 @@ dependencies:
|
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 1.0.7
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: colorize
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0.0'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 0.7.7
|
43
|
+
type: :development
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0.0'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 0.7.7
|
33
53
|
description: An excel processing script to remove erroneous data
|
34
54
|
email: alejandro.londono@erickson.com
|
35
55
|
executables:
|