inkmake 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/inkmake.rb +35 -28
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ca9c896579e7dd74d63c5f03efcebb6666e3049f6655004c7839be1d45925b6b
4
- data.tar.gz: d96de1bafece36491faee72746f3b6769d054c9f5a43d1342150d473161ec343
3
+ metadata.gz: e8f974d5799a2dad944fc34bc8ff9ee6357493f19166ccdf8baa93db3e76dac3
4
+ data.tar.gz: 03777d34d7aa798e57cb6f7a3ea55300284157c424636aa551ee6502eb9f4ddd
5
5
  SHA512:
6
- metadata.gz: 5557f546572722207bb1206cb57636bec0f77d86b8499bc5e42091c6e4409fe360fcfd8ebc7e622f92b156ccded91f971958f77333eebc695bfe1665e4f7b602
7
- data.tar.gz: 86575e60b47f87296960c0724675a2a4e776cfd8f7e6b6f4b02580e248d4675b63faac8bb05e9fe41c145407aa3e9a6017f329bfaeed4da1ee1e89a69780c65a
6
+ metadata.gz: ddf8cdeefbfbf3b7f3aff2cfcebfb48cc8f6916d96f56794fabec3470e9e382fa12eeb65c14a016aeb0c12406542ba98255d62c8c677979166f531abcf1cd5c7
7
+ data.tar.gz: f68bb1b2b9229aee3d8f64038dfcccf5ea615b2770115419e049741c9ce31b77ceefca1801afef005feae83f3a683ee1ff4f73d5db67d48827ded5754289b0cf
data/lib/inkmake.rb CHANGED
@@ -139,8 +139,26 @@ class Inkmake
139
139
  end
140
140
  end
141
141
 
142
- def open_shell
143
- @in, @out = open(["--shell"])
142
+ def response
143
+ if @inkscape_version == 0
144
+ o = @out.getc
145
+ if o == ">"
146
+ puts "1> #{o}" if Inkmake.verbose
147
+ return :prompt;
148
+ end
149
+ else
150
+ o = @out.getc + @out.getc
151
+ if o == "> "
152
+ puts "1> #{o}" if Inkmake.verbose
153
+ return :prompt;
154
+ end
155
+ end
156
+ o = o + @out.readline
157
+ puts "2> '#{o}'" if Inkmake.verbose
158
+ o
159
+ end
160
+
161
+ def wait_prompt
144
162
  loop do
145
163
  case response
146
164
  when :prompt then break
@@ -148,6 +166,11 @@ class Inkmake
148
166
  end
149
167
  end
150
168
 
169
+ def open_shell
170
+ @in, @out = open(["--shell"])
171
+ wait_prompt
172
+ end
173
+
151
174
  def command0(args)
152
175
  c = args.collect do |key, value|
153
176
  if value
@@ -174,25 +197,6 @@ class Inkmake
174
197
  @in.flush
175
198
  end
176
199
 
177
- def response
178
- if @inkscape_version == 0
179
- o = @out.read(1)
180
- if o == ">"
181
- puts "1> #{o}" if Inkmake.verbose
182
- return :prompt;
183
- end
184
- else
185
- o = @out.read(2)
186
- if o == "> "
187
- puts "1> #{o}" if Inkmake.verbose
188
- return :prompt;
189
- end
190
- end
191
- o = o + @out.readline
192
- puts "2> #{o}" if Inkmake.verbose
193
- o
194
- end
195
-
196
200
  def probe_inkscape_version
197
201
  _in, out = open(["--version"])
198
202
  version = 0
@@ -278,7 +282,7 @@ class Inkmake
278
282
  end
279
283
  c.each do |a|
280
284
  command1([a])
281
- response
285
+ wait_prompt
282
286
  end
283
287
 
284
288
  command1([["export-do"]])
@@ -292,7 +296,7 @@ class Inkmake
292
296
  end
293
297
  end
294
298
  command1([["file-close"]])
295
- response
299
+ wait_prompt
296
300
 
297
301
  [width, height]
298
302
  end
@@ -314,7 +318,7 @@ class Inkmake
314
318
  })
315
319
  else
316
320
  command1([["file-open", file]])
317
- response
321
+ wait_prompt
318
322
  command1([["query-all", file]])
319
323
  end
320
324
  loop do
@@ -325,7 +329,7 @@ class Inkmake
325
329
  end
326
330
  if @inkscape_version == 1 then
327
331
  command1([["file-close", file]])
328
- response
332
+ wait_prompt
329
333
  end
330
334
  ids
331
335
  end
@@ -360,7 +364,9 @@ class Inkmake
360
364
  (["/Applications/Inkscape.app/Contents/MacOS/inkscape",
361
365
  "/Applications/Inkscape.app/Contents/Resources/bin/inkscape",
362
366
  'c:\Program Files\Inkscape\inkscape.exe',
363
- 'c:\Program Files (x86)\Inkscape\inkscape.exe'] +
367
+ 'c:\Program Files\Inkscape\bin\inkscape.exe',
368
+ 'c:\Program Files (x86)\Inkscape\inkscape.exe',
369
+ 'c:\Program Files (x86)\Inkscape\bin\inkscape.exe'] +
364
370
  (ENV['PATH'].split(':').map {|p| File.join(p, "inkscape")}))
365
371
  .select do |path|
366
372
  File.exists? path
@@ -453,10 +459,11 @@ class Inkmake
453
459
 
454
460
  def parse_split_line(line)
455
461
  # changed CSV API in ruby 1.9
462
+ # - [nil] to remove empty fields
456
463
  if RUBY_VERSION.start_with? "1.8"
457
- CSV::parse_line(line, fs = " ")
464
+ CSV::parse_line(line, fs = " ") - [nil]
458
465
  else
459
- CSV::parse_line(line, **{:col_sep => " "})
466
+ CSV::parse_line(line, **{:col_sep => " "}) - [nil]
460
467
  end
461
468
  end
462
469
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inkmake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mattias Wadman
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-22 00:00:00.000000000 Z
11
+ date: 2021-08-30 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: mattias.wadman@gmail.com