phrase 0.4.30 → 0.4.31

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: 4610d2b16754898951af9e7b984c02724b7780c9
4
- data.tar.gz: b0db3cb180fd1287a5bc53c41116bea8114ae1ac
3
+ metadata.gz: bf0b86279fd6eb155d420c6f6e1eb484721f89f5
4
+ data.tar.gz: 4ab2fdd122f8a275df89fb76f020a48772cb631c
5
5
  SHA512:
6
- metadata.gz: 27da26a47c96c14dd9163323f6f9510b56037859e2173a2d745cafae425a25b2381ec1941aeeae07c2ae2f2919f14a1d485eb4ab8dd51b2befc84155a3c7bd99
7
- data.tar.gz: 8265181ee1f9086b2e92eac7afc1b72a5b4e4c1a55e4e5ad1ac107f7c97d2145299678271a354d15523d6dd2d29598477290a798eb8b2bb96b2b4dc15fde8d61
6
+ metadata.gz: 169aeda0534c724f894cbbd03f6e08292da3e96fa3f9f1aee4bfa7c900e1098330a577b9383606b632f9988d5992189bda3b28d5035cfc2de5c95eacfc2c7b0f
7
+ data.tar.gz: 457868e5efae4cf27f2e3e240776b5b5e224f3f1e834447c4200926deee552cecb1c3334b4f20a3f85b7f17c14c292dc4b9e247f3f1d649731d9e49e61c92459
@@ -132,22 +132,23 @@ module Phrase
132
132
  custom_filename || handler.filename_for_locale(locale)
133
133
  end
134
134
 
135
- def self.file_format_exposes_locale?(file_path)
136
- format = guess_possible_file_format_from_file_path(file_path)
135
+ def self.file_format_exposes_locale?(file_path, format_name=nil)
136
+ format = format_name || guess_possible_file_format_from_file_path(file_path)
137
137
  format.nil? ? false : handler_class_for_format(format).locale_aware?
138
138
  end
139
139
 
140
- def self.detect_locale_name_from_file_path(file_path)
141
- format = guess_possible_file_format_from_file_path(file_path)
140
+ def self.detect_locale_name_from_file_path(file_path, format_name=nil)
141
+ format = format_name || guess_possible_file_format_from_file_path(file_path)
142
142
  format.nil? ? nil : handler_class_for_format(format).extract_locale_name_from_file_path(file_path)
143
143
  end
144
144
 
145
- def self.format_valid?(format)
146
- if format.present? then
147
- format_handler = handler_class_for_format(format)
148
- return format_handler.renders_locale_as_extension? if format_handler.present?
145
+ def self.format_renders_locale_as_extension?(format)
146
+ if format.present?
147
+ format_class = handler_class_for_format(format)
148
+ format_class.renders_locale_as_extension?
149
+ else
150
+ false
149
151
  end
150
- false
151
152
  end
152
153
 
153
154
  def self.handler_class_for_format(format_name)
@@ -7,7 +7,6 @@ class Phrase::Tool::Commands::Push < Phrase::Tool::Commands::Base
7
7
  def initialize(options, args)
8
8
  super(options, args)
9
9
  require_auth_token!
10
-
11
10
  @file_names = @args[1..-1]
12
11
  @locale = @options.get(:locale)
13
12
  @format = @options.get(:format)
@@ -82,16 +81,15 @@ private
82
81
  end
83
82
 
84
83
  def upload_file(file)
85
- if file_valid?(file) or Phrase::Formats.format_valid?(@format) then
84
+ if file_valid?(file) or renders_locale_as_extension?(@format)
86
85
  begin
87
86
  tagged = " (tagged: #{@tags.join(", ")})" if @tags.size > 0
88
87
  print_message "Uploading #{file}#{tagged}..."
89
- unless force_use_of_default_locale?(file)
90
- locale = detect_locale_name_from_file_path(file)
88
+ if @locale.present?
89
+ locale = @locale
91
90
  else
92
- locale = Phrase::Tool::Locale.find_default_locale.try(:name)
91
+ locale = guess_locale_for_upload(file, @format)
93
92
  end
94
- locale = @locale if @locale
95
93
  api_client.upload(file, file_content(file), @tags, locale, @format, @update_translations, @skip_unverification, @skip_upload_tags, @convert_emoji)
96
94
  print_message "OK".green
97
95
  rescue Exception => e
@@ -109,10 +107,6 @@ private
109
107
  content
110
108
  end
111
109
 
112
- def force_use_of_default_locale?(file_path)
113
- not Phrase::Formats.file_format_exposes_locale?(file_path)
114
- end
115
-
116
110
  def utf16_to_utf8(string)
117
111
  string.encode("UTF-8", "UTF-16")
118
112
  end
@@ -121,6 +115,10 @@ private
121
115
  Phrase::Tool::EncodingDetector.file_seems_to_be_utf16?(file)
122
116
  end
123
117
 
118
+ def renders_locale_as_extension?(format_name)
119
+ Phrase::Formats.format_renders_locale_as_extension?(format_name)
120
+ end
121
+
124
122
  def file_valid?(filepath)
125
123
  extension = filepath.split('.').last
126
124
  allowed_file_extensions.include?(extension)
@@ -130,6 +128,23 @@ private
130
128
  File.exist?(file)
131
129
  end
132
130
 
131
+ def guess_locale_for_upload(file, format_name=nil)
132
+ if file_format_exposes_locale?(file, format_name)
133
+ locale = detect_locale_name_from_file_path(file, format_name)
134
+ else
135
+ locale = Phrase::Tool::Locale.find_default_locale.try(:name)
136
+ end
137
+ locale
138
+ end
139
+
140
+ def file_format_exposes_locale?(file, format_name)
141
+ Phrase::Formats.file_format_exposes_locale?(file, format_name)
142
+ end
143
+
144
+ def detect_locale_name_from_file_path(file, format_name)
145
+ Phrase::Formats.detect_locale_name_from_file_path(file, format_name)
146
+ end
147
+
133
148
  def valid_tags_are_given?(tags)
134
149
  tags.all? { |tag| Phrase::Tool::TagValidator.valid?(tag) }
135
150
  end
@@ -138,10 +153,6 @@ private
138
153
  File.exist?(RAILS_DEFAULT_FOLDER) && File.directory?(RAILS_DEFAULT_FOLDER)
139
154
  end
140
155
 
141
- def detect_locale_name_from_file_path(file_path)
142
- Phrase::Formats.detect_locale_name_from_file_path(file_path)
143
- end
144
-
145
156
  def allowed_file_extensions
146
157
  extensions = []
147
158
  Phrase::Formats::SUPPORTED_FORMATS.each do |format, handler|
@@ -1,3 +1,3 @@
1
1
  module Phrase
2
- VERSION = "0.4.30"
2
+ VERSION = "0.4.31"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: phrase
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.30
4
+ version: 0.4.31
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dynport GmbH
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-06 00:00:00.000000000 Z
11
+ date: 2014-11-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: colorize