idata 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.
- checksums.yaml +7 -0
- data/bin/iload +15 -4
- data/lib/idata/version.rb +1 -1
- metadata +73 -97
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9b369eb5215e497e66d4364240f9fb7de6da8c62
|
4
|
+
data.tar.gz: 37d2fdc825b364a26f48df4172f1546be61ce301
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2ee2a70707b45a9d1e163fd735ad88b47bc37c117039e4b1686b669352a75b420569a8b3f72977c567e13ecc5e301f0addb5c3b694f592dc072e194a249e95b3
|
7
|
+
data.tar.gz: e0ce31954906f7c468ce945e83165ab6091fe77eb657dc4c0cc11b0b443cf5e089ae46a762b19321328abdf8540b4650d4e742a3d435b41d000f499513ee53e3
|
data/bin/iload
CHANGED
@@ -54,6 +54,10 @@ parser = OptionParser.new("", 24) do |opts|
|
|
54
54
|
opts.on("-t", "--table TABLE", "Table name to be created") do |v|
|
55
55
|
$options[:table] = v
|
56
56
|
end
|
57
|
+
|
58
|
+
opts.on("--append", "") do |v|
|
59
|
+
$options[:append] = v
|
60
|
+
end
|
57
61
|
|
58
62
|
opts.on("-h", "--host HOST", "PostgreSQL host") do |v|
|
59
63
|
$options[:host] = v
|
@@ -155,6 +159,7 @@ end
|
|
155
159
|
$options[:listen] ||= POSTGRESQL_PORT
|
156
160
|
$options[:delim] ||= CSV_DEFAULT_DELIMITER
|
157
161
|
$options[:quote] ||= CSV_DEFAULT_QUOTE
|
162
|
+
$options[:append] ||= false
|
158
163
|
|
159
164
|
$tmpfile = "/tmp/#{Digest::SHA1.hexdigest(rand(100000).to_s)}.csv"
|
160
165
|
|
@@ -206,7 +211,7 @@ class MyParser
|
|
206
211
|
headers.map!{|s| s.downcase.strip }
|
207
212
|
|
208
213
|
# Write
|
209
|
-
CSV.open($tmpfile, "wb", :col_sep => CSV_DEFAULT_DELIMITER
|
214
|
+
CSV.open($tmpfile, "wb", :col_sep => CSV_DEFAULT_DELIMITER) do |csv|
|
210
215
|
csv << headers
|
211
216
|
|
212
217
|
data.each_with_index{|s, index|
|
@@ -242,9 +247,15 @@ class MyParser
|
|
242
247
|
end
|
243
248
|
|
244
249
|
# Create table
|
250
|
+
if !$options[:append]
|
251
|
+
drop_table_sql = "drop table if exists #{$options[:table]};"
|
252
|
+
else
|
253
|
+
drop_table_sql = ""
|
254
|
+
end
|
255
|
+
|
245
256
|
create_table_sql = headers.map{|e| "\"#{e}\" text"}.join(",")
|
246
|
-
create_table_sql = "
|
247
|
-
query(create_table_sql)
|
257
|
+
create_table_sql = "create table if not exists #{$options[:table]}( id serial not null, #{create_table_sql} );"
|
258
|
+
query(drop_table_sql, create_table_sql)
|
248
259
|
|
249
260
|
# Dump data
|
250
261
|
#pg_tab = "E'\t'" if $options[:delim] == "\t"
|
@@ -257,7 +268,7 @@ class MyParser
|
|
257
268
|
|
258
269
|
insert_data_sql = headers.map{|e| "\"#{e}\""}.join(",")
|
259
270
|
insert_data_sql = "COPY #{$options[:table]}( #{insert_data_sql} ) FROM '#{csv_path}' DELIMITER #{tab} CSV HEADER QUOTE #{quote};"
|
260
|
-
|
271
|
+
|
261
272
|
# Change output file permission so that postgres user can read it
|
262
273
|
begin
|
263
274
|
FileUtils.chmod 0755, csv_path
|
data/lib/idata/version.rb
CHANGED
metadata
CHANGED
@@ -1,86 +1,75 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: idata
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease: false
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 4
|
10
|
-
version: 0.0.4
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.5
|
11
5
|
platform: ruby
|
12
|
-
authors:
|
6
|
+
authors:
|
13
7
|
- Nghi Pham
|
14
8
|
autorequire:
|
15
9
|
bindir: bin
|
16
10
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
dependencies:
|
21
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2014-04-22 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
22
14
|
name: bundler
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 9
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 3
|
33
|
-
version: "1.3"
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.3'
|
34
20
|
type: :development
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: rake
|
38
21
|
prerelease: false
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.3'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0.9'
|
49
34
|
type: :development
|
50
|
-
version_requirements: *id002
|
51
|
-
- !ruby/object:Gem::Dependency
|
52
|
-
name: rails
|
53
35
|
prerelease: false
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0.9'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rails
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '4.0'
|
64
48
|
type: :runtime
|
65
|
-
version_requirements: *id003
|
66
|
-
- !ruby/object:Gem::Dependency
|
67
|
-
name: pg
|
68
49
|
prerelease: false
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '4.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: pg
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
78
62
|
type: :runtime
|
79
|
-
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
80
69
|
description: Tools for importing data from raw files
|
81
|
-
email:
|
70
|
+
email:
|
82
71
|
- minhnghivn@gmail.com
|
83
|
-
executables:
|
72
|
+
executables:
|
84
73
|
- iload
|
85
74
|
- ieval
|
86
75
|
- ipatch
|
@@ -88,10 +77,8 @@ executables:
|
|
88
77
|
- iexport
|
89
78
|
- isanitize
|
90
79
|
extensions: []
|
91
|
-
|
92
80
|
extra_rdoc_files: []
|
93
|
-
|
94
|
-
files:
|
81
|
+
files:
|
95
82
|
- .gitignore
|
96
83
|
- Gemfile
|
97
84
|
- LICENSE.txt
|
@@ -107,39 +94,28 @@ files:
|
|
107
94
|
- idata.gemspec
|
108
95
|
- lib/idata.rb
|
109
96
|
- lib/idata/version.rb
|
110
|
-
|
111
|
-
|
112
|
-
licenses:
|
97
|
+
homepage: ''
|
98
|
+
licenses:
|
113
99
|
- MIT
|
100
|
+
metadata: {}
|
114
101
|
post_install_message:
|
115
102
|
rdoc_options: []
|
116
|
-
|
117
|
-
require_paths:
|
103
|
+
require_paths:
|
118
104
|
- lib
|
119
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
none: false
|
130
|
-
requirements:
|
131
|
-
- - ">="
|
132
|
-
- !ruby/object:Gem::Version
|
133
|
-
hash: 3
|
134
|
-
segments:
|
135
|
-
- 0
|
136
|
-
version: "0"
|
105
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
|
+
requirements:
|
112
|
+
- - '>='
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: '0'
|
137
115
|
requirements: []
|
138
|
-
|
139
116
|
rubyforge_project:
|
140
|
-
rubygems_version:
|
117
|
+
rubygems_version: 2.2.1
|
141
118
|
signing_key:
|
142
|
-
specification_version:
|
119
|
+
specification_version: 4
|
143
120
|
summary: Tools for importing data from raw files
|
144
121
|
test_files: []
|
145
|
-
|