idata 0.0.4 → 0.0.5

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