ofac 2.0.3 → 2.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b4231a00510f02e0977862b68342c649d6fb4bb1
4
- data.tar.gz: c1e925e264a27270bb5489e00db61bbe1b0cab65
3
+ metadata.gz: ddd5f199e084fcb682c6c60d792a5e5a422a2c8c
4
+ data.tar.gz: 626fc7b9518f0c637bc1afd137d5425033445634
5
5
  SHA512:
6
- metadata.gz: d759d63218ec21a859a3bc842579d3309e4beefd4c8183e5b6f2b420c19b5c77b616b2a685d2b83fabd500c8379ab76ae89dc8a1c646a8580fd8c1dcac1dc323
7
- data.tar.gz: 75487b39dd425c0ea46372f65239ac2e434bd6ae7f4db1e42e28f31a51c6a919034acd707db2c33e532aa9c87720efd38801027be2f9aa97251dfd6409778e9e
6
+ metadata.gz: c7f44b8c5124fdbc4cc2dc6ced138f74a77d5b7a09c494190e6c05a0796c417fd4369e8f5e8bf1d3918e25b06dd7eba5e09a9d69270a4903c30bbb2695614e23
7
+ data.tar.gz: 8dae00b23c77d145de925cd8977390bb1f28d10a3052383ffa5c05ff71fed68264490333dbf51ad110f2a6874a8fa07d5a1491074b6c226b2addd730ae6fd231
@@ -12,8 +12,6 @@ rescue Gem::LoadError, LoadError
12
12
  end
13
13
 
14
14
  class OfacSdnLoader
15
-
16
-
17
15
  #Loads the most recent file from http://www.treas.gov/offices/enforcement/ofac/sdn/delimit/index.shtml
18
16
  def self.load_current_sdn_file
19
17
  puts "Reloading OFAC sdn data"
@@ -22,7 +20,6 @@ class OfacSdnLoader
22
20
  #get the 3 data files
23
21
  sdn = Tempfile.new('sdn')
24
22
  uri = URI.parse('http://www.treasury.gov/ofac/downloads/sdn.pip')
25
-
26
23
  proxy_addr, proxy_port = ENV['http_proxy'].gsub("http://", "").split(/:/) if ENV['http_proxy']
27
24
 
28
25
  bytes = sdn.write(Net::HTTP::Proxy(proxy_addr, proxy_port).get(uri))
@@ -70,13 +67,13 @@ class OfacSdnLoader
70
67
  #and removes " chars.
71
68
  def self.clean_file_string(line)
72
69
  line.gsub!(/-0-(\s)?/, '')
73
- line.gsub!(/\n/, '')
74
- line.gsub(/\"/, '')
70
+ line.gsub!(/[\n\r"]/, '')
71
+ line
75
72
  end
76
73
 
77
74
  #split the line into an array
78
75
  def self.convert_line_to_array(line)
79
- clean_file_string(line).split('|') unless line.nil?
76
+ clean_file_string(line).split('|', -1) unless line.nil?
80
77
  end
81
78
 
82
79
  #return an 2 arrays of the records matching the sdn primary key
@@ -156,10 +153,7 @@ class OfacSdnLoader
156
153
  end
157
154
 
158
155
  def self.convert_hash_to_mysql_import_string(record_hash)
159
- # empty field for id to be generated by mysql.
160
- new_line = "``|" +
161
- # :name
162
- "`#{record_hash[:name]}`|" +
156
+ new_line = "`#{record_hash[:name]}`|" +
163
157
  # :sdn_type
164
158
  "`#{record_hash[:sdn_type]}`|" +
165
159
  # :program
@@ -195,9 +189,9 @@ class OfacSdnLoader
195
189
  # :alternate_identity_remarks
196
190
  "`#{record_hash[:alternate_identity_remarks]}`|" +
197
191
  #:created_at
198
- "`#{Time.now.to_s(:db)}`|" +
192
+ "`#{@db_time}`|" +
199
193
  # updated_at
200
- "`#{Time.now.to_s(:db)}`" + "\n"
194
+ "`#{@db_time}`" + "\n"
201
195
 
202
196
  new_line
203
197
  end
@@ -206,13 +200,14 @@ class OfacSdnLoader
206
200
  @address = address_file
207
201
  @alt = alt_file
208
202
 
203
+ @db_time = Time.now.to_s(:db)
204
+
209
205
  csv_file = Tempfile.new("ofac") # create temp file for converted csv format.
210
- #get the first line from the address and alt files
206
+ #get the first line from the address and alt files
211
207
  @current_address_hash = address_text_to_hash(@address.gets)
212
208
  @current_alt_hash = alt_text_to_hash(@alt.gets)
213
209
 
214
210
  start = Time.now
215
-
216
211
  sdn_file.each_with_index do |line, i|
217
212
 
218
213
  #initialize the address and alt atributes to empty strings
@@ -324,13 +319,13 @@ class OfacSdnLoader
324
319
  yield "Deleting all records in ofac_sdn..." if block_given?
325
320
 
326
321
  #OFAC data is a complete list, so we have to dump and load
327
- OfacSdn.delete_all
322
+ OfacSdn.connection.execute("TRUNCATE ofac_sdns;")
328
323
 
329
324
  puts "Importing into Mysql..."
330
325
  yield "Importing into Mysql..." if block_given?
331
326
 
332
327
  mysql_command = <<-TEXT
333
- LOAD DATA LOCAL INFILE '#{csv_file.path}' REPLACE INTO TABLE ofac_sdns FIELDS TERMINATED BY '|' ENCLOSED BY "`" LINES TERMINATED BY '\n';
328
+ LOAD DATA LOCAL INFILE '#{csv_file.path}' REPLACE INTO TABLE ofac_sdns FIELDS TERMINATED BY '|' ENCLOSED BY "`" LINES TERMINATED BY '\n' (name, sdn_type, program, title, vessel_call_sign, vessel_type, vessel_tonnage, gross_registered_tonnage, vessel_flag, vessel_owner, remarks, address, city, country, address_remarks, alternate_identity_type, alternate_identity_name, alternate_identity_remarks, created_at, updated_at);
334
329
  TEXT
335
330
 
336
331
  OfacSdn.connection.execute(mysql_command)
data/lib/ofac/version.rb CHANGED
@@ -1 +1 @@
1
- VERSION = '2.0.3'
1
+ VERSION = '2.0.4'
@@ -1,19 +1,19 @@
1
- ``|`ABASTECEDORA NAVAL Y INDUSTRIAL, S.A.`|``|`CUBA`|``|``|``|``|``|``|``|``|``|``|`Panama`|``|``|``|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
2
- ``|`ABDELNUR`|` Nury de Jesus`|`individual`|`CUBA`|``|``|``|``|``|``|``|``|``|`Panama`|``|`aka`|`VIAJES GUAMA TOURS`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
3
- ``|`HERNANDEZ, Oscar`|`individual`|`CUBA`|``|``|`Unknown vessel type`|``|``|``|`Acechilly Navigation Co., Malta`|``|`123 Somewhere Ln`|`Clearwater`|`United States`|``|`aka`|`HERNANDEZ, Oscar Grouch`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
4
- ``|`HERNANDEZ, Oscar`|`individual`|`CUBA`|``|``|`Unknown vessel type`|``|``|``|`Acechilly Navigation Co., Malta`|``|`123 Somewhere Ln`|`Clearwater`|`United States`|``|`aka`|`Alternate Name`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
5
- ``|`LOPEZ MENDEZ, Luis Eduardo`|`individual`|`CUBA`|``|``|`Unknown vessel type`|``|``|``|`Acefrosty Shipping Co., Malta`|``|``|``|``|``|``|``|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
6
- ``|`ACEFROSTY SHIPPING CO., LTD.`|``|`CUBA`|``|``|``|``|``|``|``|``|``|``|``|``|`aka`|`AVIA IMPORT`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
7
- ``|`AEROCARIBBEAN AIRLINES`|``|`CUBA`|``|``|``|``|``|``|``|``|``|``|``|``|`aka`|`BNC`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
8
- ``|`AEROCARIBBEAN AIRLINES`|``|`CUBA`|``|``|``|``|``|``|``|``|``|``|``|``|`aka`|`NATIONAL BANK OF CUBA`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
9
- ``|`AEROCARIBBEAN AIRLINES`|``|`CUBA`|``|``|``|``|``|``|``|``|``|``|``|``|`aka`|`BNC`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
10
- ``|`AEROTAXI EJECUTIVO, S.A.`|``|`CUBA`|``|``|``|``|``|``|``|``|``|`Managua`|`Nicaragua`|``|``|``|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
11
- ``|`AEROTAXI EJECUTIVO, S.A.`|``|`CUBA`|``|``|``|``|``|``|``|``|`Bal Harbour Shopping Center, Via Italia`|`Panama City`|`Panama`|``|``|``|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
12
- ``|`AGENCIA DE VIAJES GUAMA`|``|`CUBA`|``|``|``|``|``|``|``|``|`Avenida de Concha, Espina 8, E-28036`|`Madrid`|`Spain`|``|`aka`|`NATIONAL BANK OF CUBA`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
13
- ``|`AGENCIA DE VIAJES GUAMA`|``|`CUBA`|``|``|``|``|``|``|``|``|``|``|``|``|`aka`|`NATIONAL BANK OF CUBA`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
14
- ``|`AGUIAR, Raul`|`individual`|`CUBA`|`Director, Banco Nacional de Cuba`|``|``|``|``|``|``|`; Director, Banco Nacional de Cuba.`|``|``|`Italy`|``|`aka`|`BNC`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
15
- ``|`AGUIAR, Raul`|`individual`|`CUBA`|`Director, Banco Nacional de Cuba`|``|``|``|``|``|``|`; Director, Banco Nacional de Cuba.`|``|``|`Italy`|``|`aka`|`NATIONAL BANK OF CUBA`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
16
- ``|`AGUIAR, Raul`|`individual`|`CUBA`|`Director, Banco Nacional de Cuba`|``|``|``|``|``|``|`; Director, Banco Nacional de Cuba.`|``|``|`Panama`|``|`aka`|`BNC`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
17
- ``|`AGUIAR, Raul`|`individual`|`CUBA`|`Director, Banco Nacional de Cuba`|``|``|``|``|``|``|`; Director, Banco Nacional de Cuba.`|``|``|`Panama`|``|`aka`|`NATIONAL BANK OF CUBA`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
18
- ``|`AGUIAR, Raul`|`individual`|`CUBA`|`Director, Banco Nacional de Cuba`|``|``|``|``|``|``|`; Director, Banco Nacional de Cuba.`|`1840 West 49th Street`|``|`United States`|``|`aka`|`BNC`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
19
- ``|`AGUIAR, Raul`|`individual`|`CUBA`|`Director, Banco Nacional de Cuba`|``|``|``|``|``|``|`; Director, Banco Nacional de Cuba.`|`1840 West 49th Street`|``|`United States`|``|`aka`|`NATIONAL BANK OF CUBA`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
1
+ `ABASTECEDORA NAVAL Y INDUSTRIAL, S.A.`|``|`CUBA`|``|``|``|``|``|``|``|``|``|``|`Panama`|``|``|``|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
2
+ `ABDELNUR`|` Nury de Jesus`|`individual`|`CUBA`|``|``|``|``|``|``|``|``|``|`Panama`|``|`aka`|`VIAJES GUAMA TOURS`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
3
+ `HERNANDEZ, Oscar`|`individual`|`CUBA`|``|``|`Unknown vessel type`|``|``|``|`Acechilly Navigation Co., Malta`|``|`123 Somewhere Ln`|`Clearwater`|`United States`|``|`aka`|`HERNANDEZ, Oscar Grouch`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
4
+ `HERNANDEZ, Oscar`|`individual`|`CUBA`|``|``|`Unknown vessel type`|``|``|``|`Acechilly Navigation Co., Malta`|``|`123 Somewhere Ln`|`Clearwater`|`United States`|``|`aka`|`Alternate Name`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
5
+ `LOPEZ MENDEZ, Luis Eduardo`|`individual`|`CUBA`|``|``|`Unknown vessel type`|``|``|``|`Acefrosty Shipping Co., Malta`|``|``|``|``|``|``|``|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
6
+ `ACEFROSTY SHIPPING CO., LTD.`|``|`CUBA`|``|``|``|``|``|``|``|``|``|``|``|``|`aka`|`AVIA IMPORT`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
7
+ `AEROCARIBBEAN AIRLINES`|``|`CUBA`|``|``|``|``|``|``|``|``|``|``|``|``|`aka`|`BNC`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
8
+ `AEROCARIBBEAN AIRLINES`|``|`CUBA`|``|``|``|``|``|``|``|``|``|``|``|``|`aka`|`NATIONAL BANK OF CUBA`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
9
+ `AEROCARIBBEAN AIRLINES`|``|`CUBA`|``|``|``|``|``|``|``|``|``|``|``|``|`aka`|`BNC`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
10
+ `AEROTAXI EJECUTIVO, S.A.`|``|`CUBA`|``|``|``|``|``|``|``|``|``|`Managua`|`Nicaragua`|``|``|``|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
11
+ `AEROTAXI EJECUTIVO, S.A.`|``|`CUBA`|``|``|``|``|``|``|``|``|`Bal Harbour Shopping Center, Via Italia`|`Panama City`|`Panama`|``|``|``|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
12
+ `AGENCIA DE VIAJES GUAMA`|``|`CUBA`|``|``|``|``|``|``|``|``|`Avenida de Concha, Espina 8, E-28036`|`Madrid`|`Spain`|``|`aka`|`NATIONAL BANK OF CUBA`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
13
+ `AGENCIA DE VIAJES GUAMA`|``|`CUBA`|``|``|``|``|``|``|``|``|``|``|``|``|`aka`|`NATIONAL BANK OF CUBA`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
14
+ `AGUIAR, Raul`|`individual`|`CUBA`|`Director, Banco Nacional de Cuba`|``|``|``|``|``|``|`; Director, Banco Nacional de Cuba.`|``|``|`Italy`|``|`aka`|`BNC`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
15
+ `AGUIAR, Raul`|`individual`|`CUBA`|`Director, Banco Nacional de Cuba`|``|``|``|``|``|``|`; Director, Banco Nacional de Cuba.`|``|``|`Italy`|``|`aka`|`NATIONAL BANK OF CUBA`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
16
+ `AGUIAR, Raul`|`individual`|`CUBA`|`Director, Banco Nacional de Cuba`|``|``|``|``|``|``|`; Director, Banco Nacional de Cuba.`|``|``|`Panama`|``|`aka`|`BNC`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
17
+ `AGUIAR, Raul`|`individual`|`CUBA`|`Director, Banco Nacional de Cuba`|``|``|``|``|``|``|`; Director, Banco Nacional de Cuba.`|``|``|`Panama`|``|`aka`|`NATIONAL BANK OF CUBA`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
18
+ `AGUIAR, Raul`|`individual`|`CUBA`|`Director, Banco Nacional de Cuba`|``|``|``|``|``|``|`; Director, Banco Nacional de Cuba.`|`1840 West 49th Street`|``|`United States`|``|`aka`|`BNC`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
19
+ `AGUIAR, Raul`|`individual`|`CUBA`|`Director, Banco Nacional de Cuba`|``|``|``|``|``|``|`; Director, Banco Nacional de Cuba.`|`1840 West 49th Street`|``|`United States`|``|`aka`|`NATIONAL BANK OF CUBA`|``|`2009-05-06 15:55:24`|`2009-05-06 15:55:24`
@@ -30,7 +30,7 @@ class OfacSdnLoaderTest < Test::Unit::TestCase
30
30
  csv_line = generated_file[i]
31
31
  correctly_formatted_record_array = line.split('|')
32
32
  csv_record_array = csv_line.split('|')
33
- (0..18).each do |i| #skip indices 19 and 20, they are the created_at and updated_at fields, they will never match.
33
+ (0..17).each do |i| #skip indices 19 and 20, they are the created_at and updated_at fields, they will never match.
34
34
  assert_equal correctly_formatted_record_array[i], csv_record_array[i]
35
35
  end
36
36
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ofac
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.3
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Tyll
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-05 00:00:00.000000000 Z
11
+ date: 2014-03-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails