crowdin-cli 0.0.20 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/bin/crowdin-cli CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  require 'crowdin-cli'
4
4
 
5
+ # GLI_DEBUG=true bundle exec bin/crowdin-cli
6
+
5
7
  # Return +hierarchy+ of directories and files in Crowdin project
6
8
  #
7
9
  # +files+ - basically, it's project files details from API method `project_info`
@@ -202,7 +204,7 @@ EOS
202
204
 
203
205
  if File.exist?("#{@base_path}#{file['source']}")
204
206
  dest_files << file['source']
205
- local_files << { dest: file['source'], source: "#{@base_path}#{file['source']}", export_pattern: file['translation'] }
207
+ local_file = { dest: file['source'], source: "#{@base_path}#{file['source']}", export_pattern: file['translation'] }
206
208
  else
207
209
  Dir.glob("#{@base_path}#{file['source']}").each do |source|
208
210
  dest = source.sub("#{@base_path}", '') # relative path in Crowdin
@@ -213,10 +215,16 @@ EOS
213
215
  diff = (dest.split('/') - file_pattern.split('/')).join('/')
214
216
  export_pattern = file['translation'].sub('**', diff)
215
217
 
216
- local_files << { dest: dest, source: source, export_pattern: export_pattern }
218
+ local_file = { dest: dest, source: source, export_pattern: export_pattern }
217
219
  end
218
220
 
219
221
  end # if
222
+
223
+ # Used only when uploading CSV file to define data columns mapping.
224
+ local_file.merge!({ sheme: file['scheme'] }) if file.has_key?('scheme')
225
+ local_file.merge!({ first_line_contains_header: file['first_line_contains_header'] }) if file.has_key?('first_line_contains_header')
226
+
227
+ local_files << local_file
220
228
  end # @config['files']
221
229
 
222
230
  if dest_files.empty?
@@ -245,7 +253,12 @@ EOS
245
253
  files_for_upload = local_files.select{ |file| update_files.include?(file[:dest]) }
246
254
  files_for_upload.each do |file|
247
255
  print "Updating file `#{file[:dest]}'"
248
- resp = @crowdin.update_file([] << file)
256
+
257
+ params = {}
258
+ params[:scheme] = file.delete(:sheme)
259
+ params[:first_line_contains_header] = file.delete(:first_line_contains_header)
260
+
261
+ resp = @crowdin.update_file([] << file, params)
249
262
  case resp['files'].first[1]
250
263
  when 'skipped'
251
264
  puts "\rUpdating file `#{file[:dest]}' - Skipped"
@@ -261,7 +274,12 @@ EOS
261
274
  files_for_add = local_files.select{ |file| add_files.include?(file[:dest]) }
262
275
  files_for_add.each do |file|
263
276
  print "Uploading file `#{file[:dest]}'"
264
- res = @crowdin.add_file([] << file)
277
+
278
+ params = {}
279
+ params[:scheme] = file.delete(:sheme)
280
+ params[:first_line_contains_header] = file.delete(:first_line_contains_header)
281
+
282
+ resp = @crowdin.add_file([] << file, params)
265
283
  puts "\rUploading file `#{file[:dest]}' - OK"
266
284
  end
267
285
 
@@ -1,5 +1,5 @@
1
1
  module Crowdin
2
2
  module CLI
3
- VERSION = '0.0.20'
3
+ VERSION = '0.1.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: crowdin-cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.20
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-12 00:00:00.000000000 Z
12
+ date: 2013-02-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
@@ -98,7 +98,7 @@ dependencies:
98
98
  requirements:
99
99
  - - ! '>='
100
100
  - !ruby/object:Gem::Version
101
- version: 0.0.8
101
+ version: 0.0.10
102
102
  type: :runtime
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
@@ -106,7 +106,7 @@ dependencies:
106
106
  requirements:
107
107
  - - ! '>='
108
108
  - !ruby/object:Gem::Version
109
- version: 0.0.8
109
+ version: 0.0.10
110
110
  description:
111
111
  email:
112
112
  - support@crowdin.net
@@ -142,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
142
  version: '0'
143
143
  requirements: []
144
144
  rubyforge_project:
145
- rubygems_version: 1.8.24
145
+ rubygems_version: 1.8.25
146
146
  signing_key:
147
147
  specification_version: 3
148
148
  summary: Crowdin CLI