get_pomo 0.8.1 → 0.9.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: 5dfb3605a381f45a3b9e031d2938d9e26bebcc67
4
- data.tar.gz: 7e6b8818a926db276d8c882a6144861a89767bbe
3
+ metadata.gz: 10ce7fafc6ac3513491f6cc7966a018a6418b890
4
+ data.tar.gz: 718ce80076413a166985cd2cb2bfa41420425c32
5
5
  SHA512:
6
- metadata.gz: 045d16e511a1ec0500e8ecabd03a0f9cddf107cba8970465566eef542dfab5784d8975b33659ca95ff1eb0a6e9dd47a0e6c0801b3bfd94d5c957e70f29cf4632
7
- data.tar.gz: e5fc4ebecfa88511793611818a12702c2f16b5b16c79a96f353bd25e754622c378d6b6f3ac5f528361e1053497bd404df1698cebe6864f0be0a77dac602f09fe
6
+ metadata.gz: 811c853026cbf5a06edc89cc204f275b7380afc7a7946a70dc69afe94c31c1fb2b3ec8eb46ef2e8999f49433675012cd44391f19821166595dcfc8ccfb6f681e
7
+ data.tar.gz: 681fc7e7d3407e1127a5043a2488aa55c070f4d12a7ca60c382996f214a25d531cb4f4c655a02f2b3f017a6420e55abd9f5d2ee585045cef987857e7f179d97e
@@ -33,7 +33,7 @@ module GetPomo
33
33
  default_options = {:parse_obsoletes => false}
34
34
  @options.merge!(default_options.merge(options))
35
35
  start_new_translation
36
- text.gsub!(/^#{"\357\273\277"}/, "") #remove boom
36
+ text.sub!(/^#{"\357\273\277"}/, "") #remove bom (utf8 byte order mark)
37
37
  text.split(/$/).each_with_index do |line,index|
38
38
  @line_number = index + 1
39
39
  next if line.empty?
@@ -1,3 +1,3 @@
1
1
  module GetPomo
2
- VERSION = "0.8.1"
2
+ VERSION = "0.9.0"
3
3
  end
@@ -20,6 +20,7 @@
20
20
 
21
21
  begin
22
22
  require 'iconv'
23
+ GetPomo::Iconv = Iconv
23
24
  rescue LoadError
24
25
  # Provides Iconv.iconv which normally is provided through Ruby/GLib(1) functions.
25
26
  # This library is required for 'gettext'.
@@ -34,7 +35,7 @@ rescue LoadError
34
35
  # You can get binaries for Win32(One-Click Ruby Installer).
35
36
  # <URL: http://ruby-gnome2.sourceforge.jp/>
36
37
  module GetPomo
37
- class Iconv2
38
+ class Iconv
38
39
  module Failure; end
39
40
  class InvalidEncoding < ArgumentError; include Failure; end
40
41
  class IllegalSequence < ArgumentError; include Failure; end
@@ -15,12 +15,8 @@
15
15
  $Id: mo.rb,v 1.10 2008/06/17 16:40:52 mutoh Exp $
16
16
  =end
17
17
 
18
- require File.join(File.dirname(__FILE__),'iconv')
19
18
  require 'stringio'
20
19
 
21
- #Modifications:
22
- # use Iconv or FastGettext::Icvon
23
-
24
20
  module GetPomo
25
21
  module GetText
26
22
  class MOFile < Hash
@@ -46,8 +42,12 @@ module GetPomo
46
42
  :trans_sysdep_tab_offset
47
43
  end
48
44
 
49
- MAGIC_BIG_ENDIAN = "\x95\x04\x12\xde"
45
+ MAGIC_BIG_ENDIAN = "\x95\x04\x12\xde"
50
46
  MAGIC_LITTLE_ENDIAN = "\xde\x12\x04\x95"
47
+ if "".respond_to?(:force_encoding)
48
+ MAGIC_BIG_ENDIAN.force_encoding("ASCII-8BIT")
49
+ MAGIC_LITTLE_ENDIAN.force_encoding("ASCII-8BIT")
50
+ end
51
51
 
52
52
  def self.open(arg = nil, output_charset = nil)
53
53
  result = self.new(output_charset)
@@ -149,18 +149,9 @@ module GetPomo
149
149
  @plural = "0" unless @plural
150
150
  end
151
151
  else
152
- if @output_charset
153
- begin
154
- iconv = Iconv || FastGettext::Iconv
155
- str = iconv.conv(@output_charset, @charset, str) if @charset
156
- rescue iconv::Failure
157
- if $DEBUG
158
- warn "@charset = ", @charset
159
- warn"@output_charset = ", @output_charset
160
- warn "msgid = ", original_strings[i]
161
- warn "msgstr = ", str
162
- end
163
- end
152
+ if @charset and @output_charset
153
+ str = convert_encoding(str, original_strings[i])
154
+ original_strings[i] = convert_encoding(original_strings[i], original_strings[i])
164
155
  end
165
156
  end
166
157
  self[original_strings[i]] = str.freeze
@@ -168,21 +159,26 @@ module GetPomo
168
159
  self
169
160
  end
170
161
 
162
+
163
+
171
164
  # Is this number a prime number ?
172
165
  # http://apidock.com/ruby/Prime
173
166
  def prime?(number)
174
167
  ('1' * number) !~ /^1?$|^(11+?)\1+$/
175
168
  end
176
169
 
177
- def next_prime(seed)
178
- require 'mathn'
179
- prime = if RUBY_VERSION > "1.9.0"
180
- Prime::EratosthenesGenerator.new
181
- else
182
- Prime.new
170
+ begin
171
+ require 'prime'
172
+ def next_prime(seed)
173
+ Prime.instance.find{|x| x > seed }
183
174
  end
184
- while current = prime.succ
185
- return current if current > seed
175
+ rescue LoadError
176
+ def next_prime(seed)
177
+ require 'mathn'
178
+ prime = Prime.new
179
+ while current = prime.succ
180
+ return current if current > seed
181
+ end
186
182
  end
187
183
  end
188
184
 
@@ -232,17 +228,17 @@ module GetPomo
232
228
 
233
229
  orig_table_data = Array.new()
234
230
  ary.each{|item, _|
235
- orig_table_data.push(item.size)
231
+ orig_table_data.push(item.bytesize)
236
232
  orig_table_data.push(pos)
237
- pos += item.size + 1 # +1 is <NUL>
233
+ pos += item.bytesize + 1 # +1 is <NUL>
238
234
  }
239
235
  io.write(orig_table_data.pack('V*'))
240
236
 
241
237
  trans_table_data = Array.new()
242
238
  ary.each{|_, item|
243
- trans_table_data.push(item.size)
239
+ trans_table_data.push(item.bytesize)
244
240
  trans_table_data.push(pos)
245
- pos += item.size + 1 # +1 is <NUL>
241
+ pos += item.bytesize + 1 # +1 is <NUL>
246
242
  }
247
243
  io.write(trans_table_data.pack('V*'))
248
244
 
@@ -295,6 +291,39 @@ module GetPomo
295
291
 
296
292
  attr_accessor :little_endian, :path, :last_modified
297
293
  attr_reader :charset, :nplurals, :plural
294
+
295
+ private
296
+ if "".respond_to?(:encode)
297
+ def convert_encoding(string, original_string)
298
+ begin
299
+ string.encode(@output_charset, @charset)
300
+ rescue EncodingError
301
+ if $DEBUG
302
+ warn "@charset = ", @charset
303
+ warn "@output_charset = ", @output_charset
304
+ warn "msgid = ", original_string
305
+ warn "msgstr = ", string
306
+ end
307
+ string
308
+ end
309
+ end
310
+ else
311
+
312
+ require File.expand_path('iconv.rb', File.dirname(__FILE__))
313
+ def convert_encoding(string, original_string)
314
+ begin
315
+
316
+ str = GetPomo::Iconv.conv(@output_charset, @charset, string)
317
+ rescue GetPomo::Iconv::Failure
318
+ if $DEBUG
319
+ warn "@charset = ", @charset
320
+ warn "@output_charset = ", @output_charset
321
+ warn "msgid = ", original_string
322
+ warn "msgstr = ", str
323
+ end
324
+ end
325
+ end
326
+ end
298
327
  end
299
328
  end
300
329
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: get_pomo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.1
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-04 00:00:00.000000000 Z
11
+ date: 2014-09-05 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: michael@grosser.it