cartocss_helper 4.0.0 → 4.1.0
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.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8d44210fbbf9317e53a5c01b2b91f9e121523995
|
4
|
+
data.tar.gz: 5a4e1209c655ad3168da06877fb77a1baf0d6f39
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 282ff9198c3c1d46c75d0a2b2bc4afb3426e9e2e5f22c01a9a5d51d5ca261da19c8653979af15ef5b72e5fd09de8a56a3c2347716a6c5e261fea6644df9d5071
|
7
|
+
data.tar.gz: 8fc86923dff9816152f56e1d4ba667a59e03f6bcdbe398904ae6f04406d3ce699b3a82c792be4698da35899d3203c970c2dd848495a80cea50e482161352ad1d
|
@@ -2,21 +2,23 @@ require_relative 'util/generic_cached_downloader.rb'
|
|
2
2
|
|
3
3
|
module CartoCSSHelper
|
4
4
|
class NotesDownloader
|
5
|
+
def self.cache_filename(lat, lon, range)
|
6
|
+
url = NotesDownloader.format_query_into_url(lat, lon, range)
|
7
|
+
return CartoCSSHelper::Configuration.get_path_to_folder_for_notes_api_cache + url.delete("/") + ".cache"
|
8
|
+
end
|
9
|
+
|
5
10
|
def self.run_note_query(lat, lon, range, invalidate_cache: false)
|
6
11
|
timeout = NotesDownloader.get_allowed_timeout_in_seconds
|
7
12
|
downloader = GenericCachedDownloader.new(timeout: timeout, stop_on_timeout: false)
|
8
|
-
|
13
|
+
file = cache_filename(lat, lon, range)
|
9
14
|
url = NotesDownloader.format_query_into_url(lat, lon, range)
|
10
|
-
|
11
|
-
return downloader.get_specified_resource(url, cache_filename, invalidate_cache: invalidate_cache)
|
15
|
+
return downloader.get_specified_resource(url, file, invalidate_cache: invalidate_cache)
|
12
16
|
end
|
13
17
|
|
14
18
|
def self.cache_timestamp(lat, lon, range)
|
15
19
|
downloader = GenericCachedDownloader.new
|
16
|
-
|
17
|
-
|
18
|
-
cache_filename = CartoCSSHelper::Configuration.get_path_to_folder_for_notes_api_cache + url.delete("/") + ".cache"
|
19
|
-
return downloader.get_cache_timestamp(cache_filename)
|
20
|
+
file = cache_filename(lat, lon, range)
|
21
|
+
return downloader.get_cache_timestamp(file)
|
20
22
|
end
|
21
23
|
|
22
24
|
def self.get_allowed_timeout_in_seconds
|
@@ -1,16 +1,28 @@
|
|
1
1
|
require_relative 'util/generic_downloader.rb'
|
2
2
|
require_relative 'util/generic_cached_downloader.rb'
|
3
3
|
require 'uri' # for URI.escape
|
4
|
+
require 'digest/sha1'
|
4
5
|
|
5
6
|
module CartoCSSHelper
|
6
7
|
class OverpassDownloader
|
7
8
|
class OverpassRefusedResponse < IOError; end
|
8
9
|
|
9
|
-
def self.
|
10
|
+
def self.cache_filename(query)
|
11
|
+
hash = Digest::SHA1.hexdigest query
|
12
|
+
query_cache_filename = CartoCSSHelper::Configuration.get_path_to_folder_for_overpass_cache + hash + '_query.cache'
|
13
|
+
return query_cache_filename
|
14
|
+
end
|
15
|
+
|
16
|
+
def self.cache_timestamp(query)
|
17
|
+
downloader = GenericCachedDownloader.new
|
18
|
+
return downloader.get_cache_timestamp(cache_filename(query))
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.run_overpass_query(query, description, invalidate_cache: false)
|
10
22
|
url = OverpassDownloader.format_query_into_url(query)
|
11
23
|
timeout = OverpassDownloader.get_allowed_timeout_in_seconds
|
12
24
|
downloader = GenericCachedDownloader.new(timeout: timeout, stop_on_timeout: false)
|
13
|
-
return downloader.get_specified_resource(url, cache_filename, description: description)
|
25
|
+
return downloader.get_specified_resource(url, cache_filename(query), description: description, invalidate_cache: invalidate_cache)
|
14
26
|
rescue RequestTimeout => e
|
15
27
|
puts 'Overpass API refused to process this request. It will be not attempted again, most likely query is too complex. It is also possible that Overpass servers are unavailable'
|
16
28
|
puts
|
@@ -3,6 +3,7 @@ require 'digest/sha1'
|
|
3
3
|
require 'sys/filesystem'
|
4
4
|
require_relative 'overpass_downloader.rb'
|
5
5
|
require_relative 'util/systemhelper.rb'
|
6
|
+
require_relative 'util/logger.rb'
|
6
7
|
|
7
8
|
module CartoCSSHelper
|
8
9
|
class OverpassQueryGenerator
|
@@ -48,7 +49,7 @@ module CartoCSSHelper
|
|
48
49
|
description = "download data for #{latitude} #{longitude} (#{size})"
|
49
50
|
get_overpass_query_results(query, description)
|
50
51
|
|
51
|
-
filename =
|
52
|
+
filename = OverpassDownloader.cache_filename(query)
|
52
53
|
return filename
|
53
54
|
end
|
54
55
|
|
@@ -184,7 +185,7 @@ module CartoCSSHelper
|
|
184
185
|
end
|
185
186
|
|
186
187
|
def self.get_query_cache_refused_response_filename(query)
|
187
|
-
return
|
188
|
+
return OverpassDownloader.cache_filename(query) + '_response_refused'
|
188
189
|
end
|
189
190
|
|
190
191
|
def self.mark_query_as_refused(query)
|
@@ -193,13 +194,12 @@ module CartoCSSHelper
|
|
193
194
|
file.close
|
194
195
|
end
|
195
196
|
|
196
|
-
def self.get_query_cache_filename(
|
197
|
-
|
198
|
-
|
199
|
-
return query_cache_filename
|
197
|
+
def self.get_query_cache_filename(_query)
|
198
|
+
Log.warn "call OverpassDownloader.cache_filename directly"
|
199
|
+
return OverpassDownloader.cache_filename
|
200
200
|
end
|
201
201
|
|
202
|
-
def self.get_overpass_query_results(query, description, debug = false)
|
202
|
+
def self.get_overpass_query_results(query, description, debug = false, invalidate_cache: false) # TODO: - make debug parameter named
|
203
203
|
if File.exist?(get_query_cache_refused_response_filename(query))
|
204
204
|
raise OverpassDownloader::OverpassRefusedResponse
|
205
205
|
end
|
@@ -207,14 +207,13 @@ module CartoCSSHelper
|
|
207
207
|
check_for_free_space
|
208
208
|
|
209
209
|
if debug
|
210
|
-
|
211
|
-
|
210
|
+
Log.info query
|
211
|
+
Log.info
|
212
212
|
end
|
213
213
|
|
214
|
-
cache_filename = get_query_cache_filename(query)
|
215
214
|
description = 'Running Overpass query (connection initiated on ' + Time.now.to_s + ') ' + description
|
216
215
|
begin
|
217
|
-
return OverpassDownloader.run_overpass_query query, description,
|
216
|
+
return OverpassDownloader.run_overpass_query query, description, invalidate_cache: invalidate_cache
|
218
217
|
rescue OverpassDownloader::OverpassRefusedResponse
|
219
218
|
mark_query_as_refused(query)
|
220
219
|
raise OverpassDownloader::OverpassRefusedResponse
|
@@ -237,6 +237,7 @@ module CartoCSSHelper
|
|
237
237
|
TagRenderingStatus.new('layer', '-4', :composite, { 'highway' => 'service' }), # modifies ordering
|
238
238
|
TagRenderingStatus.new('layer', '-5', :composite, { 'highway' => 'service' }), # modifies ordering
|
239
239
|
TagRenderingStatus.new('leisure', 'common', :primary),
|
240
|
+
TagRenderingStatus.new('leisure', 'dog_park', :primary),
|
240
241
|
TagRenderingStatus.new('leisure', 'garden', :primary),
|
241
242
|
TagRenderingStatus.new('leisure', 'golf_course', :primary),
|
242
243
|
TagRenderingStatus.new('leisure', 'marina', :primary),
|
@@ -261,6 +262,7 @@ module CartoCSSHelper
|
|
261
262
|
TagRenderingStatus.new('man_made', 'groyne', :primary),
|
262
263
|
TagRenderingStatus.new('man_made', 'lighthouse', :primary),
|
263
264
|
TagRenderingStatus.new('man_made', 'mast', :primary),
|
265
|
+
TagRenderingStatus.new('man_made', 'obelisk', :primary),
|
264
266
|
TagRenderingStatus.new('man_made', 'pier', :primary),
|
265
267
|
TagRenderingStatus.new('man_made', 'water_tower', :primary),
|
266
268
|
TagRenderingStatus.new('man_made', 'windmill', :primary),
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cartocss_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mateusz Konieczny
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|