web_translate_it 2.5.4 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bc4a1374f3018354d15fea035305984fa839a6786526cc88e8d3151f176d8f79
4
- data.tar.gz: fbc8868713a8d691169eea12318bb0c288853c25cedf24ddaaac10b44b461d09
3
+ metadata.gz: fe142160ce726176d6463e38dff4cbabe3c65a2629e537afd070aa9a273e44c2
4
+ data.tar.gz: 447cc0c48efca6fbf66588f4426c1583f6945f59118593b5d8be5a7c81db40a4
5
5
  SHA512:
6
- metadata.gz: c8ec5eae4ac2941ca048cc798fb4ae5cb5c539345d11286d9aa35a68dca5e35cc3e138cbcb95c0ebf5d8adaffda69938cf41613762612a9ba33836e6f95f2871
7
- data.tar.gz: 20af38470f30300f01d260e17d15d16ef90597b72d5e1e5f5d9869cf70a192c65d84f3dc9771ada30264f65c75ebfb0855da9b9f0e94e966cfc908cc872b3eda
6
+ metadata.gz: 11cc21a06894851d8ead43d573ef69c197e0132f1b38b0c65b27c29541ce5409e0a076147f323f61d1fc1e8f0d89f91050d4011e421e5907e5d7d493a4939806
7
+ data.tar.gz: 9b8bad87f54a5ff65265b34e71523fbd3bb6aca4f95293d8c59bb970d8bc6de7fae9ea7d2cf3078a0004ffdd4720c03bc0f9ca59a3198390585698a73b6f08bb
data/bin/wti CHANGED
@@ -5,28 +5,28 @@ $PROGRAM_NAME = 'wti'
5
5
  require 'optimist'
6
6
  require 'web_translate_it'
7
7
 
8
- show_commands = <<-EOS
9
- Usage: wti <command> [options]+ <filename>
8
+ show_commands = <<~COMMANDS
9
+ Usage: wti <command> [options]+ <filename>
10
10
 
11
- The most commonly used wti commands are:
12
- pull Pull target language file(s)
13
- push Push master language file(s)
14
- match Display matching of local files with File Manager
15
- add Create and push a new master language file
16
- rm Delete a master language file from a project
17
- mv Moves a file both locally and from a project
18
- addlocale Add a new locale to the project
19
- rmlocale Delete a locale from a project
20
- status Fetch and display project statistics
21
- init Configure your project to sync
11
+ The most commonly used wti commands are:
12
+ pull Pull target language file(s)
13
+ push Push master language file(s)
14
+ match Display matching of local files with File Manager
15
+ add Create and push a new master language file
16
+ rm Delete a master language file from a project
17
+ mv Moves a file both locally and from a project
18
+ addlocale Add a new locale to the project
19
+ rmlocale Delete a locale from a project
20
+ status Fetch and display project statistics
21
+ init Configure your project to sync
22
22
 
23
- See `wti <command> --help` for more information on a specific command.
23
+ See `wti <command> --help` for more information on a specific command.
24
24
 
25
- [options] are:
26
- EOS
25
+ [options] are:
26
+ COMMANDS
27
27
 
28
- SUB_COMMANDS = %w(pull push match add rm mv addlocale rmlocale status st init)
29
- global_options = Optimist::options do
28
+ SUB_COMMANDS = %w[pull push match add rm mv addlocale rmlocale status st init].freeze
29
+ global_options = Optimist.options do
30
30
  stop_on SUB_COMMANDS
31
31
  banner show_commands
32
32
  version "wti version #{WebTranslateIt::Util.version}"
@@ -34,98 +34,98 @@ end
34
34
 
35
35
  command = ARGV.shift # get the subcommand
36
36
  command_options = case command
37
- when "pull"
38
- Optimist::options do
39
- banner <<-EOS
40
- wti pull [filename] - Pull target language file(s)
41
- [options] are:
42
- EOS
43
- opt :locale, "ISO code of locale(s) to pull, space-separated", type: :string
44
- opt :all, "Pull all files"
45
- opt :force, "Force pull (bypass conditional requests to WTI)"
46
- opt :config, "Path to a configuration file", short: "-c", default: ".wti"
47
- opt :debug, "Display debug information"
48
- end
49
- when "push"
50
- Optimist::options do
51
- banner <<-EOS
52
- wti push [filename] - Push master language file(s)
53
- [options] are:
54
- EOS
55
- opt :locale, "ISO code of locale(s) to push, space-separated", type: :string
56
- opt :target, "Upload all target files"
57
- opt :force, "Force push (bypass conditional requests to WTI)"
58
- opt :low_priority, "WTI will process this file with a low priority"
59
- opt :merge, "Force WTI to merge this file"
60
- opt :ignore_missing, "Force WTI to not obsolete missing strings"
61
- opt :minor, "Minor Changes. When pushing a master file, prevents target translations to be flagged as `to_verify`."
62
- opt :label, "Apply a label to the changes", type: :string
63
- opt :config, "Path to a configuration file", short: "-c", default: ".wti"
64
- opt :all, "DEPRECATED -- See `wti push --target` instead"
65
- opt :debug, "Display debug information"
66
- end
67
- when "add"
68
- Optimist::options do
69
- banner "wti add filename - Create and push a new master language file"
70
- opt :low_priority, "WTI will process this file with a low priority"
71
- opt :config, "Path to a configuration file", short: "-c", default: ".wti"
72
- opt :debug, "Display debug information"
73
- end
74
- when "rm"
75
- Optimist::options do
76
- banner "wti rm filename - Delete a master language file"
77
- opt :config, "Path to a configuration file", short: "-c", default: ".wti"
78
- opt :debug, "Display debug information"
79
- end
80
- when "mv"
81
- Optimist::options do
82
- banner "wti mv filename - Moves a master language file and its target files"
83
- opt :config, "Path to a configuration file", short: "-c", default: ".wti"
84
- opt :debug, "Display debug information"
85
- end
86
- when "addlocale"
87
- Optimist::options do
88
- banner "wti addlocale localename - Add a new locale to the project"
89
- opt :config, "Path to a configuration file", short: "-c", default: ".wti"
90
- opt :debug, "Display debug information"
91
- end
92
- when "rmlocale"
93
- Optimist::options do
94
- banner "wti rmlocale localename Delete a locale from the project"
95
- opt :config, "Path to a configuration file", short: "-c", default: ".wti"
96
- opt :debug, "Display debug information"
97
- end
98
- when "status"
99
- Optimist::options do
100
- banner "wti status - Fetch and display project statistics.\nReturns 100 if untranslated segments exist in project\nReturns 101 if unproofread segments exist in project."
101
- opt :config, "Path to a configuration file", short: "-c", default: ".wti"
102
- opt :debug, "Display debug information"
103
- end
104
- when "init"
105
- Optimist::options do
106
- banner "wti init [api_token] - Configure your project to sync"
107
- opt :config, "Path to a configuration file", short: "-c", default: ".wti"
108
- opt :debug, "Display debug information"
109
- end
110
- when "match"
111
- Optimist::options do
112
- banner "wti match - Display matching of local files with File Manager"
113
- opt :config, "Path to a configuration file", short: "-c", default: ".wti"
114
- opt :debug, "Display debug information"
115
- end
116
- else
117
- if command.nil?
118
- puts show_commands
119
- exit
120
- else
121
- Optimist::die "Unknown subcommand #{command.inspect}"
122
- end
123
- end
37
+ when 'pull'
38
+ Optimist.options do
39
+ banner <<~BANNER
40
+ wti pull [filename] - Pull target language file(s)
41
+ [options] are:
42
+ BANNER
43
+ opt :locale, 'ISO code of locale(s) to pull, space-separated', type: :string
44
+ opt :all, 'Pull all files'
45
+ opt :force, 'Force pull (bypass conditional requests to WTI)'
46
+ opt :config, 'Path to a configuration file', short: '-c', default: '.wti'
47
+ opt :debug, 'Display debug information'
48
+ end
49
+ when 'push'
50
+ Optimist.options do
51
+ banner <<~BANNER
52
+ wti push [filename] - Push master language file(s)
53
+ [options] are:
54
+ BANNER
55
+ opt :locale, 'ISO code of locale(s) to push, space-separated', type: :string
56
+ opt :target, 'Upload all target files'
57
+ opt :force, 'Force push (bypass conditional requests to WTI)'
58
+ opt :low_priority, 'WTI will process this file with a low priority'
59
+ opt :merge, 'Force WTI to merge this file'
60
+ opt :ignore_missing, 'Force WTI to not obsolete missing strings'
61
+ opt :minor, 'Minor Changes. When pushing a master file, prevents target translations to be flagged as `to_verify`.'
62
+ opt :label, 'Apply a label to the changes', type: :string
63
+ opt :config, 'Path to a configuration file', short: '-c', default: '.wti'
64
+ opt :all, 'DEPRECATED -- See `wti push --target` instead'
65
+ opt :debug, 'Display debug information'
66
+ end
67
+ when 'add'
68
+ Optimist.options do
69
+ banner 'wti add filename - Create and push a new master language file'
70
+ opt :low_priority, 'WTI will process this file with a low priority'
71
+ opt :config, 'Path to a configuration file', short: '-c', default: '.wti'
72
+ opt :debug, 'Display debug information'
73
+ end
74
+ when 'rm'
75
+ Optimist.options do
76
+ banner 'wti rm filename - Delete a master language file'
77
+ opt :config, 'Path to a configuration file', short: '-c', default: '.wti'
78
+ opt :debug, 'Display debug information'
79
+ end
80
+ when 'mv'
81
+ Optimist.options do
82
+ banner 'wti mv filename - Moves a master language file and its target files'
83
+ opt :config, 'Path to a configuration file', short: '-c', default: '.wti'
84
+ opt :debug, 'Display debug information'
85
+ end
86
+ when 'addlocale'
87
+ Optimist.options do
88
+ banner 'wti addlocale localename - Add a new locale to the project'
89
+ opt :config, 'Path to a configuration file', short: '-c', default: '.wti'
90
+ opt :debug, 'Display debug information'
91
+ end
92
+ when 'rmlocale'
93
+ Optimist.options do
94
+ banner 'wti rmlocale localename Delete a locale from the project'
95
+ opt :config, 'Path to a configuration file', short: '-c', default: '.wti'
96
+ opt :debug, 'Display debug information'
97
+ end
98
+ when 'status'
99
+ Optimist.options do
100
+ banner "wti status - Fetch and display project statistics.\nReturns 100 if untranslated segments exist in project\nReturns 101 if unproofread segments exist in project."
101
+ opt :config, 'Path to a configuration file', short: '-c', default: '.wti'
102
+ opt :debug, 'Display debug information'
103
+ end
104
+ when 'init'
105
+ Optimist.options do
106
+ banner 'wti init [api_token] - Configure your project to sync'
107
+ opt :config, 'Path to a configuration file', short: '-c', default: '.wti'
108
+ opt :debug, 'Display debug information'
109
+ end
110
+ when 'match'
111
+ Optimist.options do
112
+ banner 'wti match - Display matching of local files with File Manager'
113
+ opt :config, 'Path to a configuration file', short: '-c', default: '.wti'
114
+ opt :debug, 'Display debug information'
115
+ end
116
+ else
117
+ if command.nil?
118
+ puts show_commands
119
+ exit
120
+ else
121
+ Optimist.die "Unknown subcommand #{command.inspect}"
122
+ end
123
+ end
124
124
 
125
125
  begin
126
126
  WebTranslateIt::Connection.turn_debug_on if command_options.debug
127
- WebTranslateIt::CommandLine.new(command, command_options, global_options, ARGV, File.expand_path("."))
128
- rescue Interrupt => e
127
+ WebTranslateIt::CommandLine.new(command, command_options, global_options, ARGV, File.expand_path('.'))
128
+ rescue Interrupt
129
129
  puts StringUtil.failure("\nQuitting...")
130
130
  exit 1
131
131
  end
@@ -9,11 +9,11 @@ end
9
9
  Rails::Generator::Commands::Create.class_eval do
10
10
  def append_to(file, line)
11
11
  logger.insert "#{line} appended to #{file}"
12
- unless options[:pretend] || file_contains?(file, line)
13
- File.open(file, "a") do |file|
14
- file.puts
15
- file.puts line
16
- end
12
+ return if options[:pretend] || file_contains?(file, line)
13
+
14
+ File.open(file, 'a') do |f|
15
+ f.puts
16
+ f.puts line
17
17
  end
18
18
  end
19
19
  end
@@ -21,9 +21,7 @@ end
21
21
  Rails::Generator::Commands::Destroy.class_eval do
22
22
  def append_to(file, line)
23
23
  logger.remove "#{line} removed from #{file}"
24
- unless options[:pretend]
25
- gsub_file file, "\n#{line}", ''
26
- end
24
+ gsub_file file, "\n#{line}", '' unless options[:pretend]
27
25
  end
28
26
  end
29
27
 
@@ -1,26 +1,26 @@
1
- require File.expand_path(File.dirname(__FILE__) + "/lib/insert_commands.rb")
1
+ require File.expand_path("#{File.dirname(__FILE__)}/lib/insert_commands.rb")
2
2
 
3
3
  class WebtranslateitGenerator < Rails::Generator::Base
4
4
  def add_options!(opt)
5
- opt.on('-k', '--api-key=key', String, "Your Web Translate It API key") {|v| options[:api_key] = v}
5
+ opt.on('-k', '--api-key=key', String, 'Your Web Translate It API key') { |v| options[:api_key] = v }
6
6
  end
7
7
 
8
- def manifest
8
+ def manifest # rubocop:todo Metrics/AbcSize, Metrics/MethodLength
9
9
  if !api_key_configured? && !options[:api_key]
10
- puts "You must pass --api-key or create config/translations.yml"
10
+ puts 'You must pass --api-key or create config/translations.yml'
11
11
  exit
12
12
  end
13
13
  record do |m|
14
14
  if options[:api_key]
15
15
  project_details = YAML.load WebTranslateIt::Project.fetch_info(options[:api_key])
16
16
  m.template '.wti', '.wti',
17
- :assigns => { :api_key => options[:api_key], :project => project_details["project"] }
17
+ assigns: { api_key: options[:api_key], project: project_details['project'] }
18
18
  m.append_to 'Rakefile', "require 'web_translate_it' rescue LoadError"
19
19
  end
20
20
  end
21
21
  end
22
22
 
23
23
  def api_key_configured?
24
- File.exists?('config/translations.yml')
24
+ File.exist?('config/translations.yml')
25
25
  end
26
26
  end
data/history.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## Version 2.6.0 / 2022-03-08
2
+
3
+ * Code cleaning using Rubocop.
4
+ * Add ability to ignore files from pulls with a setting in the `.wti` file. Example:
5
+ `ignore_files: ['**/fr.yml', 'config/locales/js/*.yml', 'config/locales/app/fr.yml']`
6
+
1
7
  ## Version 2.5.4 / 2022-03-08
2
8
 
3
9
  * Better support for `before_pull`, `after_pull`, `before_push`, `after_push` hooks. They now display the command output, and write an error message if the exit status of the command was not successful.
@@ -19,7 +25,7 @@
19
25
  * Display files that are being updated on WebTranslateIt but are not ready to be downloaded by a `*`.
20
26
 
21
27
  ``` bash
22
- ~/Desktop/test% wti pull
28
+ ~/Desktop/test% wti pull
23
29
  # Pulling files on test 3
24
30
  *cs-CZ.de.yml | 65a7fc8..65a7fc8 Skipped
25
31
  en.yml | ffd8096..ffd8096 Skipped
@@ -246,7 +252,7 @@
246
252
 
247
253
  ## Version 2.0.0.rc1 / 2012-04-16 (yanked)
248
254
 
249
- **Important**: This release candidate introduce breaking changes in the String, Translation, Term and TermTranslation APIs. See [Extras](https://github.com/AtelierConvivialite/webtranslateit/wiki/Extras) if you use the String, Translation, Term and TermTranslation APIs to programmatically manage strings, translations and terms.
255
+ **Important**: This release candidate introduce breaking changes in the String, Translation, Term and TermTranslation APIs. See [Extras](https://github.com/AtelierConvivialite/webtranslateit/wiki/Extras) if you use the String, Translation, Term and TermTranslation APIs to programmatically manage strings, translations and terms.
250
256
 
251
257
  * Remove undeclared dependency on ActiveSupport. ActiveSupport was required to use the `WebTranslateIt::String`, `Translation`, `Term` and `TermTranslation` classes. #84
252
258
  * Refactor `WebTranslateIt::String` and `WebTranslateIt::Translation` classes and add specs. #85
@@ -294,9 +300,9 @@
294
300
  * Fix `wti status` command.
295
301
  * Improvement: truncate `wti pull` performance statistics (`Pulled 10 files in 0.7 seconds at 13.4 files/sec`).
296
302
  * Fix: Configuration file lookup improvements. Configuration files can now be located in another directory, and `wti` commands don’t have to be executed in the root directory. It is now possible to execute:
297
-
303
+
298
304
  ```
299
- wti pull
305
+ wti pull
300
306
  wti pull -c /Users/edouard/code/test/.wti
301
307
  wti pull -c ../.wti
302
308
  wti pull -c ~/code/.wti
@@ -311,7 +317,7 @@
311
317
 
312
318
  ## Version 1.9.0 / 2011-11-23
313
319
 
314
- * Deprecate `wti server`. This feature was introducing a hard dependency on Sinatra, which is not desirable when embedding `web_translate_it` on a Rails application. `wti server` now lives in a separate gem, `web_translate_it_server`, which depends on the `web_translate_it` gem. To keep using `wti server`, execute: `gem install web_translate_it_server` and run: `wti-server`.
320
+ * Deprecate `wti server`. This feature was introducing a hard dependency on Sinatra, which is not desirable when embedding `web_translate_it` on a Rails application. `wti server` now lives in a separate gem, `web_translate_it_server`, which depends on the `web_translate_it` gem. To keep using `wti server`, execute: `gem install web_translate_it_server` and run: `wti-server`.
315
321
 
316
322
  ## Version 1.8.4 / 2011-11-14
317
323
 
@@ -348,7 +354,7 @@
348
354
  ## Version 1.8.2.0 / 2011-09-12
349
355
 
350
356
  * `wti pull` downloads files in parallel, using up to 20 threads.
351
- This makes syncing much faster for projects containing many files (up to 65 files/sec).
357
+ This makes syncing much faster for projects containing many files (up to 65 files/sec).
352
358
  * Default configuration file was renamed `.wti`. #67.
353
359
  The upgrade process should be seamless. Config file will be renamed if a `config/translation.yml` file is detected.
354
360
 
@@ -597,7 +603,7 @@ Warning, some deprecations in this version.
597
603
  * Add deprecation warning for `wti --upload`, `wti -u`. These commands will be deprecated in favour of `wti push`.
598
604
  * Add -c parameter to specify a configuration file at a custom location.
599
605
  * Add -l parameter to specify a specific language file to pull or push (only works with `wti pull` and `wti push`).
600
- * Add --force parameter to force Web Translate It to send the language files again, regardless if the current
606
+ * Add --force parameter to force Web Translate It to send the language files again, regardless if the current
601
607
  language file version is current (this makes `wti pull` very much slower).
602
608
  * Add `wti autoconf` command to automatically configure your project for Web Translate It.
603
609
 
@@ -1,6 +1,4 @@
1
- # encoding: utf-8
2
1
  module WebTranslateIt
3
-
4
2
  # Class to automatically fetch the last translations from Web Translate It
5
3
  # for every page requested.
6
4
  # This can be used as a rack middleware.
@@ -19,7 +17,7 @@ module WebTranslateIt
19
17
  @app.call(env)
20
18
  end
21
19
 
22
- private
20
+ private
23
21
 
24
22
  def update_translations
25
23
  WebTranslateIt.fetch_translations
@@ -27,7 +25,7 @@ module WebTranslateIt
27
25
  end
28
26
 
29
27
  def valid_request?(env)
30
- !(env['PATH_INFO'] =~ /\.(js|css|jpeg|jpg|gif|png|woff)$/)
28
+ env['PATH_INFO'] !~ /\.(js|css|jpeg|jpg|gif|png|woff)$/
31
29
  end
32
30
  end
33
31
  end