cartocss_helper 5.2.0 → 5.4.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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 634b5d65247db080eaa42af98376b5a7cb4ccc1010f2421d75c27bb576b7f5be
|
4
|
+
data.tar.gz: a71513caa1fc04c73812d196f2264a1600dc0353508bfcbad21492ec49204ac9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9239b51f1ba4af1ca31335a42830a24b2665179fab325de4f8b4528952eb431c59c25ccd214dda6f95f8cf351deb0a351f79694158b0c861f7b11fda8c086747
|
7
|
+
data.tar.gz: 53da14cc0bc16e5d7ecfdb5d55b8207dfea929c8222b51df8f7c4366722c6614d35ba6d2f61b8bf29a544d71cadf9c4f4e78a06fded50755c255be976ceedfc2
|
@@ -42,8 +42,8 @@ module CartoCSSHelper
|
|
42
42
|
puts
|
43
43
|
puts url
|
44
44
|
puts
|
45
|
-
puts "url with %20 replaced back by spaces, %22 by \""
|
46
|
-
puts url.
|
45
|
+
puts "url with %20 replaced back by spaces, %22 by \", newline by %0A"
|
46
|
+
puts url.gsub("%20", " ").gsub("%22", '"').gsub("\n", "%0A")
|
47
47
|
puts
|
48
48
|
puts e
|
49
49
|
elsif e.http_code == 414
|
@@ -66,15 +66,14 @@ module CartoCSSHelper
|
|
66
66
|
query = query.gsub('\\', '\\\\')
|
67
67
|
|
68
68
|
# newlines, tabs added in query for readability may be safely deleted
|
69
|
-
query = query.delete("\n")
|
69
|
+
#query = query.delete("\n") - can be escaped! Results in nicer Overpass failures
|
70
70
|
query = query.delete("\t")
|
71
71
|
|
72
72
|
#query = URI.escape(query) # no escaping for / [add require 'uri' to use it]
|
73
73
|
#query = URI.escape(query, "/") # escapes only / [add require 'uri' to use it]
|
74
74
|
#query = CGI.escape(query) # escapes spaces to + sign
|
75
|
-
|
76
75
|
query = Addressable::URI.encode_component(query, Addressable::URI::CharacterClasses::QUERY)
|
77
|
-
|
76
|
+
query = query.gsub("/", "%2F") # escape slashes manually
|
78
77
|
|
79
78
|
# inside query also & and + must be escaped (entire query is an url parameter)
|
80
79
|
query = query.gsub("&", "%26")
|
@@ -33,35 +33,35 @@ module CartoCSSHelper
|
|
33
33
|
return "#{min_latitude},#{min_longitude},#{max_latitude},#{max_longitude}"
|
34
34
|
end
|
35
35
|
|
36
|
-
def self.find_data_pair(tags_a, tags_b, latitude, longitude, type_a, type_b, bb_size: 0.1, distance_in_meters: 20)
|
36
|
+
def self.find_data_pair(tags_a, tags_b, latitude, longitude, type_a, type_b, bb_size: 0.1, distance_in_meters: 20, invalidate_cache: false)
|
37
37
|
return nil, nil if bb_size > 0.5
|
38
38
|
bb = overpass_bbox_string(latitude, longitude, bb_size.to_f)
|
39
39
|
query = OverpassQueryGenerator.get_query_to_find_data_pair(bb, tags_a, tags_b, type_a, type_b, distance_in_meters: distance_in_meters)
|
40
40
|
description = "find #{VisualDiff.tag_dict_to_string(tags_a)} nearby #{VisualDiff.tag_dict_to_string(tags_b)} - bb size: #{bb_size}"
|
41
|
-
list = OverpassQueryGenerator.get_overpass_query_results(query, description)
|
41
|
+
list = OverpassQueryGenerator.get_overpass_query_results(query, description, invalidate_cache: invalidate_cache)
|
42
42
|
if list.length != 0
|
43
43
|
return OverpassQueryGenerator.list_returned_by_overpass_to_a_single_location(list)
|
44
44
|
end
|
45
45
|
return OverpassQueryGenerator.find_data_pair(tags_a, tags_b, latitude, longitude, type_a, type_b, bb_size: bb_size * 2, distance_in_meters: distance_in_meters)
|
46
46
|
end
|
47
47
|
|
48
|
-
def self.get_file_with_downloaded_osm_data_for_location(latitude, longitude, size)
|
48
|
+
def self.get_file_with_downloaded_osm_data_for_location(latitude, longitude, size, invalidate_cache: false)
|
49
49
|
query = get_query_to_download_data_around_location(latitude, longitude, size)
|
50
50
|
description = "download data for #{latitude} #{longitude} (#{size})"
|
51
|
-
get_overpass_query_results(query, description)
|
51
|
+
get_overpass_query_results(query, description, invalidate_cache: invalidate_cache)
|
52
52
|
|
53
53
|
filename = OverpassDownloader.cache_filename(query)
|
54
54
|
return filename
|
55
55
|
end
|
56
56
|
|
57
|
-
def self.download_osm_data_for_location(latitude, longitude, size, accept_cache = true)
|
57
|
+
def self.download_osm_data_for_location(latitude, longitude, size, accept_cache = true) # TODO: conflict with invalidate_cache
|
58
58
|
filename = CartoCSSHelper::Configuration.get_path_to_folder_for_cache + "#{latitude} #{longitude} #{size}.osm"
|
59
59
|
if File.exist?(filename)
|
60
60
|
return filename if accept_cache
|
61
61
|
SystemHelper.delete_file(filename, 'query refusing to accept cache was used')
|
62
62
|
end
|
63
63
|
query = get_query_to_download_data_around_location(latitude, longitude, size)
|
64
|
-
text = get_overpass_query_results(query, "download data for #{latitude} #{longitude} (#{size})")
|
64
|
+
text = get_overpass_query_results(query, "download data for #{latitude} #{longitude} (#{size})", invalidate_cache: false)
|
65
65
|
File.new(filename, 'w') do |file|
|
66
66
|
file.write text
|
67
67
|
end
|
@@ -85,17 +85,17 @@ module CartoCSSHelper
|
|
85
85
|
return query
|
86
86
|
end
|
87
87
|
|
88
|
-
def self.get_elements_near_given_location(tags, type, latitude, longitude, range_in_meters)
|
88
|
+
def self.get_elements_near_given_location(tags, type, latitude, longitude, range_in_meters, invalidate_cache: false)
|
89
89
|
description = "find #{tags} #{type} within #{range_in_meters / 1000}km from #{latitude}, #{longitude}"
|
90
90
|
query = OverpassQueryGenerator.get_query_to_get_location(tags, type, latitude, longitude, range_in_meters)
|
91
|
-
list = OverpassQueryGenerator.get_overpass_query_results(query, description)
|
91
|
+
list = OverpassQueryGenerator.get_overpass_query_results(query, description, invalidate_cache: invalidate_cache)
|
92
92
|
return list_returned_by_overpass_to_array(list)
|
93
93
|
end
|
94
94
|
|
95
|
-
def self.get_elements_across_world(tags, type)
|
95
|
+
def self.get_elements_across_world(tags, type, invalidate_cache: false)
|
96
96
|
description = "find #{tags} #{type} across the world"
|
97
97
|
query = OverpassQueryGenerator.get_query_to_get_location(tags, type, 0, 0, :infinity)
|
98
|
-
list = OverpassQueryGenerator.get_overpass_query_results(query, description)
|
98
|
+
list = OverpassQueryGenerator.get_overpass_query_results(query, description, invalidate_cache: invalidate_cache)
|
99
99
|
return list_returned_by_overpass_to_array(list)
|
100
100
|
end
|
101
101
|
|
@@ -190,7 +190,7 @@ module CartoCSSHelper
|
|
190
190
|
end
|
191
191
|
|
192
192
|
def self.overpass_escape(text)
|
193
|
-
return text.gsub("\\", "\\\\\\").gsub("'", "\\\\'")
|
193
|
+
return text.gsub("\\", "\\\\\\").gsub("'", "\\\\'").gsub('"', '\\\\"')
|
194
194
|
end
|
195
195
|
|
196
196
|
def self.turn_tag_into_overpass_filter(tag)
|
@@ -245,6 +245,8 @@ module CartoCSSHelper
|
|
245
245
|
|
246
246
|
def self.get_overpass_query_results(query, description, debug = false, invalidate_cache: false) # TODO: - make debug parameter named
|
247
247
|
if File.exist?(get_query_cache_refused_response_filename(query))
|
248
|
+
puts("response cached as failed")
|
249
|
+
puts(get_query_cache_refused_response_filename(query))
|
248
250
|
raise OverpassDownloader::OverpassRefusedResponse
|
249
251
|
end
|
250
252
|
|
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: 5.
|
4
|
+
version: 5.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mateusz Konieczny
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rest-client
|
@@ -50,14 +50,14 @@ dependencies:
|
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
53
|
+
version: '6.0'
|
54
54
|
type: :runtime
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '
|
60
|
+
version: '6.0'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: ruby-progressbar
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -187,7 +187,7 @@ homepage: https://github.com/matkoniecz/CartoCSSHelper
|
|
187
187
|
licenses:
|
188
188
|
- CC0
|
189
189
|
metadata: {}
|
190
|
-
post_install_message:
|
190
|
+
post_install_message:
|
191
191
|
rdoc_options: []
|
192
192
|
require_paths:
|
193
193
|
- lib
|
@@ -202,8 +202,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
202
202
|
- !ruby/object:Gem::Version
|
203
203
|
version: 1.8.23
|
204
204
|
requirements: []
|
205
|
-
rubygems_version: 3.
|
206
|
-
signing_key:
|
205
|
+
rubygems_version: 3.4.20
|
206
|
+
signing_key:
|
207
207
|
specification_version: 4
|
208
208
|
summary: Tool to make development of CartoCSS styles more efficient.
|
209
209
|
test_files: []
|