citysdk 0.1.1.2 → 0.1.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2013 Waag Society
1
+ Copyright (c) 2013 Waag Society (http://waag.org)
2
2
 
3
3
  MIT License
4
4
 
data/lib/citysdk.rb CHANGED
@@ -4,6 +4,6 @@ require 'citysdk/file_reader.rb'
4
4
  require 'citysdk/importer.rb'
5
5
 
6
6
  module CitySDK
7
- VERSION = "0.1.1.2"
7
+ VERSION = "0.1.1.3"
8
8
  end
9
9
 
@@ -10,28 +10,33 @@ module CitySDK
10
10
 
11
11
  class FileReader
12
12
 
13
- RE_NAME = /(title|titel|naam|name)/i
14
- RE_A_NAME = /^(naam|name|title|titel)$/i
15
- RE_GEO = /^geom(etry)?|location|locatie$/i
16
13
  RE_Y = /lat|(y.*coord)|(y.*loc(atie|ation)?)/i
17
14
  RE_X = /lon|lng|(x.*coord)|(x.*loc(atie|ation)?)/i
15
+ RE_GEO = /^geom(etry)?|location|locatie$/i
16
+ RE_NAME = /(title|titel|naam|name)/i
17
+ RE_A_NAME = /^(naam|name|title|titel)$/i
18
18
 
19
19
  attr_reader :file, :content,:params
20
20
 
21
21
  def initialize(pars)
22
22
  @params = pars
23
23
  file_path = File.expand_path(@params[:file_path])
24
- case File.extname(file_path)
25
- when /\.zip/i
26
- readZip(file_path)
27
- when /\.(geo)?json/i
28
- readJSON(file_path)
29
- when /\.shape/i
30
- readShape(file_path)
31
- when /\.csv|tsv/i
32
- readCsv(file_path)
33
- when /\.csdk/i
24
+ if File.extname(file_path) == '.csdk'
34
25
  readCsdk(file_path)
26
+ else
27
+ ext = @params[:originalfile] ? File.extname(@params[:originalfile]) : File.extname(file_path)
28
+ case ext
29
+ when /\.zip/i
30
+ readZip(file_path)
31
+ when /\.(geo)?json/i
32
+ readJSON(file_path)
33
+ when /\.shape/i
34
+ readShape(file_path)
35
+ when /\.csv|tsv/i
36
+ readCsv(file_path)
37
+ when /\.csdk/i
38
+ readCsdk(file_path)
39
+ end
35
40
  end
36
41
 
37
42
  @params[:rowcount] = @content.length
@@ -1,7 +1,7 @@
1
1
  module CitySDK
2
2
 
3
3
  class Importer
4
- attr_reader :filereader, :api
4
+ attr_reader :filereader, :api, :params
5
5
 
6
6
  def initialize(pars)
7
7
  @params = pars
@@ -147,6 +147,10 @@ module CitySDK
147
147
  sign_in
148
148
  if @params[:unique_id] and @params[:match] and (@params[:hasgeometry] != 'unknown')
149
149
 
150
+ # puts ""
151
+ # puts "doImport... 1"
152
+ # puts ""
153
+
150
154
  match_tpl[:match][:params][:radius] = @params[:radius] || 200
151
155
  match_tpl[:match][:params][:geometry_type] = @params[:geometry_type] || :point
152
156
  @params[:match].each do |a|
@@ -157,10 +161,13 @@ module CitySDK
157
161
  nodes.each do |rec|
158
162
  node = {
159
163
  :geom => rec[:geometry],
160
- :id => rec[:properties][@params[:unique_id]]
164
+ :id => rec[:id]
161
165
  }
162
166
  node[:name] = rec[:properties][@params[:name]] if @params[:name]
163
167
  node[:data] = rec[:properties]
168
+
169
+ # puts JSON.pretty_generate(node)
170
+
164
171
  @api.match_create_node(node) if not dryrun
165
172
  count -= 1
166
173
  end
@@ -168,14 +175,22 @@ module CitySDK
168
175
 
169
176
  elsif @params[:unique_id] and (@params[:hasgeometry] != 'unknown')
170
177
 
178
+ # puts ""
179
+ # puts "doImport... 2"
180
+ # puts ""
181
+
171
182
  begin
172
183
  nodes.each do |rec|
184
+
173
185
  node = {
174
186
  :geom => rec[:geometry],
175
- :id => rec[:properties][@params[:unique_id]]
187
+ :id => rec[:id]
176
188
  }
177
189
  node[:name] = rec[:properties][@params[:name]] if @params[:name]
178
190
  node[:data] = rec[:properties]
191
+
192
+ # puts JSON.pretty_generate(node)
193
+
179
194
  @api.create_node(node) if not dryrun
180
195
  count -= 1
181
196
  end
@@ -202,10 +217,12 @@ module CitySDK
202
217
  sign_in
203
218
  @filereader.content.each do |rec|
204
219
  row = rec[:properties]
205
- pc = row[@params[:postcode]].downcase.gsub(/[^a-z0-9]/,'')
220
+
221
+ pc = row[@params[:postcode]]
206
222
  hn = row[@params[:housenumber]]
207
223
  qres = {}
208
224
  if not (pc.empty? or hn.empty?)
225
+ pc = pc.downcase.gsub(/[^a-z0-9]/,'')
209
226
  hn.scan(/\d+/).reverse.each { |n|
210
227
  qres = @api.get("/nodes?#{@params[:addresslayer]}::#{@params[:addressfield]}=#{pc + n}")
211
228
  break if qres[:status]=='success' and qres[:record_count].to_i >= 1
metadata CHANGED
@@ -1,18 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: citysdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1.2
4
+ version: 0.1.1.3
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Tom Demeyer
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-07-17 00:00:00.000000000 Z
12
+ date: 2013-07-19 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: dbf
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ! '>='
18
20
  - !ruby/object:Gem::Version
@@ -20,6 +22,7 @@ dependencies:
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
27
  - - ! '>='
25
28
  - !ruby/object:Gem::Version
@@ -27,6 +30,7 @@ dependencies:
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: georuby
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
35
  - - ! '>='
32
36
  - !ruby/object:Gem::Version
@@ -34,6 +38,7 @@ dependencies:
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
43
  - - ! '>='
39
44
  - !ruby/object:Gem::Version
@@ -41,6 +46,7 @@ dependencies:
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: faraday
43
48
  requirement: !ruby/object:Gem::Requirement
49
+ none: false
44
50
  requirements:
45
51
  - - ! '>='
46
52
  - !ruby/object:Gem::Version
@@ -48,6 +54,7 @@ dependencies:
48
54
  type: :runtime
49
55
  prerelease: false
50
56
  version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
51
58
  requirements:
52
59
  - - ! '>='
53
60
  - !ruby/object:Gem::Version
@@ -55,6 +62,7 @@ dependencies:
55
62
  - !ruby/object:Gem::Dependency
56
63
  name: charlock_holmes
57
64
  requirement: !ruby/object:Gem::Requirement
65
+ none: false
58
66
  requirements:
59
67
  - - ! '>='
60
68
  - !ruby/object:Gem::Version
@@ -62,6 +70,7 @@ dependencies:
62
70
  type: :runtime
63
71
  prerelease: false
64
72
  version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
65
74
  requirements:
66
75
  - - ! '>='
67
76
  - !ruby/object:Gem::Version
@@ -69,6 +78,7 @@ dependencies:
69
78
  - !ruby/object:Gem::Dependency
70
79
  name: rspec
71
80
  requirement: !ruby/object:Gem::Requirement
81
+ none: false
72
82
  requirements:
73
83
  - - ! '>='
74
84
  - !ruby/object:Gem::Version
@@ -76,6 +86,7 @@ dependencies:
76
86
  type: :development
77
87
  prerelease: false
78
88
  version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
79
90
  requirements:
80
91
  - - ! '>='
81
92
  - !ruby/object:Gem::Version
@@ -110,26 +121,27 @@ files:
110
121
  homepage: http://citysdk.waag.org
111
122
  licenses:
112
123
  - MIT
113
- metadata: {}
114
124
  post_install_message:
115
125
  rdoc_options: []
116
126
  require_paths:
117
127
  - lib
118
128
  required_ruby_version: !ruby/object:Gem::Requirement
129
+ none: false
119
130
  requirements:
120
131
  - - ! '>='
121
132
  - !ruby/object:Gem::Version
122
133
  version: '0'
123
134
  required_rubygems_version: !ruby/object:Gem::Requirement
135
+ none: false
124
136
  requirements:
125
137
  - - ! '>='
126
138
  - !ruby/object:Gem::Version
127
139
  version: '0'
128
140
  requirements: []
129
141
  rubyforge_project:
130
- rubygems_version: 2.0.5
142
+ rubygems_version: 1.8.25
131
143
  signing_key:
132
- specification_version: 4
144
+ specification_version: 3
133
145
  summary: Encapsulates the CitySDK api, provides high-level file import functionality.
134
146
  test_files:
135
147
  - spec/api_spec.rb
checksums.yaml DELETED
@@ -1,15 +0,0 @@
1
- ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ODc0NzYzYzU3NTQ1MTM0OTM0NjJlM2NhODJjZGNkODE0Yjk0NGJjZQ==
5
- data.tar.gz: !binary |-
6
- NmYyMTgxZGQzNWIzOGQwZjVhYzk2MWFmZWRlYWZhZDU1MTAyNWU1MQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- NjY4NmVkMzc2MDFkNDE2MTg4ZGY0MDBkNmI3OGMxYTBkOWM3MDZjYjBiMjRi
10
- YzBkZDMzN2U0MzllMDE2NjVmNjllZGYyOTM4MDVjZWNiNzQ3MmE3YjU0YjA1
11
- OGY4NjhkYmVkMTQ4ZTFmZTY0YzllZTdkNGQ0YTQ4OTBjNTAyZDY=
12
- data.tar.gz: !binary |-
13
- M2JkYTkyYmM2YWVlMWRjYTA5NmQ0YmJkN2VkMzFlMDU0MDMxMGZiM2RiMDY1
14
- MzhmZTJkMDQwMDA3MTBmYWQwOWUyNmUxODAxMjQzYzRlMjFhYzkxMzcxYmMy
15
- ZTc2ZmIzNjNlYzU5OTg5MGYzMWIwMzJmMjA2MmM3MmQ4YjQ3YjA=