hammer_cli 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/hammer +14 -4
- data/doc/release_notes.md +8 -0
- data/lib/hammer_cli/abstract.rb +1 -3
- data/lib/hammer_cli/logger.rb +29 -0
- data/lib/hammer_cli/settings.rb +1 -3
- data/lib/hammer_cli/version.rb +1 -1
- data/locale/de/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/de/hammer-cli.edit.po +21 -21
- data/locale/de/hammer-cli.po +32 -24
- data/locale/en/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/en/hammer-cli.edit.po +4 -4
- data/locale/en/hammer-cli.po +1 -1
- data/locale/en_GB/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/en_GB/hammer-cli.edit.po +71 -70
- data/locale/en_GB/hammer-cli.po +81 -69
- data/locale/es/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/es/hammer-cli.edit.po +35 -34
- data/locale/es/hammer-cli.po +46 -41
- data/locale/fr/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/fr/hammer-cli.edit.po +4 -4
- data/locale/fr/hammer-cli.po +10 -9
- data/locale/hammer-cli.pot +6 -6
- data/locale/it/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/it/hammer-cli.edit.po +12 -12
- data/locale/it/hammer-cli.po +19 -12
- data/locale/ja/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/ja/hammer-cli.edit.po +13 -13
- data/locale/ja/hammer-cli.po +19 -18
- data/locale/ko/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/ko/hammer-cli.edit.po +12 -12
- data/locale/ko/hammer-cli.po +16 -15
- data/locale/pt_BR/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/pt_BR/hammer-cli.edit.po +13 -12
- data/locale/pt_BR/hammer-cli.po +18 -13
- data/locale/ru/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/ru/hammer-cli.edit.po +17 -17
- data/locale/ru/hammer-cli.po +26 -21
- data/locale/zh_CN/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/zh_CN/hammer-cli.edit.po +40 -40
- data/locale/zh_CN/hammer-cli.po +58 -54
- data/locale/zh_TW/LC_MESSAGES/hammer-cli.mo +0 -0
- data/locale/zh_TW/hammer-cli.edit.po +12 -12
- data/locale/zh_TW/hammer-cli.po +16 -15
- data/test/unit/abstract_test.rb +25 -7
- data/test/unit/logger_test.rb +18 -0
- data/test/unit/settings_test.rb +4 -3
- data/test/unit/test_helper.rb +1 -1
- metadata +13 -81
data/locale/zh_CN/hammer-cli.po
CHANGED
@@ -1,28 +1,25 @@
|
|
1
|
-
#
|
2
|
-
#
|
3
|
-
#
|
4
|
-
#
|
5
|
-
# Translators:
|
6
|
-
# Automatically generated, 2014
|
1
|
+
# Leah Liu <lliu@redhat.com>, 2013. #zanata
|
2
|
+
# Leah Liu <lliu@redhat.com>, 2014. #zanata
|
3
|
+
# Leah Liu <lliu@redhat.com>, 2015. #zanata
|
7
4
|
msgid ""
|
8
5
|
msgstr ""
|
9
|
-
"Project-Id-Version: hammer-cli 0.
|
6
|
+
"Project-Id-Version: hammer-cli 0.4.0\n"
|
10
7
|
"Report-Msgid-Bugs-To: \n"
|
11
|
-
"PO-Revision-Date:
|
12
|
-
"Last-Translator:
|
13
|
-
"Language-Team: Chinese (China)
|
14
|
-
"
|
8
|
+
"PO-Revision-Date: 2015-04-27 01:22+0000\n"
|
9
|
+
"Last-Translator: Leah Liu <lliu@redhat.com>\n"
|
10
|
+
"Language-Team: Chinese (China)\n"
|
11
|
+
"Language: zh-CN\n"
|
15
12
|
"MIME-Version: 1.0\n"
|
16
13
|
"Content-Type: text/plain; charset=UTF-8\n"
|
17
14
|
"Content-Transfer-Encoding: 8bit\n"
|
18
|
-
"
|
19
|
-
"
|
15
|
+
"Plural-Forms: nplurals=1; plural=0\n"
|
16
|
+
"X-Generator: Zanata 3.6.0\n"
|
20
17
|
|
21
18
|
msgid "too many arguments"
|
22
|
-
msgstr "
|
19
|
+
msgstr "参数太多"
|
23
20
|
|
24
21
|
msgid "option '%<option>s' is required"
|
25
|
-
msgstr "需要选项 '%<option>s'
|
22
|
+
msgstr "需要选项 '%<option>s'"
|
26
23
|
|
27
24
|
msgid "option '%<option>s' (or env %<env>s) is required"
|
28
25
|
msgstr "需要选项 '%<option>s'(或者 env %<env>s)"
|
@@ -37,57 +34,58 @@ msgid "%<env>s: %<message>s"
|
|
37
34
|
msgstr "%<env>s: %<message>s"
|
38
35
|
|
39
36
|
msgid "Unrecognised option '%<switch>s'"
|
40
|
-
msgstr "
|
37
|
+
msgstr "无法识别的选项 '%<switch>s'"
|
41
38
|
|
42
39
|
msgid "No such sub-command '%<name>s'"
|
43
|
-
msgstr "
|
40
|
+
msgstr "没有子命令 '%<name>s'"
|
44
41
|
|
45
42
|
msgid "no value provided"
|
46
|
-
msgstr "
|
43
|
+
msgstr "未提供数值"
|
47
44
|
|
45
|
+
# translation auto-copied from project nm-applet, version 0.8.1, document nm-applet
|
48
46
|
msgid "Error: %s"
|
49
47
|
msgstr "错误:%s"
|
50
48
|
|
51
49
|
msgid "Error: %{message}"
|
52
|
-
msgstr ""
|
50
|
+
msgstr "错误:%{message}"
|
53
51
|
|
54
52
|
msgid "See: '%{path} --help'"
|
55
|
-
msgstr ""
|
53
|
+
msgstr "请查看: '%{path} --help'"
|
56
54
|
|
57
55
|
msgid "Invalid username or password"
|
58
|
-
msgstr "
|
56
|
+
msgstr "无效用户名或密码"
|
59
57
|
|
60
58
|
msgid "Could not load the API description from the server"
|
61
|
-
msgstr ""
|
59
|
+
msgstr "无法从服务器载入 API 描述"
|
62
60
|
|
63
61
|
msgid "is the server down?"
|
64
|
-
msgstr ""
|
62
|
+
msgstr "服务器宕机了吗?"
|
65
63
|
|
66
64
|
msgid ""
|
67
65
|
"was '%s' run on the server when using apipie cache? (typical production settin"
|
68
66
|
"gs)"
|
69
|
-
msgstr ""
|
67
|
+
msgstr "使用 apipie 缓存时服务器中是否运行了 '%s'?(典型产品设置)"
|
70
68
|
|
71
69
|
msgid "Missing arguments for %s"
|
72
|
-
msgstr ""
|
70
|
+
msgstr "缺少 %s 的参数"
|
73
71
|
|
74
72
|
msgid "No permissions to create log dir %s"
|
75
|
-
msgstr "
|
73
|
+
msgstr "没有创建日志目录 %s 的权限"
|
76
74
|
|
77
75
|
msgid "File %s not writeable, won't log anything to the file!"
|
78
|
-
msgstr "无法写入文件 %s
|
76
|
+
msgstr "无法写入文件 %s,因此无法记录文件的任何变化!"
|
79
77
|
|
80
78
|
msgid "be verbose"
|
81
|
-
msgstr "
|
79
|
+
msgstr "更详细"
|
82
80
|
|
83
81
|
msgid "show debugging output "
|
84
|
-
msgstr "
|
82
|
+
msgstr "显示调试输出结果"
|
85
83
|
|
86
84
|
msgid "force reload of Apipie cache"
|
87
|
-
msgstr ""
|
85
|
+
msgstr "强制重新载入 Apipie 缓存"
|
88
86
|
|
89
87
|
msgid "path to custom config file"
|
90
|
-
msgstr "
|
88
|
+
msgstr "到自定义配置文件的路径"
|
91
89
|
|
92
90
|
msgid "username to access the remote system"
|
93
91
|
msgstr "访问远程系统的用户名"
|
@@ -98,12 +96,12 @@ msgstr "访问远程系统的密码"
|
|
98
96
|
msgid "remote system address"
|
99
97
|
msgstr "远程系统地址"
|
100
98
|
|
99
|
+
# translation auto-copied from project libvirt, version 1.1.1, document libvirt
|
101
100
|
msgid "show version"
|
102
101
|
msgstr "显示版本"
|
103
102
|
|
104
|
-
#, fuzzy
|
105
103
|
msgid "unknown version"
|
106
|
-
msgstr "
|
104
|
+
msgstr "未知版本"
|
107
105
|
|
108
106
|
msgid "Show ids of associated resources"
|
109
107
|
msgstr "显示关联资源的 id"
|
@@ -112,13 +110,13 @@ msgid "Explicitly turn interactive mode on/off"
|
|
112
110
|
msgstr "明确打开/关闭互动模式"
|
113
111
|
|
114
112
|
msgid "Output as CSV (same as --output=csv)"
|
115
|
-
msgstr "
|
113
|
+
msgstr "作为 CSV 输出(与 --output=csv 相同) "
|
116
114
|
|
117
115
|
msgid "Set output format. One of [%s]"
|
118
|
-
msgstr "设定输出格式。[%s]
|
116
|
+
msgstr "设定输出格式。[%s] 之一"
|
119
117
|
|
120
118
|
msgid "Character to separate the values"
|
121
|
-
msgstr "
|
119
|
+
msgstr "用来分开数值的字符"
|
122
120
|
|
123
121
|
msgid "Get list of possible endings"
|
124
122
|
msgstr "获取可能结尾的列表"
|
@@ -126,19 +124,19 @@ msgstr "获取可能结尾的列表"
|
|
126
124
|
msgid ""
|
127
125
|
"Legacy configuration of modules detected. Check section about configuration in"
|
128
126
|
" user manual"
|
129
|
-
msgstr "
|
127
|
+
msgstr "探测到遗留的模块配置。请在用户手册中查看有关配置一节。"
|
130
128
|
|
131
129
|
msgid "Warning: An error occured while loading module %s"
|
132
130
|
msgstr "警告:载入模块 %s 时出错"
|
133
131
|
|
134
132
|
msgid "Error: Some of the required modules are disabled in configuration: %s "
|
135
|
-
msgstr ""
|
133
|
+
msgstr "错误:在配置中禁用了一些要求的模块:%s"
|
136
134
|
|
137
135
|
msgid "Comma-separated list of key=value."
|
138
136
|
msgstr "用逗号分开的 key=value 列表。"
|
139
137
|
|
140
138
|
msgid "value must be defined as a comma-separated list of key=value"
|
141
|
-
msgstr "
|
139
|
+
msgstr "必须使用以逗号分开的 key=value 列表定义数值"
|
142
140
|
|
143
141
|
msgid "Comma separated list of values."
|
144
142
|
msgstr "逗号分开的数值列表。"
|
@@ -147,10 +145,10 @@ msgid "numeric value is required"
|
|
147
145
|
msgstr ""
|
148
146
|
|
149
147
|
msgid "One of true/false, yes/no, 1/0."
|
150
|
-
msgstr "true/false、yes/no、1/0
|
148
|
+
msgstr "从 true/false、yes/no、1/0 中选择一组。"
|
151
149
|
|
152
150
|
msgid "value must be one of true/false, yes/no, 1/0"
|
153
|
-
msgstr "
|
151
|
+
msgstr "数值必须是 true/false、yes/no、1/0 中的一个"
|
154
152
|
|
155
153
|
msgid "Unable to parse JSON input"
|
156
154
|
msgstr "无法解析 JSON 输入"
|
@@ -160,11 +158,11 @@ msgstr ""
|
|
160
158
|
|
161
159
|
#, fuzzy
|
162
160
|
msgid "value must be %s"
|
163
|
-
msgstr "
|
161
|
+
msgstr "数值必须是 '%s' 中的一个"
|
164
162
|
|
165
163
|
#, fuzzy
|
166
164
|
msgid "value must be one of %s"
|
167
|
-
msgstr "
|
165
|
+
msgstr "数值必须是 '%s' 中的一个"
|
168
166
|
|
169
167
|
msgid "Date and time in YYYY-MM-DD HH:MM:SS or ISO 8601 format"
|
170
168
|
msgstr "日期和时间格式为 YYYY-MM-DD HH:MM:SS 或者 ISO 8601 格式"
|
@@ -173,45 +171,51 @@ msgid "'%s' is not a valid date"
|
|
173
171
|
msgstr "'%s' 不是有效日期"
|
174
172
|
|
175
173
|
msgid "Any combination (comma separated list) of '%s'"
|
176
|
-
msgstr "'%s'
|
174
|
+
msgstr "'%s' 的任意组合(用逗号分开的列表)"
|
177
175
|
|
178
176
|
msgid "value must be a combination of '%s'"
|
179
|
-
msgstr "
|
177
|
+
msgstr "数值必须为 '%s' 之一"
|
180
178
|
|
181
179
|
msgid "\"Warning: Option #{switch} is deprecated. %s\""
|
182
180
|
msgstr ""
|
183
181
|
|
184
182
|
msgid "Can be specified multiple times. "
|
185
|
-
msgstr "
|
183
|
+
msgstr "无法多次指定。"
|
186
184
|
|
187
185
|
msgid ", or "
|
188
186
|
msgstr ",或者"
|
189
187
|
|
188
|
+
# translation auto-copied from project control-center, version 3.8.6, document gnome-control-center-2.0
|
190
189
|
msgid "Default: "
|
191
190
|
msgstr "默认:"
|
192
191
|
|
192
|
+
# translation auto-copied from project webkitgtk3, version 2.0.3, document webkitgtk3, author Leah Liu
|
193
193
|
msgid "Message"
|
194
194
|
msgstr "信息"
|
195
195
|
|
196
|
+
# translation auto-copied from project libvirt, version 1.1.1, document libvirt
|
196
197
|
msgid "Id"
|
197
198
|
msgstr "Id"
|
198
199
|
|
200
|
+
# translation auto-copied from project nm-applet, version 0.8.1, document nm-applet
|
199
201
|
msgid "Name"
|
200
202
|
msgstr "名称"
|
201
203
|
|
204
|
+
# translation auto-copied from project firstboot, version 19.6, document firstboot, author Leah Liu
|
202
205
|
msgid "no"
|
203
206
|
msgstr "否"
|
204
207
|
|
208
|
+
# translation auto-copied from project NetworkManager, version 0.9.9.0, document NetworkManager
|
205
209
|
msgid "yes"
|
206
210
|
msgstr "是"
|
207
211
|
|
208
212
|
msgid ""
|
209
213
|
"Warning: location hammer.modules.d is deprecated, move your module configurati"
|
210
214
|
"ons to cli.modules.d"
|
211
|
-
msgstr "警告:位置 hammer.modules.d
|
215
|
+
msgstr "警告:位置 hammer.modules.d 已启用,请将您的模块配置移至 cli.modules.d。"
|
212
216
|
|
213
217
|
msgid "Print help for commands"
|
214
|
-
msgstr "
|
218
|
+
msgstr "输出命令帮助信息"
|
215
219
|
|
216
220
|
msgid "Exit interactive shell"
|
217
221
|
msgstr "退出互动 shell"
|
@@ -220,7 +224,7 @@ msgid "Welcome to the hammer interactive shell"
|
|
220
224
|
msgstr "欢迎使用 hammer 互动 shell"
|
221
225
|
|
222
226
|
msgid "Type 'help' for usage information"
|
223
|
-
msgstr "
|
227
|
+
msgstr "输入 ‘help’ 获取用法信息"
|
224
228
|
|
225
229
|
msgid "Interactive shell"
|
226
230
|
msgstr "互动 shell"
|
@@ -228,19 +232,19 @@ msgstr "互动 shell"
|
|
228
232
|
msgid ""
|
229
233
|
"can't replace subcommand %<name>s (%<existing_class>s) with %<name>s (%<new_cl"
|
230
234
|
"ass>s)"
|
231
|
-
msgstr ""
|
235
|
+
msgstr "无法使用 %<name>s(%<new_class>s)替换子命令 %<name>s(%<existing_class>s)"
|
232
236
|
|
233
237
|
msgid "Unknown option name '%s'"
|
234
238
|
msgstr "未知选项名称 '%s'"
|
235
239
|
|
236
240
|
msgid "You can't set all options %s at one time"
|
237
|
-
msgstr "
|
241
|
+
msgstr "无法一次设置所有选项 %s"
|
238
242
|
|
239
243
|
msgid "Options %s are required"
|
240
|
-
msgstr "
|
244
|
+
msgstr "需要选项 %s"
|
241
245
|
|
242
246
|
msgid "You can't set any of options %s"
|
243
|
-
msgstr "
|
247
|
+
msgstr "无法设置任意选项 %s"
|
244
248
|
|
245
249
|
msgid "At least one of options %s is required"
|
246
|
-
msgstr "
|
250
|
+
msgstr "至少需要选项 %s 中的一个"
|
Binary file
|
@@ -9,9 +9,9 @@ msgstr ""
|
|
9
9
|
"Project-Id-Version: Foreman\n"
|
10
10
|
"Report-Msgid-Bugs-To: \n"
|
11
11
|
"POT-Creation-Date: 2014-12-10 13:50+0100\n"
|
12
|
-
"PO-Revision-Date: 2015-
|
13
|
-
"Last-Translator:
|
14
|
-
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/
|
12
|
+
"PO-Revision-Date: 2015-09-16 12:51+0000\n"
|
13
|
+
"Last-Translator: mbacovsky <martin.bacovsky@gmail.com>\n"
|
14
|
+
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/foreman/foreman/language/zh_TW/)\n"
|
15
15
|
"MIME-Version: 1.0\n"
|
16
16
|
"Content-Type: text/plain; charset=UTF-8\n"
|
17
17
|
"Content-Transfer-Encoding: 8bit\n"
|
@@ -132,7 +132,7 @@ msgstr "顯示除錯輸出"
|
|
132
132
|
|
133
133
|
#: lib/hammer_cli/main.rb:9
|
134
134
|
msgid "force reload of Apipie cache"
|
135
|
-
msgstr ""
|
135
|
+
msgstr "強制重新載入 Apipie 快取"
|
136
136
|
|
137
137
|
#: lib/hammer_cli/main.rb:11
|
138
138
|
msgid "path to custom config file"
|
@@ -196,7 +196,7 @@ msgstr "警告:載入 %s 模組時發生了錯誤"
|
|
196
196
|
|
197
197
|
#: lib/hammer_cli/modules.rb:87
|
198
198
|
msgid "Error: Some of the required modules are disabled in configuration: %s "
|
199
|
-
msgstr ""
|
199
|
+
msgstr "錯誤:某些必要的模組在配置中已停用:%s "
|
200
200
|
|
201
201
|
#: lib/hammer_cli/exception_handler.rb:62
|
202
202
|
msgid "Error: %s"
|
@@ -204,11 +204,11 @@ msgstr "錯誤:%s"
|
|
204
204
|
|
205
205
|
#: lib/hammer_cli/exception_handler.rb:68
|
206
206
|
msgid "Error: %{message}"
|
207
|
-
msgstr ""
|
207
|
+
msgstr "錯誤:%{message}"
|
208
208
|
|
209
209
|
#: lib/hammer_cli/exception_handler.rb:69
|
210
210
|
msgid "See: '%{path} --help'"
|
211
|
-
msgstr ""
|
211
|
+
msgstr "請參閱:'%{path} --help'"
|
212
212
|
|
213
213
|
#: lib/hammer_cli/exception_handler.rb:86
|
214
214
|
msgid "Invalid username or password"
|
@@ -216,21 +216,21 @@ msgstr "無效的使用者名稱或密碼"
|
|
216
216
|
|
217
217
|
#: lib/hammer_cli/exception_handler.rb:93
|
218
218
|
msgid "Could not load the API description from the server"
|
219
|
-
msgstr ""
|
219
|
+
msgstr "無法從伺服器載入 API 描述"
|
220
220
|
|
221
221
|
#: lib/hammer_cli/exception_handler.rb:94
|
222
222
|
msgid "is the server down?"
|
223
|
-
msgstr ""
|
223
|
+
msgstr "伺服器是否沒有在運作?"
|
224
224
|
|
225
225
|
#: lib/hammer_cli/exception_handler.rb:95
|
226
226
|
msgid ""
|
227
227
|
"was '%s' run on the server when using apipie cache? (typical production "
|
228
228
|
"settings)"
|
229
|
-
msgstr ""
|
229
|
+
msgstr "使用 apipie 快取時 '%s' 是否有在伺服器上運作?(典型的生產設定)"
|
230
230
|
|
231
231
|
#: lib/hammer_cli/exception_handler.rb:101
|
232
232
|
msgid "Missing arguments for %s"
|
233
|
-
msgstr ""
|
233
|
+
msgstr "%s 缺少了引數"
|
234
234
|
|
235
235
|
#: lib/hammer_cli/validator.rb:41
|
236
236
|
msgid "Unknown option name '%s'"
|
@@ -296,4 +296,4 @@ msgstr "互動式 shell"
|
|
296
296
|
msgid ""
|
297
297
|
"can't replace subcommand %<name>s (%<existing_class>s) with %<name>s "
|
298
298
|
"(%<new_class>s)"
|
299
|
-
msgstr ""
|
299
|
+
msgstr "無法將次指令 %<name>s (%<existing_class>s) 替換為 %<name>s (%<new_class>s)"
|
data/locale/zh_TW/hammer-cli.po
CHANGED
@@ -4,19 +4,21 @@
|
|
4
4
|
#
|
5
5
|
# Translators:
|
6
6
|
# Automatically generated, 2014
|
7
|
+
# tchuang <tchuang@redhat.com>, 2015. #zanata
|
7
8
|
msgid ""
|
8
9
|
msgstr ""
|
9
|
-
"Project-Id-Version: hammer-cli 0.
|
10
|
+
"Project-Id-Version: hammer-cli 0.4.0\n"
|
10
11
|
"Report-Msgid-Bugs-To: \n"
|
11
|
-
"PO-Revision-Date:
|
12
|
-
"Last-Translator:
|
12
|
+
"PO-Revision-Date: 2015-04-28 05:21+0000\n"
|
13
|
+
"Last-Translator: tchuang <tchuang@redhat.com>\n"
|
13
14
|
"Language-Team: Chinese (Taiwan) (http://www.transifex.com/projects/p/foreman/l"
|
14
15
|
"anguage/zh_TW/)\n"
|
16
|
+
"Language: zh-TW\n"
|
15
17
|
"MIME-Version: 1.0\n"
|
16
18
|
"Content-Type: text/plain; charset=UTF-8\n"
|
17
19
|
"Content-Transfer-Encoding: 8bit\n"
|
18
|
-
"Language: zh_TW\n"
|
19
20
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
21
|
+
"X-Generator: Zanata 3.6.0\n"
|
20
22
|
|
21
23
|
msgid "too many arguments"
|
22
24
|
msgstr "引數過多"
|
@@ -49,27 +51,27 @@ msgid "Error: %s"
|
|
49
51
|
msgstr "錯誤:%s"
|
50
52
|
|
51
53
|
msgid "Error: %{message}"
|
52
|
-
msgstr ""
|
54
|
+
msgstr "錯誤:%{message}"
|
53
55
|
|
54
56
|
msgid "See: '%{path} --help'"
|
55
|
-
msgstr ""
|
57
|
+
msgstr "請參閱:'%{path} --help'"
|
56
58
|
|
57
59
|
msgid "Invalid username or password"
|
58
60
|
msgstr "無效的使用者名稱或密碼"
|
59
61
|
|
60
62
|
msgid "Could not load the API description from the server"
|
61
|
-
msgstr ""
|
63
|
+
msgstr "無法從伺服器載入 API 描述"
|
62
64
|
|
63
65
|
msgid "is the server down?"
|
64
|
-
msgstr ""
|
66
|
+
msgstr "伺服器是否沒有在運作?"
|
65
67
|
|
66
68
|
msgid ""
|
67
69
|
"was '%s' run on the server when using apipie cache? (typical production settin"
|
68
70
|
"gs)"
|
69
|
-
msgstr ""
|
71
|
+
msgstr "使用 apipie 快取時 '%s' 是否有在伺服器上運作?(典型的生產設定)"
|
70
72
|
|
71
73
|
msgid "Missing arguments for %s"
|
72
|
-
msgstr ""
|
74
|
+
msgstr "%s 缺少了引數"
|
73
75
|
|
74
76
|
msgid "No permissions to create log dir %s"
|
75
77
|
msgstr "沒有建立日誌目錄 %s 的權限"
|
@@ -84,7 +86,7 @@ msgid "show debugging output "
|
|
84
86
|
msgstr "顯示除錯輸出"
|
85
87
|
|
86
88
|
msgid "force reload of Apipie cache"
|
87
|
-
msgstr ""
|
89
|
+
msgstr "強制重新載入 Apipie 快取"
|
88
90
|
|
89
91
|
msgid "path to custom config file"
|
90
92
|
msgstr "自訂配置檔案的路徑"
|
@@ -101,9 +103,8 @@ msgstr "遠端系統位址"
|
|
101
103
|
msgid "show version"
|
102
104
|
msgstr "顯示版本"
|
103
105
|
|
104
|
-
#, fuzzy
|
105
106
|
msgid "unknown version"
|
106
|
-
msgstr "
|
107
|
+
msgstr "不明的版本"
|
107
108
|
|
108
109
|
msgid "Show ids of associated resources"
|
109
110
|
msgstr "顯示相聯資源的 id"
|
@@ -132,7 +133,7 @@ msgid "Warning: An error occured while loading module %s"
|
|
132
133
|
msgstr "警告:載入 %s 模組時發生了錯誤"
|
133
134
|
|
134
135
|
msgid "Error: Some of the required modules are disabled in configuration: %s "
|
135
|
-
msgstr ""
|
136
|
+
msgstr "錯誤:某些必要的模組在配置中已停用:%s "
|
136
137
|
|
137
138
|
msgid "Comma-separated list of key=value."
|
138
139
|
msgstr "逗號區隔開的一列 key=value。"
|
@@ -228,7 +229,7 @@ msgstr "互動式 shell"
|
|
228
229
|
msgid ""
|
229
230
|
"can't replace subcommand %<name>s (%<existing_class>s) with %<name>s (%<new_cl"
|
230
231
|
"ass>s)"
|
231
|
-
msgstr ""
|
232
|
+
msgstr "無法將次指令 %<name>s (%<existing_class>s) 替換為 %<name>s (%<new_class>s)"
|
232
233
|
|
233
234
|
msgid "Unknown option name '%s'"
|
234
235
|
msgstr "不明選項名稱「%s」"
|
data/test/unit/abstract_test.rb
CHANGED
@@ -86,6 +86,8 @@ describe HammerCLI::AbstractCommand do
|
|
86
86
|
context "logging" do
|
87
87
|
|
88
88
|
before :each do
|
89
|
+
HammerCLI::Settings.clear
|
90
|
+
HammerCLI::Settings.load(:watch_plain => false)
|
89
91
|
@log_output = Logging::Appenders['__test__']
|
90
92
|
@log_output.reset
|
91
93
|
end
|
@@ -96,13 +98,6 @@ describe HammerCLI::AbstractCommand do
|
|
96
98
|
@log_output.readline.strip.must_equal "INFO HammerCLI::AbstractCommand : Called with options: {}"
|
97
99
|
end
|
98
100
|
|
99
|
-
it "password should be hidden in logs" do
|
100
|
-
test_command_class = Class.new(HammerCLI::AbstractCommand)
|
101
|
-
test_command_class.option(['--password'], 'PASSWORD', 'Password')
|
102
|
-
test_command = test_command_class.new("")
|
103
|
-
test_command.run ['--password=pass']
|
104
|
-
@log_output.readline.strip.must_equal "INFO HammerCLI::AbstractCommand : Called with options: {\"option_password\"=>\"***\"}"
|
105
|
-
end
|
106
101
|
|
107
102
|
class TestLogCmd < HammerCLI::AbstractCommand
|
108
103
|
def execute
|
@@ -170,6 +165,29 @@ describe HammerCLI::AbstractCommand do
|
|
170
165
|
test_command.run []
|
171
166
|
@log_output.read.must_include "DEBUG TestLogCmd5 : Test\n{\n :a => \"a\"\n}"
|
172
167
|
end
|
168
|
+
|
169
|
+
class TestLogCmd6 < HammerCLI::AbstractCommand
|
170
|
+
def execute
|
171
|
+
logger.watch "Test", { :password => 'password', "password" => "password" }
|
172
|
+
0
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
176
|
+
it "censors passwords from the debug logs" do
|
177
|
+
test_command = Class.new(TestLogCmd6).new("")
|
178
|
+
HammerCLI::Settings.clear
|
179
|
+
HammerCLI::Settings.load(:watch_plain => true)
|
180
|
+
test_command.run []
|
181
|
+
@log_output.read.must_include "DEBUG TestLogCmd6 : Test\n{\n :password => \"***\",\n \"password\" => \"***\"\n}"
|
182
|
+
end
|
183
|
+
|
184
|
+
it "password parameters should be hidden in logs" do
|
185
|
+
test_command_class = Class.new(HammerCLI::AbstractCommand)
|
186
|
+
test_command_class.option(['--password'], 'PASSWORD', 'Password')
|
187
|
+
test_command = test_command_class.new("")
|
188
|
+
test_command.run ['--password=pass']
|
189
|
+
@log_output.readline.strip.must_equal "INFO HammerCLI::AbstractCommand : Called with options: {\"option_password\"=>\"***\"}"
|
190
|
+
end
|
173
191
|
end
|
174
192
|
|
175
193
|
context "subcommand behavior" do
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), 'test_helper')
|
2
|
+
require 'tempfile'
|
3
|
+
|
4
|
+
describe Logging::LogEvent do
|
5
|
+
context "filtering" do
|
6
|
+
before :each do
|
7
|
+
@log_output = Logging::Appenders['__test__']
|
8
|
+
@log_output.reset
|
9
|
+
end
|
10
|
+
|
11
|
+
it "can filter log data" do
|
12
|
+
Logging::LogEvent.add_data_filter(/pat/, 'mat')
|
13
|
+
Logging.logger.root.debug "pat"
|
14
|
+
Logging::LogEvent.data_filters.pop # clean the last filter
|
15
|
+
@log_output.read.must_include 'mat'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/test/unit/settings_test.rb
CHANGED
@@ -91,7 +91,7 @@ describe HammerCLI::Settings do
|
|
91
91
|
end
|
92
92
|
|
93
93
|
it "loads settings from file" do
|
94
|
-
|
94
|
+
[config1.path, config2.path].each { |config| settings.load_from_file config }
|
95
95
|
settings.get(:host).must_equal 'https://localhost.localdomain/'
|
96
96
|
settings.get(:username).must_equal 'admin'
|
97
97
|
end
|
@@ -103,7 +103,7 @@ describe HammerCLI::Settings do
|
|
103
103
|
end
|
104
104
|
|
105
105
|
it "store config path history" do
|
106
|
-
|
106
|
+
[config1.path, config2.path].each { |config| settings.load_from_file config }
|
107
107
|
settings.path_history.must_equal [config1.path, config2.path]
|
108
108
|
end
|
109
109
|
|
@@ -120,7 +120,8 @@ describe HammerCLI::Settings do
|
|
120
120
|
f.write(" :param2: 'value2'\n")
|
121
121
|
end
|
122
122
|
|
123
|
-
settings.load_from_paths [
|
123
|
+
settings.load_from_paths [dir]
|
124
|
+
settings.load_from_file config1.path
|
124
125
|
|
125
126
|
settings.get(:host).must_equal 'https://localhost/'
|
126
127
|
settings.get(:username).must_equal 'admin'
|
data/test/unit/test_helper.rb
CHANGED
@@ -8,13 +8,13 @@ SimpleCov.start do
|
|
8
8
|
end
|
9
9
|
SimpleCov.root Pathname.new(File.dirname(__FILE__) + "../../../")
|
10
10
|
|
11
|
-
|
12
11
|
require 'minitest/autorun'
|
13
12
|
require 'minitest/spec'
|
14
13
|
require "minitest-spec-context"
|
15
14
|
require "mocha/setup"
|
16
15
|
|
17
16
|
require 'hammer_cli'
|
17
|
+
require 'hammer_cli/logger'
|
18
18
|
|
19
19
|
Logging.logger.root.appenders = Logging::Appenders['__test__'] || Logging::Appenders::StringIo.new('__test__')
|
20
20
|
|