citysdk 0.1.1.2 → 0.1.1.3

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.
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=