idata 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
|