tf1_converter 0.6.2 → 0.7.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.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tf1_converter (0.6.2)
4
+ tf1_converter (0.7.0)
5
5
  builder (= 3.1.4)
6
6
  geo_swap (= 0.2.1)
7
7
  nokogiri (= 1.5.6)
data/README.md CHANGED
@@ -12,6 +12,6 @@
12
12
  gem install tf1_converter
13
13
 
14
14
 
15
- 4) add a config file to a convenient location (see example/config.yml)
15
+ 4) add a config file to a convenient location (see example/config.csv)
16
16
 
17
17
  5) edit the config file in WordPad or similar, make sure the paths match where your files are.
@@ -0,0 +1,55 @@
1
+ The path of the directory where you are putting gpx files
2
+ INPUT
3
+ input
4
+
5
+ The path of the directory where you are wanting the KML files
6
+ OUTPUT
7
+ output
8
+
9
+ The full path of the directory where your icons are stored
10
+ ICON_PATH
11
+ c:\program files\gpx2kml\icon\tf_ge\
12
+
13
+ START_PATH
14
+ c:\program files\gpx2kml\test
15
+
16
+ END_PATH
17
+ c:\program files\gpx2kml\test
18
+
19
+ Table of Icons (symbol/filename/meaning/custom_name)
20
+ ICONS
21
+ Custom 0,01.png,Search Start,icon_name_1
22
+ Custom 1,02.png,Search Stop,icon_name_2
23
+ Custom 2,03.png,Victim Detected,icon_name_3
24
+ Custom 3,04.png,Victim Confirmed,icon_name_4
25
+ Custom 4,05.png,Meaning 5,icon_name_5
26
+ Custom 5,06.png,Meaning 6,icon_name_6
27
+ Custom 6,07.png,Meaning 7,icon_name_7
28
+ Custom 7,08.png,Meaning 8,icon_name_8
29
+ Custom 8,09.png,Meaning 9,icon_name_9
30
+ Custom 9,10.png,Meaning 10,icon_name_10
31
+ Custom 10,11.png,Collection Point,icon_name_11
32
+ Custom 11,12.png,Meaning 12,icon_name_12
33
+ Custom 12,13.png,Command Post,icon_name_13
34
+ Custom 13,14.png,Staging Area,icon_name_14
35
+ Custom 14,15.png,Criminal Activity,icon_name_15
36
+ Custom 15,16.png,Meaning 16,icon_name_16
37
+ Custom 16,17.png,Water Level,icon_name_17
38
+ Custom 17,18.png,Structure Damage / Safe,icon_name_18
39
+ Custom 18,19.png,Meaning 19,icon_name_19
40
+ Custom 19,20.png,Structure Not Safe,icon_name_20
41
+ Custom 20,21.png,Extra 21,icon_name_21
42
+ Custom 21,22.png,Extra 22,icon_name_22
43
+ Custom 22,23.png,Extra 23,icon_name_23
44
+ Residence,default.png,Default,icon_name_24
45
+
46
+ Table of Colors (Name/KML Hex)
47
+ COLORS
48
+ DarkRed,f0000080
49
+ Yellow,f000ffff
50
+ Blue,f0ff0000
51
+ Red,f01400ff
52
+ Orange,f014b4ff
53
+ Green,f000b414
54
+ Purple,f0ff7878
55
+ Pink,f0ff78f0
@@ -0,0 +1,55 @@
1
+ The path of the directory where you are putting gpx files
2
+ INPUT
3
+ c:\Documents and Settings\FEMA\TF1Converter\Input
4
+
5
+ The path of the directory where you are wanting the KML files
6
+ OUTPUT
7
+ c:\Documents and Settings\FEMA\TF1Converter\Output
8
+
9
+ The full path of the directory where your icons are stored
10
+ ICON_PATH
11
+ c:\program files\gpx2kml\icon\tf_ge\
12
+
13
+ START_PATH
14
+ c:\program files\gpx2kml\test
15
+
16
+ END_PATH
17
+ c:\program files\gpx2kml\test
18
+
19
+ Table of Icons (symbol/filename/meaning/custom_name)
20
+ ICONS
21
+ Custom 0,01.png,Search Start,icon_name_1
22
+ Custom 1,02.png,Search Stop,icon_name_2
23
+ Custom 2,03.png,Victim Detected,icon_name_3
24
+ Custom 3,04.png,Victim Confirmed,icon_name_4
25
+ Custom 4,05.png,Meaning 5,icon_name_5
26
+ Custom 5,06.png,Meaning 6,icon_name_6
27
+ Custom 6,07.png,Meaning 7,icon_name_7
28
+ Custom 7,08.png,Meaning 8,icon_name_8
29
+ Custom 8,09.png,Meaning 9,icon_name_9
30
+ Custom 9,10.png,Meaning 10,icon_name_10
31
+ Custom 10,11.png,Collection Point,icon_name_11
32
+ Custom 11,12.png,Meaning 12,icon_name_12
33
+ Custom 12,13.png,Command Post,icon_name_13
34
+ Custom 13,14.png,Staging Area,icon_name_14
35
+ Custom 14,15.png,Criminal Activity,icon_name_15
36
+ Custom 15,16.png,Meaning 16,icon_name_16
37
+ Custom 16,17.png,Water Level,icon_name_17
38
+ Custom 17,18.png,Structure Damage / Safe,icon_name_18
39
+ Custom 18,19.png,Meaning 19,icon_name_19
40
+ Custom 19,20.png,Structure Not Safe,icon_name_20
41
+ Custom 20,21.png,Extra 21,icon_name_21
42
+ Custom 21,22.png,Extra 22,icon_name_22
43
+ Custom 22,23.png,Extra 23,icon_name_23
44
+ Residence,default.png,Default,icon_name_24
45
+
46
+ Table of Colors (Name/KML Hex)
47
+ COLORS
48
+ DarkRed,f0000080
49
+ Yellow,f000ffff
50
+ Blue,f0ff0000
51
+ Red,f01400ff
52
+ Orange,f014b4ff
53
+ Green,f000b414
54
+ Purple,f0ff7878
55
+ Pink,f0ff78f0
data/harness.rb CHANGED
@@ -9,5 +9,5 @@ require_relative './lib/tf1_converter'
9
9
 
10
10
  input = File.open('input/test.gpx', 'r')
11
11
  output = File.open('output/test.kml', 'w')
12
- TF1Converter::Config.load('example/config.yml')
12
+ TF1Converter::Config.load('example/config.csv')
13
13
  TF1Converter::Translation.from(input).into(output)
@@ -1,22 +1,57 @@
1
- require 'yaml'
1
+ require 'csv'
2
2
 
3
3
  module TF1Converter
4
4
  class Config
5
5
 
6
6
  def self.load(path)
7
- @config = YAML.load(File.open(path, 'r'))
7
+ last_key = nil
8
+ current_control = nil
9
+ CSV.read(path).each do |row|
10
+ if last_key == 'INPUT'
11
+ @input = row[0]
12
+ elsif last_key == 'OUTPUT'
13
+ @output = row[0]
14
+ elsif last_key == 'ICON_PATH'
15
+ @icon_path = row[0]
16
+ elsif last_key == 'START_PATH'
17
+ @start_path = row[0]
18
+ elsif last_key == 'END_PATH'
19
+ @end_path = row[0]
20
+ elsif last_key == 'ICONS'
21
+ @icons = {}
22
+ current_control = 'ICONS'
23
+ elsif last_key == 'COLORS'
24
+ @colors = {}
25
+ current_control = 'COLORS'
26
+ end
27
+
28
+ if current_control == 'ICONS'
29
+ if row.empty?
30
+ current_control = nil
31
+ else
32
+ @icons[row[0]] = {
33
+ 'icon' => row[1],
34
+ 'meaning' => row[2],
35
+ 'name' => row[3]
36
+ }
37
+ end
38
+ elsif current_control == 'COLORS'
39
+ if row.empty?
40
+ current_control = nil
41
+ else
42
+ @colors[row[0]] = row[1]
43
+ end
44
+ end
45
+
46
+ last_key = row[0]
47
+ end
8
48
  end
9
49
 
10
50
  %w(icon_path start_path end_path icons colors input output).each do |name|
11
51
  define_singleton_method(name.to_sym) do
12
- config[name]
52
+ instance_variable_get("@#{name}")
13
53
  end
14
54
  end
15
55
 
16
- private
17
- def self.config
18
- raise "NO CONFIG LOADED" unless @config
19
- @config['tf1_converter']
20
- end
21
56
  end
22
- end
57
+ end
@@ -1,3 +1,3 @@
1
1
  module TF1Converter
2
- VERSION = "0.6.2"
2
+ VERSION = "0.7.0"
3
3
  end
data/lib/tf1_converter.rb CHANGED
@@ -1,3 +1,3 @@
1
- require 'tf1_converter/config'
2
- require 'tf1_converter/version'
3
- require 'tf1_converter/translation'
1
+ require_relative 'tf1_converter/config'
2
+ require_relative 'tf1_converter/version'
3
+ require_relative 'tf1_converter/translation'
@@ -14,12 +14,13 @@ module TF1Converter
14
14
 
15
15
  let(:local_dir) { File.dirname(__FILE__) }
16
16
  let(:path) { File.expand_path('../../fixtures', local_dir) }
17
+ let(:config_file) { File.expand_path('../../../example/config.csv', local_dir) }
17
18
 
18
19
  it "translates a file correctly" do
19
20
  input = File.open("#{path}/test.gpx", 'r')
20
21
  output = File.open("#{path}/test.kml", 'w')
21
22
  expected = File.open("#{path}/expected.kml", 'r')
22
- TF1Converter::Config.load(File.expand_path('../../../example/config.yml', local_dir))
23
+ TF1Converter::Config.load(config_file)
23
24
  TF1Converter::Translation.from(input).into(output)
24
25
 
25
26
  result = File.open("#{path}/test.kml", 'r')
@@ -29,7 +30,7 @@ module TF1Converter
29
30
  it 'translates a tracks-only file' do
30
31
  input = File.open("#{path}/ftwood2.gpx", 'r')
31
32
  output = File.open("#{path}/ftwood2.kml", 'w')
32
- TF1Converter::Config.load(File.expand_path('../../../example/config.yml', local_dir))
33
+ TF1Converter::Config.load(config_file)
33
34
  #should not raise error
34
35
  TF1Converter::Translation.from(input).into(output)
35
36
  end
@@ -37,7 +38,7 @@ module TF1Converter
37
38
  it 'translates waypoints by name' do
38
39
  input = File.open("#{path}/waypoint-by-name.gpx", 'r')
39
40
  output = File.open("#{path}/waypoint-by-name.kml", 'w')
40
- TF1Converter::Config.load(File.expand_path('../../../example/config.yml', local_dir))
41
+ TF1Converter::Config.load(config_file)
41
42
  TF1Converter::Translation.from(input).into(output)
42
43
  result = File.open("#{path}/waypoint-by-name.kml", 'r')
43
44
  result.read.should_not =~ /default\.png/
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tf1_converter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.2
4
+ version: 0.7.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -154,8 +154,8 @@ files:
154
154
  - README.md
155
155
  - Rakefile
156
156
  - bin/tf1convert
157
- - example/config.yml
158
- - example/windowsconfig.yml
157
+ - example/config.csv
158
+ - example/windowsconfig.csv
159
159
  - harness.rb
160
160
  - input/test.gpx
161
161
  - lib/tf1_converter.rb
@@ -192,7 +192,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
192
192
  version: '0'
193
193
  segments:
194
194
  - 0
195
- hash: -1230242393901042739
195
+ hash: 2030161569308600368
196
196
  required_rubygems_version: !ruby/object:Gem::Requirement
197
197
  none: false
198
198
  requirements:
@@ -201,7 +201,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
201
201
  version: '0'
202
202
  segments:
203
203
  - 0
204
- hash: -1230242393901042739
204
+ hash: 2030161569308600368
205
205
  requirements: []
206
206
  rubyforge_project:
207
207
  rubygems_version: 1.8.23
data/example/config.yml DELETED
@@ -1,39 +0,0 @@
1
- tf1_converter:
2
- input: input
3
- output: output
4
- icon_path: c:\program files\gpx2kml\icon\tf_ge\
5
- start_path: c:\program files\gpx2kml\test
6
- end_path: c:\program files\gpx2kml\test
7
- icons: { Custom 0: { icon: 01.png, meaning: Search Start, name: icon_name_1 },
8
- Custom 1: { icon: 02.png, meaning: Search Stop, name: icon_name_2 },
9
- Custom 2: { icon: 03.png, meaning: Victim Detected, name: icon_name_3},
10
- Custom 3: { icon: 04.png, meaning: Victim Confirmed, name: icon_name_4},
11
- Custom 4: { icon: 05.png, meaning: Meaning 5, name: icon_name_5},
12
- Custom 5: { icon: 06.png, meaning: Meaning 6, name: icon_name_6},
13
- Custom 6: { icon: 07.png, meaning: Meaning 7, name: icon_name_7},
14
- Custom 7: { icon: 08.png, meaning: Meaning 8, name: icon_name_8},
15
- Custom 8: { icon: 09.png, meaning: Meaning 9, name: icon_name_9},
16
- Custom 9: { icon: 10.png, meaning: Meaning 10, name: icon_name_10},
17
- Custom 10: { icon: 11.png, meaning: Collection Point , name: icon_name_11},
18
- Custom 11: { icon: 12.png, meaning: Meaning 12, name: icon_name_12},
19
- Custom 12: { icon: 13.png, meaning: Command Post, name: icon_name_13 },
20
- Custom 13: { icon: 14.png, meaning: Staging Area, name: icon_name_14 },
21
- Custom 14: { icon: 15.png, meaning: Criminal Activity, name: icon_name_15 },
22
- Custom 15: { icon: 16.png, meaning: Meaning 16, name: icon_name_16 },
23
- Custom 16: { icon: 17.png, meaning: Water Level, name: icon_name_17 },
24
- Custom 17: { icon: 18.png, meaning: Structure Damage / Safe, name: icon_name_18 },
25
- Custom 18: { icon: 19.png, meaning: Meaning 19, name: icon_name_19 },
26
- Custom 19: { icon: 20.png, meaning: Structure Not Safe, name: icon_name_20 },
27
- Custom 20: { icon: 21.png, meaning: Extra 21, name: icon_name_21 },
28
- Custom 21: { icon: 22.png, meaning: Extra 22, name: icon_name_22 },
29
- Custom 22: { icon: 23.png, meaning: Extra 23, name: icon_name_23 },
30
- Residence: { icon: default.png, meaning: Default, name: icon_name_24 } }
31
- colors: { DarkRed: f0000080,
32
- Yellow: f000ffff,
33
- Blue: f0ff0000,
34
- Red: f01400ff,
35
- Orange: f014b4ff,
36
- Green: f000b414,
37
- Purple: f0ff7878,
38
- Pink: f0ff78f0 }
39
-
@@ -1,32 +0,0 @@
1
- tf1_converter:
2
- input: c:\Documents and Settings\FEMA\TF1Converter\Input
3
- output: c:\Documents and Settings\FEMA\TF1Converter\Output
4
- icon_path: c:\Program Files\GPX2KML\icon\tf_ge\
5
- start_path: c:\Program Files\GPX2KML\test
6
- end_path: c:\Program Files\GPX2KML\test
7
- icons: { Custom 0: { icon: 01.png, meaning: Search Start, name: name1 },
8
- Custom 1: { icon: 02.png, meaning: Search Stop, name: name2},
9
- Custom 2: { icon: 03.png, meaning: Victim Detected, name: name3},
10
- Custom 3: { icon: 04.png, meaning: Victim Confirmed, name: name4},
11
- Custom 4: { icon: 05.png, meaning: Meaning 5, name: name5},
12
- Custom 5: { icon: 06.png, meaning: Meaning 6, name: name6},
13
- Custom 6: { icon: 07.png, meaning: Meaning 7, name: name7},
14
- Custom 7: { icon: 08.png, meaning: Meaning 8, name: name8},
15
- Custom 8: { icon: 09.png, meaning: Meaning 9, name: name9},
16
- Custom 9: { icon: 10.png, meaning: Meaning 10, name: name10},
17
- Custom 10: { icon: 11.png, meaning: Collection Point, name: name11 },
18
- Custom 11: { icon: 12.png, meaning: Meaning 12, name: name12},
19
- Custom 12: { icon: 13.png, meaning: Command Post, name: name13 },
20
- Custom 13: { icon: 14.png, meaning: Staging Area, name: name14},
21
- Custom 14: { icon: 15.png, meaning: Criminal Activity, name: name15 },
22
- Custom 15: { icon: 16.png, meaning: Meaning 16, name: name16},
23
- Custom 16: { icon: 17.png, meaning: Water Level, name: name17},
24
- Custom 17: { icon: 18.png, meaning: Structure Damage / Safe, name: name18 },
25
- Custom 18: { icon: 19.png, meaning: Meaning 19, name: name19},
26
- Custom 19: { icon: 20.png, meaning: Structure Not Safe, name: name20 },
27
- Custom 20: { icon: 21.png, meaning: Extra 21, name: name21 },
28
- Custom 21: { icon: 22.png, meaning: Extra 22, name: name22 },
29
- Custom 22: { icon: 23.png, meaning: Extra 23, name: name23},
30
- Residence: { icon: default.png, meaning: Default, name: name24 } }
31
- colors: { DarkRed: f0000080,
32
- Yellow: f000ffff }