get_pomo 0.8.1 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
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