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