bin/crowdin-cli in crowdin-cli-0.0.11 vs bin/crowdin-cli in crowdin-cli-0.0.12
- old
+ new
@@ -141,14 +141,18 @@
# end
#end
c.desc 'Upload source files'
c.command :sources do |c|
+
+ c.desc 'defines whether to add sources if there is the same file previously added'
+ c.switch [:ignore_duplicates]
+
c.action do |global_options, options, args|
project_info = @crowdin.project_info
- source_language = project_info['source_language']['code']
+ source_language = project_info['details']['source_language']['code']
# Crowdin supported languages list
supported_languages = @crowdin.supported_languages
source_language = supported_languages.find{ |lang| lang['crowdin_code'] == source_language }
@@ -175,10 +179,12 @@
end
end
end
+ exit_now!("Nothing to upload") if local_files.empty?
+
common_dir = find_common_directory_path(dest_files)
local_project_tree = get_local_files_hierarchy(local_files.collect{ |h| h[:dest].sub(common_dir, '') })
local_files.each{ |file| file[:dest].sub!(common_dir, '') }
@@ -189,18 +195,20 @@
create_dirs.each do |dir|
puts "Create directory `#{dir}`"
@crowdin.add_directory(dir)
end
- # Update existing files in Crowdin project
- #
- # array containing elements common to the two arrays
- update_files = local_project_tree[:files] & remote_project_tree[:files]
- files_for_upload = local_files.select{ |file| update_files.include?(file[:dest]) }
- files_for_upload.each do |file|
- puts "Update file `#{file[:dest]}`"
- @crowdin.update_file([] << file)
+ unless options[:ignore_duplicates]
+ # Update existing files in Crowdin project
+ #
+ # array containing elements common to the two arrays
+ update_files = local_project_tree[:files] & remote_project_tree[:files]
+ files_for_upload = local_files.select{ |file| update_files.include?(file[:dest]) }
+ files_for_upload.each do |file|
+ puts "Update file `#{file[:dest]}`"
+ @crowdin.update_file([] << file)
+ end
end
# Add new files to Crowdin project
#
add_files = local_project_tree[:files] - remote_project_tree[:files]
@@ -245,11 +253,11 @@
end
supported_languages = @crowdin.supported_languages
translation_languages = supported_languages.select{ |lang| project_languages.include?(lang['crowdin_code']) }
- source_language = project_info['source_language']['code']
+ source_language = project_info['details']['source_language']['code']
source_language = supported_languages.find{ |lang| lang['crowdin_code'] == source_language }
translated_files = Hash.new{ |hash, key| hash[key] = Array.new }
dest_files = []
@@ -278,9 +286,11 @@
end
end
end # if
end # @config['files']
+
+ exit_now!("Nothing to upload") if dest_files.empty?
params = {}
params[:import_duplicates] = options[:import_dublicates] ? 1 : 0
params[:import_eq_suggestions] = options[:import_eq_suggestions] ? 1 : 0
params[:auto_approve_imported] = options[:auto_approve_imported] ? 1 : 0