hammer_cli 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/bin/hammer +3 -1
  3. data/config/cli_config.template.yml +3 -0
  4. data/doc/creating_commands.md +1 -1
  5. data/doc/installation.md +3 -2
  6. data/doc/release_notes.md +17 -0
  7. data/doc/writing_a_plugin.md +1 -1
  8. data/lib/hammer_cli/abstract.rb +46 -9
  9. data/lib/hammer_cli/apipie/command.rb +10 -1
  10. data/lib/hammer_cli/apipie/option_builder.rb +29 -11
  11. data/lib/hammer_cli/apipie/option_definition.rb +18 -0
  12. data/lib/hammer_cli/apipie/resource.rb +4 -22
  13. data/lib/hammer_cli/exception_handler.rb +18 -6
  14. data/lib/hammer_cli/exceptions.rb +1 -0
  15. data/lib/hammer_cli/i18n.rb +4 -0
  16. data/lib/hammer_cli/main.rb +2 -0
  17. data/lib/hammer_cli/modules.rb +30 -2
  18. data/lib/hammer_cli/options/matcher.rb +48 -0
  19. data/lib/hammer_cli/output/adapter.rb +3 -1
  20. data/lib/hammer_cli/output/adapter/csv.rb +5 -2
  21. data/lib/hammer_cli/output/adapter/json.rb +17 -0
  22. data/lib/hammer_cli/output/adapter/table.rb +11 -17
  23. data/lib/hammer_cli/output/adapter/tree_structure.rb +74 -0
  24. data/lib/hammer_cli/output/adapter/wrapper_formatter.rb +20 -0
  25. data/lib/hammer_cli/output/adapter/yaml.rb +16 -0
  26. data/lib/hammer_cli/shell.rb +3 -8
  27. data/lib/hammer_cli/utils.rb +10 -0
  28. data/lib/hammer_cli/version.rb +1 -1
  29. data/locale/de/LC_MESSAGES/hammer-cli.mo +0 -0
  30. data/locale/de/hammer-cli.po +296 -0
  31. data/locale/en/LC_MESSAGES/hammer-cli.mo +0 -0
  32. data/locale/en/hammer-cli.po +1 -1
  33. data/locale/en_GB/LC_MESSAGES/hammer-cli.mo +0 -0
  34. data/locale/en_GB/hammer-cli.po +133 -133
  35. data/locale/es/LC_MESSAGES/hammer-cli.mo +0 -0
  36. data/locale/es/hammer-cli.po +148 -147
  37. data/locale/fr/LC_MESSAGES/hammer-cli.mo +0 -0
  38. data/locale/fr/hammer-cli.po +142 -141
  39. data/locale/hammer-cli.pot +39 -32
  40. data/locale/it/LC_MESSAGES/hammer-cli.mo +0 -0
  41. data/locale/it/hammer-cli.po +293 -0
  42. data/locale/ja/LC_MESSAGES/hammer-cli.mo +0 -0
  43. data/locale/ja/hammer-cli.po +291 -0
  44. data/locale/ko/LC_MESSAGES/hammer-cli.mo +0 -0
  45. data/locale/ko/hammer-cli.po +292 -0
  46. data/locale/pt_BR/LC_MESSAGES/hammer-cli.mo +0 -0
  47. data/locale/pt_BR/hammer-cli.po +294 -0
  48. data/locale/ru/LC_MESSAGES/hammer-cli.mo +0 -0
  49. data/locale/ru/hammer-cli.po +293 -0
  50. data/locale/zh_CN/LC_MESSAGES/hammer-cli.mo +0 -0
  51. data/locale/zh_CN/hammer-cli.po +292 -0
  52. data/locale/zh_TW/LC_MESSAGES/hammer-cli.mo +0 -0
  53. data/locale/zh_TW/hammer-cli.po +292 -0
  54. data/test/unit/apipie/command_test.rb +22 -0
  55. data/test/unit/apipie/option_builder_test.rb +21 -7
  56. data/test/unit/apipie/option_definition_test.rb +26 -0
  57. data/test/unit/fixtures/apipie/documented.json +26 -0
  58. data/test/unit/modules_test.rb +13 -2
  59. data/test/unit/options/matcher_test.rb +61 -0
  60. data/test/unit/output/adapter/json_test.rb +214 -0
  61. data/test/unit/output/adapter/table_test.rb +66 -0
  62. data/test/unit/output/adapter/yaml_test.rb +213 -0
  63. data/test/unit/utils_test.rb +17 -0
  64. metadata +249 -205
@@ -0,0 +1,48 @@
1
+
2
+ module HammerCLI
3
+ module Options
4
+
5
+ class Matcher
6
+
7
+ def initialize(filter)
8
+ @filter = filter
9
+ end
10
+
11
+ def matches?(option)
12
+ @filter.each do |attribute, filter|
13
+ return false if !attribute_matches?(option, attribute, filter)
14
+ end
15
+ return true
16
+ end
17
+
18
+ protected
19
+
20
+ def attribute_matches?(option, attribute, filter)
21
+ if filter.is_a? Array
22
+ return filter.any? {|filter_part| attribute_matches?(option, attribute, filter_part)}
23
+ elsif filter.is_a? Regexp
24
+ return attribute_matches_regexp?(option, attribute, filter)
25
+ else
26
+ return attribute_matches_value?(option, attribute, filter)
27
+ end
28
+ end
29
+
30
+ def attribute_matches_value?(option, attribute, filter)
31
+ get_attribute_value(option, attribute) == filter
32
+ end
33
+
34
+ def attribute_matches_regexp?(option, attribute, filter)
35
+ get_attribute_value(option, attribute) =~ filter
36
+ end
37
+
38
+ def get_attribute_value(option, attribute_name)
39
+ option.send(attribute_name)
40
+ rescue NoMethodError
41
+ nil
42
+ end
43
+
44
+ end
45
+
46
+
47
+ end
48
+ end
@@ -3,5 +3,7 @@ require File.join(File.dirname(__FILE__), 'adapter/base')
3
3
  require File.join(File.dirname(__FILE__), 'adapter/table')
4
4
  require File.join(File.dirname(__FILE__), 'adapter/silent')
5
5
  require File.join(File.dirname(__FILE__), 'adapter/csv')
6
-
6
+ require File.join(File.dirname(__FILE__), 'adapter/tree_structure')
7
+ require File.join(File.dirname(__FILE__), 'adapter/yaml')
8
+ require File.join(File.dirname(__FILE__), 'adapter/json')
7
9
 
@@ -8,6 +8,8 @@ else
8
8
  # CSV is now FasterCSV in ruby 1.9
9
9
  end
10
10
 
11
+ require File.join(File.dirname(__FILE__), 'wrapper_formatter')
12
+
11
13
  module HammerCLI::Output::Adapter
12
14
 
13
15
  class CSValues < Abstract
@@ -37,8 +39,9 @@ module HammerCLI::Output::Adapter
37
39
  end
38
40
 
39
41
  def formatted_value
40
- formatter = @formatters.formatter_for_type(@field_wrapper.field.class)
41
- formatter ? formatter.format(value) : value.to_s
42
+ WrapperFormatter.new(
43
+ @formatters.formatter_for_type(@field_wrapper.field.class),
44
+ @field_wrapper.field.parameters).format(value)
42
45
  end
43
46
 
44
47
  def self.values(headers, cells)
@@ -0,0 +1,17 @@
1
+ module HammerCLI::Output::Adapter
2
+ class Json < TreeStructure
3
+
4
+ def print_record(fields, record)
5
+ result = prepare_collection(fields, [record].flatten(1))
6
+ puts JSON.pretty_generate(result.first)
7
+ end
8
+
9
+ def print_collection(fields, collection)
10
+ result = prepare_collection(fields, collection)
11
+ puts JSON.pretty_generate(result)
12
+ end
13
+
14
+ end
15
+
16
+ HammerCLI::Output::Output.register_adapter(:json, Json)
17
+ end
@@ -1,24 +1,8 @@
1
1
  require 'table_print'
2
+ require File.join(File.dirname(__FILE__), 'wrapper_formatter')
2
3
 
3
4
  module HammerCLI::Output::Adapter
4
5
 
5
- class WrapperFormatter
6
-
7
- def initialize(formatter, params)
8
- @formatter = formatter
9
- @params = params
10
- end
11
-
12
- def format(value)
13
- if @formatter
14
- @formatter.format(value, @params)
15
- else
16
- value
17
- end
18
- end
19
-
20
- end
21
-
22
6
  class Table < Abstract
23
7
 
24
8
  MAX_COLUMN_WIDTH = 80
@@ -44,6 +28,12 @@ module HammerCLI::Output::Adapter
44
28
  row
45
29
  end
46
30
 
31
+ if rows.empty?
32
+ keys = fields.map { |f| [label_for(f), ''] }
33
+ rows = [Hash[keys]]
34
+ @header_only = true
35
+ end
36
+
47
37
  options = fields.collect do |f|
48
38
  { label_for(f) => {
49
39
  :width => max_width_for(f)
@@ -60,6 +50,10 @@ module HammerCLI::Output::Adapter
60
50
  output = sort_columns(printer.table_print, sort_order)
61
51
  dashes = /\n([-|]+)\n/.match(output)
62
52
 
53
+ if @header_only
54
+ output = output.lines.first
55
+ end
56
+
63
57
  puts dashes[1] if dashes
64
58
  puts output
65
59
  puts dashes[1] if dashes
@@ -0,0 +1,74 @@
1
+ module HammerCLI::Output::Adapter
2
+ class TreeStructure < Abstract
3
+
4
+ def prepare_collection(fields, collection)
5
+ collection.map do |element|
6
+ render_fields(fields, element)
7
+ end
8
+ end
9
+
10
+ protected
11
+ def field_filter
12
+ filtered = []
13
+ filtered << Fields::Id unless @context[:show_ids]
14
+ HammerCLI::Output::FieldFilter.new(filtered)
15
+ end
16
+
17
+ def filter_fields(fields, data)
18
+ field_filter.filter(fields).reject do |field|
19
+ field_data = data_for_field(field, data)
20
+ not field.display?(field_data)
21
+ end
22
+ end
23
+
24
+ def render_fields(fields, data)
25
+ fields = filter_fields(fields, data)
26
+
27
+ fields.reduce({}) do |hash, field|
28
+ field_data = data_for_field(field, data)
29
+ next unless field.display?(field_data)
30
+ hash.update(field.label => render_field(field, field_data))
31
+ end
32
+ end
33
+
34
+ def render_field(field, data)
35
+ if field.is_a? Fields::ContainerField
36
+ data = [data] unless data.is_a? Array
37
+ fields_data = data.map do |d|
38
+ render_fields(field.fields, d)
39
+ end
40
+ render_data(field, map_data(fields_data))
41
+ else
42
+ data
43
+ end
44
+ end
45
+
46
+ def render_data(field, data)
47
+ if field.is_a?(Fields::Collection)
48
+ if(field.parameters[:numbered])
49
+ numbered_data(data)
50
+ else # necislovana kolekce je pole
51
+ data
52
+ end
53
+ else
54
+ data.first
55
+ end
56
+ end
57
+
58
+ def map_data(data)
59
+ if data.any? { |d| d.key?(nil) }
60
+ data.map! { |d| d.values.first }
61
+ end
62
+ data
63
+ end
64
+
65
+ def numbered_data(data)
66
+ i = 0
67
+ data.inject({}) do |hash, value|
68
+ i += 1
69
+ hash.merge(i => value)
70
+ end
71
+ end
72
+
73
+ end
74
+ end
@@ -0,0 +1,20 @@
1
+ module HammerCLI::Output::Adapter
2
+
3
+ class WrapperFormatter
4
+
5
+ def initialize(formatter, params)
6
+ @formatter = formatter
7
+ @params = params
8
+ end
9
+
10
+ def format(value)
11
+ if @formatter
12
+ @formatter.format(value, @params)
13
+ else
14
+ value
15
+ end
16
+ end
17
+
18
+ end
19
+
20
+ end
@@ -0,0 +1,16 @@
1
+ module HammerCLI::Output::Adapter
2
+ class Yaml < TreeStructure
3
+
4
+ def print_record(fields, record)
5
+ result = prepare_collection(fields, [record].flatten(1))
6
+ puts YAML.dump(result.first)
7
+ end
8
+
9
+ def print_collection(fields, collection)
10
+ result = prepare_collection(fields, collection)
11
+ puts YAML.dump(result)
12
+ end
13
+
14
+ end
15
+ HammerCLI::Output::Output.register_adapter(:yaml, Yaml)
16
+ end
@@ -82,13 +82,9 @@ module HammerCLI
82
82
  def execute
83
83
  ShellMainCommand.load_commands(HammerCLI::MainCommand)
84
84
 
85
- if RUBY_VERSION >= "1.9"
86
- Readline.completion_append_character = ''
87
- Readline.completer_word_break_characters = ' ='
88
- Readline.completion_proc = complete_proc
89
- else
90
- Readline.completion_proc = lambda {}
91
- end
85
+ Readline.completion_append_character = ''
86
+ Readline.completer_word_break_characters = ' ='
87
+ Readline.completion_proc = complete_proc
92
88
 
93
89
  stty_save = `stty -g`.chomp
94
90
 
@@ -119,7 +115,6 @@ module HammerCLI
119
115
  def print_welcome_message
120
116
  print_message(_("Welcome to the hammer interactive shell"))
121
117
  print_message(_("Type 'help' for usage information"))
122
- print_message(_("Command completion is disabled on ruby < 1.9 due to compatibility problems.")) if RUBY_VERSION < "1.9"
123
118
  end
124
119
 
125
120
  def common_prefix(results)
@@ -24,6 +24,16 @@ class String
24
24
  gsub(/^/, indent_str)
25
25
  end
26
26
 
27
+ def underscore
28
+ word = self.dup
29
+ word.gsub!(/::/, '/')
30
+ word.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
31
+ word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
32
+ word.tr!("-", "_")
33
+ word.downcase!
34
+ word
35
+ end
36
+
27
37
  def constantize
28
38
  raise NameError, "Can't constantize empty string" if self.empty?
29
39
  HammerCLI.constant_path(self)[-1]
@@ -1,5 +1,5 @@
1
1
  module HammerCLI
2
2
  def self.version
3
- @version ||= Gem::Version.new '0.1.3'
3
+ @version ||= Gem::Version.new '0.1.4'
4
4
  end
5
5
  end
@@ -0,0 +1,296 @@
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
+ # This file is distributed under the same license as the hammer-cli package.
4
+ #
5
+ # Translators:
6
+ # Dominic Cleal <dcleal@redhat.com>, 2014
7
+ # Ettore Atalan <atalanttore@googlemail.com>, 2014
8
+ # simon11 <simon.stieger.98@live.de>, 2014
9
+ # simon11 <simon.stieger.98@live.de>, 2014
10
+ # Ulrich Habel <rhaen@pkgbox.de>, 2014
11
+ msgid ""
12
+ msgstr ""
13
+ "Project-Id-Version: hammer-cli 0.1.4\n"
14
+ "Report-Msgid-Bugs-To: \n"
15
+ "POT-Creation-Date: 2014-09-15 12:50+0100\n"
16
+ "PO-Revision-Date: 2014-09-16 16:54+0000\n"
17
+ "Last-Translator: Dominic Cleal <dcleal@redhat.com>\n"
18
+ "Language-Team: German (http://www.transifex.com/projects/p/foreman/language/de/)\n"
19
+ "MIME-Version: 1.0\n"
20
+ "Content-Type: text/plain; charset=UTF-8\n"
21
+ "Content-Transfer-Encoding: 8bit\n"
22
+ "Language: de\n"
23
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
24
+
25
+ #: lib/hammer_cli/subcommand.rb:56
26
+ msgid ""
27
+ "can't replace subcommand %<name>s (%<existing_class>s) with %<name>s "
28
+ "(%<new_class>s)"
29
+ msgstr ""
30
+
31
+ #: lib/hammer_cli/logger.rb:28
32
+ msgid "No permissions to create log dir %s"
33
+ msgstr "Keine Berechtigung zum Anlegen von Protokollverzeichnis %s"
34
+
35
+ #: lib/hammer_cli/logger.rb:43
36
+ msgid "File %s not writeable, won't log anything to the file!"
37
+ msgstr "Datei %s ist schreibgeschützt, in diese Datei kann nicht protokolliert werden!"
38
+
39
+ #: lib/hammer_cli/main.rb:7
40
+ msgid "be verbose"
41
+ msgstr "ausführliche Ausgabe"
42
+
43
+ #: lib/hammer_cli/main.rb:8
44
+ msgid "show debugging output "
45
+ msgstr "Debugausgabe anzeigen"
46
+
47
+ #: lib/hammer_cli/main.rb:9
48
+ msgid "path to custom config file"
49
+ msgstr "Pfad zur angepassten Konfigurationsdatei"
50
+
51
+ #: lib/hammer_cli/main.rb:11
52
+ msgid "username to access the remote system"
53
+ msgstr "Benutzername zum Zugriff auf das entfernte System"
54
+
55
+ #: lib/hammer_cli/main.rb:13
56
+ msgid "password to access the remote system"
57
+ msgstr "Passwort zum Zugriff auf das entfernte System"
58
+
59
+ #: lib/hammer_cli/main.rb:15
60
+ msgid "remote system address"
61
+ msgstr "Adresse des entfernten Systems"
62
+
63
+ #: lib/hammer_cli/main.rb:18
64
+ msgid "show version"
65
+ msgstr "Version anzeigen"
66
+
67
+ #: lib/hammer_cli/main.rb:27
68
+ msgid "Show ids of associated resources"
69
+ msgstr "IDs zugehöriger Ressourcen anzeigen"
70
+
71
+ #: lib/hammer_cli/main.rb:29
72
+ msgid "Explicitly turn interactive mode on/off"
73
+ msgstr "Interaktiven Modus explizit aktivieren/deaktivieren"
74
+
75
+ #: lib/hammer_cli/main.rb:33
76
+ msgid "Output as CSV (same as --output=csv)"
77
+ msgstr "Ausgabe als CSV (entspricht --output=csv)"
78
+
79
+ #: lib/hammer_cli/main.rb:34
80
+ msgid "Set output format. One of [%s]"
81
+ msgstr "Ausgabeformat festlegen. Einer von [%s]"
82
+
83
+ #: lib/hammer_cli/main.rb:37
84
+ msgid "Character to separate the values"
85
+ msgstr "Trennzeichen"
86
+
87
+ #: lib/hammer_cli/main.rb:41
88
+ msgid "Get list of possible endings"
89
+ msgstr "Liste möglicher Endungen abrufen"
90
+
91
+ #: lib/hammer_cli/validator.rb:41
92
+ msgid "Unknown option name '%s'"
93
+ msgstr "Unbekannter Optionsname '%s'"
94
+
95
+ #: lib/hammer_cli/validator.rb:62
96
+ msgid "You can't set all options %s at one time"
97
+ msgstr "Nicht alle Optionen %s sind gleichzeitig setzbar"
98
+
99
+ #: lib/hammer_cli/validator.rb:63
100
+ msgid "Options %s are required"
101
+ msgstr "Optionen %s sind erforderlich"
102
+
103
+ #: lib/hammer_cli/validator.rb:79
104
+ msgid "You can't set any of options %s"
105
+ msgstr "Sie können keine der Optionen %s festlegen"
106
+
107
+ #: lib/hammer_cli/validator.rb:80
108
+ msgid "At least one of options %s is required"
109
+ msgstr "Mindestens eine der Optionen %s ist erforderlich"
110
+
111
+ #: lib/hammer_cli/shell.rb:10
112
+ msgid "Print help for commands"
113
+ msgstr "Hilfe anzeigen"
114
+
115
+ #: lib/hammer_cli/shell.rb:22
116
+ msgid "Exit interactive shell"
117
+ msgstr "Interaktive Shell verlassen"
118
+
119
+ #: lib/hammer_cli/shell.rb:120
120
+ msgid "Welcome to the hammer interactive shell"
121
+ msgstr "Willkommen zur interaktiven Hammer-Shell"
122
+
123
+ #: lib/hammer_cli/shell.rb:121
124
+ msgid "Type 'help' for usage information"
125
+ msgstr "Geben Sie \"help\" ein, um Informationen zur Verwendung zu erhalten"
126
+
127
+ #: lib/hammer_cli/shell.rb:122
128
+ msgid ""
129
+ "Command completion is disabled on ruby < 1.9 due to compatibility problems."
130
+ msgstr "Die Befehlsergänzung unter ruby <1.9 wurde deaktiviert aufgrund von Kompatibilitätsproblemen."
131
+
132
+ #: lib/hammer_cli/shell.rb:138
133
+ msgid "Interactive shell"
134
+ msgstr "Interaktive Shell"
135
+
136
+ #: lib/hammer_cli/clamp.rb:5
137
+ msgid "too many arguments"
138
+ msgstr "Zu viele Argumente"
139
+
140
+ #: lib/hammer_cli/clamp.rb:6
141
+ msgid "option '%<option>s' is required"
142
+ msgstr "Option \"%<option>s\" ist erforderlich"
143
+
144
+ #: lib/hammer_cli/clamp.rb:7
145
+ msgid "option '%<option>s' (or env %<env>s) is required"
146
+ msgstr "Option \"%<option>s\" (oder Umgebung %<env>s) ist erforderlich"
147
+
148
+ #: lib/hammer_cli/clamp.rb:8
149
+ msgid "option '%<switch>s': %<message>s"
150
+ msgstr "Option '%<switch>s': %<message>en"
151
+
152
+ #: lib/hammer_cli/clamp.rb:9
153
+ msgid "parameter '%<param>s': %<message>s"
154
+ msgstr "Parameter '%<param>s': %<message>en"
155
+
156
+ #: lib/hammer_cli/clamp.rb:10
157
+ msgid "%<env>s: %<message>s"
158
+ msgstr "%<env>s: %<message>en"
159
+
160
+ #: lib/hammer_cli/clamp.rb:11
161
+ msgid "Unrecognised option '%<switch>s'"
162
+ msgstr "Unbekannte Option \"%<switch>s\""
163
+
164
+ #: lib/hammer_cli/clamp.rb:12
165
+ msgid "No such sub-command '%<name>s'"
166
+ msgstr "Unterbefehl \"%<name>s\" existiert nicht"
167
+
168
+ #: lib/hammer_cli/clamp.rb:13
169
+ msgid "no value provided"
170
+ msgstr "kein Wert geliefert"
171
+
172
+ #: lib/hammer_cli/options/option_definition.rb:68
173
+ msgid "Can be specified multiple times. "
174
+ msgstr "Kann mehrfach angegeben werden."
175
+
176
+ #: lib/hammer_cli/options/option_definition.rb:69
177
+ msgid "Default: "
178
+ msgstr "Standard: "
179
+
180
+ #: lib/hammer_cli/options/option_definition.rb:69
181
+ msgid ", or "
182
+ msgstr ", oder "
183
+
184
+ #: lib/hammer_cli/options/normalizers.rb:26
185
+ msgid "Comma-separated list of key=value."
186
+ msgstr "Kommagetrennte Liste mit Schlüssel-Wert-Paaren."
187
+
188
+ #: lib/hammer_cli/options/normalizers.rb:39
189
+ msgid "value must be defined as a comma-separated list of key=value"
190
+ msgstr "Wert muss als kommagetrennte Liste mit Schlüssel-Wert-Paaren definiert sein"
191
+
192
+ #: lib/hammer_cli/options/normalizers.rb:57
193
+ msgid "Comma separated list of values."
194
+ msgstr "Kommagetrennte Liste von Werten."
195
+
196
+ #: lib/hammer_cli/options/normalizers.rb:69
197
+ msgid "One of true/false, yes/no, 1/0."
198
+ msgstr "Eines von true/false, yes/no, 1/0."
199
+
200
+ #: lib/hammer_cli/options/normalizers.rb:79
201
+ msgid "value must be one of true/false, yes/no, 1/0"
202
+ msgstr "Gültige Werte sind true/false, yes/no, 1/0"
203
+
204
+ #: lib/hammer_cli/options/normalizers.rb:118
205
+ msgid "Unable to parse JSON input"
206
+ msgstr "JSON Eingabe nicht lesbar"
207
+
208
+ #: lib/hammer_cli/options/normalizers.rb:131
209
+ msgid "One of %s"
210
+ msgstr "Einer von %s"
211
+
212
+ #: lib/hammer_cli/options/normalizers.rb:138
213
+ msgid "value must be one of '%s'"
214
+ msgstr "Gültige Werte sind \"%s\""
215
+
216
+ #: lib/hammer_cli/options/normalizers.rb:157
217
+ msgid "Date and time in YYYY-MM-DD HH:MM:SS or ISO 8601 format"
218
+ msgstr "Datum und Uhrzeit im Format JJJJ-MM-TT HH:MM:SS oder ISO-8601-Format"
219
+
220
+ #: lib/hammer_cli/options/normalizers.rb:164
221
+ msgid "'%s' is not a valid date"
222
+ msgstr "'%s' ist kein gültiges Datum."
223
+
224
+ #: lib/hammer_cli/options/normalizers.rb:175
225
+ msgid "Any combination (comma separated list) of '%s'"
226
+ msgstr "Eine Kombination (kommagetrennte Liste) aus \"%s\""
227
+
228
+ #: lib/hammer_cli/options/normalizers.rb:195
229
+ msgid "value must be a combination of '%s'"
230
+ msgstr "Wert muss eine Kombination aus \"%s\" sein"
231
+
232
+ #: lib/hammer_cli/settings.rb:28
233
+ msgid ""
234
+ "Warning: location hammer.modules.d is deprecated, move your module "
235
+ "configurations to cli.modules.d"
236
+ msgstr "Warnung: Speicherort hammer.modules.d ist veraltet, verlegen Sie Ihre Modulkonfigurationen nach cli.modules.d"
237
+
238
+ #: lib/hammer_cli/exception_handler.rb:60
239
+ msgid "Error: %s"
240
+ msgstr "Fehler: %s"
241
+
242
+ #: lib/hammer_cli/exception_handler.rb:66
243
+ msgid "Error: %{message}"
244
+ msgstr "Fehler: %{message}"
245
+
246
+ #: lib/hammer_cli/exception_handler.rb:67
247
+ msgid "See: '%{path} --help'"
248
+ msgstr "Siehe: '%{path} --help'"
249
+
250
+ #: lib/hammer_cli/exception_handler.rb:84
251
+ msgid "Invalid username or password"
252
+ msgstr "Falscher Benutzername oder falsches Passwort"
253
+
254
+ #: lib/hammer_cli/exception_handler.rb:91
255
+ msgid "Could not load the API description from the server"
256
+ msgstr "Die API-Beschreibung konnte nicht vom Server geladen werden"
257
+
258
+ #: lib/hammer_cli/exception_handler.rb:92
259
+ msgid "is the server down?"
260
+ msgstr "ist der Server nicht verfügbar?"
261
+
262
+ #: lib/hammer_cli/exception_handler.rb:93
263
+ msgid ""
264
+ "was '%s' run on the server when using apipie cache? (typical production "
265
+ "settings)"
266
+ msgstr ""
267
+
268
+ #: lib/hammer_cli/output/formatters.rb:154
269
+ msgid "no"
270
+ msgstr "nein"
271
+
272
+ #: lib/hammer_cli/output/formatters.rb:154
273
+ msgid "yes"
274
+ msgstr "ja"
275
+
276
+ #: lib/hammer_cli/output/adapter/csv.rb:171
277
+ msgid "Message"
278
+ msgstr "Hinweis"
279
+
280
+ #: lib/hammer_cli/output/adapter/csv.rb:175
281
+ msgid "Id"
282
+ msgstr "Kennung"
283
+
284
+ #: lib/hammer_cli/output/adapter/csv.rb:180
285
+ msgid "Name"
286
+ msgstr "Name"
287
+
288
+ #: lib/hammer_cli/modules.rb:10
289
+ msgid ""
290
+ "Legacy configuration of modules detected. Check section about configuration "
291
+ "in user manual"
292
+ msgstr "Veraltete Konfiguration von Modulen entdeckt. Prüfen Sie den Abschnitt zum Thema Konfiguration im Benutzerhandbuch"
293
+
294
+ #: lib/hammer_cli/modules.rb:42
295
+ msgid "Warning: An error occured while loading module %s"
296
+ msgstr "Warnung: Beim Laden von Modul %s ist ein Fehler aufgetreten"