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.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/bin/iload +15 -4
  3. data/lib/idata/version.rb +1 -1
  4. 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, quote_char: "\b") do |csv|
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 = "drop table if exists #{$options[:table]}; create table #{$options[:table]}( id serial not null, #{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
@@ -1,3 +1,3 @@
1
1
  module Idata
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
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
- hash: 23
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
- date: 2014-04-22 00:00:00 +07:00
19
- default_executable:
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
- prerelease: false
24
- requirement: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
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
- requirement: &id002 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 25
45
- segments:
46
- - 0
47
- - 9
48
- version: "0.9"
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
- requirement: &id003 !ruby/object:Gem::Requirement
55
- none: false
56
- requirements:
57
- - - ">="
58
- - !ruby/object:Gem::Version
59
- hash: 27
60
- segments:
61
- - 4
62
- - 0
63
- version: "4.0"
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
- requirement: &id004 !ruby/object:Gem::Requirement
70
- none: false
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- hash: 3
75
- segments:
76
- - 0
77
- version: "0"
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
- version_requirements: *id004
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
- has_rdoc: true
111
- homepage: ""
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
- none: false
121
- requirements:
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- hash: 3
125
- segments:
126
- - 0
127
- version: "0"
128
- required_rubygems_version: !ruby/object:Gem::Requirement
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: 1.3.7
117
+ rubygems_version: 2.2.1
141
118
  signing_key:
142
- specification_version: 3
119
+ specification_version: 4
143
120
  summary: Tools for importing data from raw files
144
121
  test_files: []
145
-