hammer_cli_foreman_tasks 0.0.12 → 0.0.16

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.
Files changed (44) hide show
  1. checksums.yaml +5 -5
  2. data/lib/hammer_cli_foreman_tasks.rb +1 -0
  3. data/lib/hammer_cli_foreman_tasks/command_extensions.rb +3 -0
  4. data/lib/hammer_cli_foreman_tasks/command_extensions/recurring_logic.rb +55 -0
  5. data/lib/hammer_cli_foreman_tasks/helper.rb +8 -5
  6. data/lib/hammer_cli_foreman_tasks/recurring_logic.rb +37 -3
  7. data/lib/hammer_cli_foreman_tasks/task.rb +42 -3
  8. data/lib/hammer_cli_foreman_tasks/task_progress.rb +11 -4
  9. data/lib/hammer_cli_foreman_tasks/version.rb +1 -1
  10. data/locale/de/hammer_cli_foreman_tasks.po +19 -52
  11. data/locale/en/hammer_cli_foreman_tasks.po +13 -2
  12. data/locale/es/hammer_cli_foreman_tasks.po +37 -69
  13. data/locale/fr/hammer_cli_foreman_tasks.po +16 -46
  14. data/locale/hammer_cli_foreman_tasks.pot +3 -3
  15. data/locale/it/hammer_cli_foreman_tasks.po +16 -47
  16. data/locale/ja/hammer_cli_foreman_tasks.po +16 -47
  17. data/locale/ko/hammer_cli_foreman_tasks.po +36 -65
  18. data/locale/pt_BR/hammer_cli_foreman_tasks.po +18 -47
  19. data/locale/ru/hammer_cli_foreman_tasks.po +18 -47
  20. data/locale/zh_CN/hammer_cli_foreman_tasks.po +18 -50
  21. data/locale/zh_TW/hammer_cli_foreman_tasks.po +18 -46
  22. metadata +20 -35
  23. data/locale/de/hammer_cli_foreman_tasks.edit.po +0 -121
  24. data/locale/de/hammer_cli_foreman_tasks.po.time_stamp +0 -0
  25. data/locale/en/hammer_cli_foreman_tasks.edit.po +0 -118
  26. data/locale/en/hammer_cli_foreman_tasks.po.time_stamp +0 -0
  27. data/locale/es/hammer_cli_foreman_tasks.edit.po +0 -121
  28. data/locale/es/hammer_cli_foreman_tasks.po.time_stamp +0 -0
  29. data/locale/fr/hammer_cli_foreman_tasks.edit.po +0 -118
  30. data/locale/fr/hammer_cli_foreman_tasks.po.time_stamp +0 -0
  31. data/locale/it/hammer_cli_foreman_tasks.edit.po +0 -119
  32. data/locale/it/hammer_cli_foreman_tasks.po.time_stamp +0 -0
  33. data/locale/ja/hammer_cli_foreman_tasks.edit.po +0 -119
  34. data/locale/ja/hammer_cli_foreman_tasks.po.time_stamp +0 -0
  35. data/locale/ko/hammer_cli_foreman_tasks.edit.po +0 -117
  36. data/locale/ko/hammer_cli_foreman_tasks.po.time_stamp +0 -0
  37. data/locale/pt_BR/hammer_cli_foreman_tasks.edit.po +0 -118
  38. data/locale/pt_BR/hammer_cli_foreman_tasks.po.time_stamp +0 -0
  39. data/locale/ru/hammer_cli_foreman_tasks.edit.po +0 -120
  40. data/locale/ru/hammer_cli_foreman_tasks.po.time_stamp +0 -0
  41. data/locale/zh_CN/hammer_cli_foreman_tasks.edit.po +0 -121
  42. data/locale/zh_CN/hammer_cli_foreman_tasks.po.time_stamp +0 -0
  43. data/locale/zh_TW/hammer_cli_foreman_tasks.edit.po +0 -117
  44. data/locale/zh_TW/hammer_cli_foreman_tasks.po.time_stamp +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: e0692446b3ec745d0ab8636fc100443690a9e562
4
- data.tar.gz: fe98659b39aae68eae3cafc0705a9cef3ad95822
2
+ SHA256:
3
+ metadata.gz: ec71b6d46c5b0bb4e7964c4bd59c75113a34905df7aaecf33a5b15799dfb1475
4
+ data.tar.gz: 9ebd5f6869ae7ffc42f516ad2af72b6bed78c03fd801b214ebba4728a1f3e320
5
5
  SHA512:
6
- metadata.gz: 49940870a441e80d680aad0689cb6392ed2abed8b8499e26708d70a5c0834144ac8b57a215f281865604d93fc5b78d841ca317103f9d4970e56969cca5d48d16
7
- data.tar.gz: 849d24914d3d05ee8b27e257eda6b34c95d30007de9a989a42015b5c3085a47ced2f821f2f124aaace28fd225ef8b5e80fb23dd90383980e5ea60238f7c119d5
6
+ metadata.gz: 8a952d7450b20da3f4a4ea2a7c632fe67671af30a606dab2a3139ad6fc1ebaaf0a889780fb37834afc620296a215e4100ee99ee63e114ae270f55d2726a892f7
7
+ data.tar.gz: af0dcf883b5a7bb7c9660a7ba8e8b7cc362af2b67bf22034766604cd04f21c5abbdca6a9dc97a269a6b91966670ecab5e7fe66dee6f073109c561dae668ea27b
@@ -1,4 +1,5 @@
1
1
  module HammerCLIForemanTasks
2
+ require 'hammer_cli_foreman_tasks/command_extensions'
2
3
  require 'hammer_cli_foreman_tasks/helper'
3
4
  require 'hammer_cli_foreman_tasks/task_progress'
4
5
  require 'hammer_cli_foreman_tasks/async_command'
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'hammer_cli_foreman_tasks/command_extensions/recurring_logic'
@@ -0,0 +1,55 @@
1
+ require 'date'
2
+
3
+ module HammerCLIForemanTasks
4
+ module CommandExtensions
5
+ class RecurringLogic < HammerCLI::CommandExtensions
6
+ before_print do |data|
7
+ data['action'] = format_task_input(data['tasks'].last)
8
+ data['last_occurrence'] = recurring_logic_last_occurrence(data)
9
+ data['next_occurrence'] = recurring_logic_next_occurrence(data)
10
+ data['iteration_limit'] = format_recurring_logic_limit(data['max_iteration'])
11
+ data['repeat_until'] = format_recurring_logic_limit(data['end_time'])
12
+ end
13
+
14
+ output do |definition|
15
+ definition.insert(:after, :cron_line) do
16
+ field :action, _('Action')
17
+ field :last_occurrence, _('Last occurrence')
18
+ field :next_occurrence, _('Next occurrence')
19
+ end
20
+ definition.insert(:after, :iteration) do
21
+ field :iteration_limit, _('Iteration limit')
22
+ end
23
+ definition.insert(:replace, :end_time) do
24
+ field :repeat_until, _('Repeat until')
25
+ end
26
+ end
27
+
28
+ def self.recurring_logic_last_occurrence(recurring_logic)
29
+ last_task = recurring_logic['tasks'].select { |t| t['started_at'] }
30
+ .max { |a, b| a['started_at'] <=> b['started_at'] }
31
+ return '-' if last_task.nil? || last_task['started_at'].nil?
32
+
33
+ last_task['started_at']
34
+ end
35
+
36
+ def self.recurring_logic_next_occurrence(recurring_logic)
37
+ default = '-'
38
+ return default if %w[cancelled finished disabled].include?(recurring_logic['state'])
39
+
40
+ last_task = recurring_logic['tasks'].max { |a, b| a['start_at'] <=> b['start_at'] }
41
+ last_task ? last_task['start_at'] : default
42
+ end
43
+
44
+ def self.format_task_input(task)
45
+ return '-' unless task
46
+
47
+ task['action']
48
+ end
49
+
50
+ def self.format_recurring_logic_limit(thing)
51
+ thing || _('Unlimited')
52
+ end
53
+ end
54
+ end
55
+ end
@@ -1,17 +1,20 @@
1
1
  module HammerCLIForemanTasks
2
2
  module Helper
3
-
4
3
  # render the progress of the task using polling to the task API
5
4
  def task_progress(task_or_id)
6
5
  task_id = task_or_id.is_a?(Hash) ? task_or_id['id'] : task_or_id
7
- task_progress = TaskProgress.new(task_id) { |id| load_task(id) }
8
- task_progress.render
9
- task_progress.success?
6
+ if !task_id.empty?
7
+ options = { verbosity: @context[:verbosity] || HammerCLI::V_VERBOSE }
8
+ task_progress = TaskProgress.new(task_id, options) { |id| load_task(id) }
9
+ task_progress.render
10
+ task_progress.success?
11
+ else
12
+ signal_usage_error(_('Please mention appropriate attribute value'))
13
+ end
10
14
  end
11
15
 
12
16
  def load_task(id)
13
17
  HammerCLIForeman.foreman_resource!(:foreman_tasks).call(:show, :id => id)
14
18
  end
15
-
16
19
  end
17
20
  end
@@ -6,8 +6,8 @@ module HammerCLIForemanTasks
6
6
  output do
7
7
  field :id, _('ID')
8
8
  field :cron_line, _('Cron line')
9
- field :end_time, _('End time')
10
9
  field :iteration, _('Iteration')
10
+ field :end_time, _('End time')
11
11
  field :state, _('State')
12
12
  end
13
13
 
@@ -17,18 +17,52 @@ module HammerCLIForemanTasks
17
17
  class InfoCommand < HammerCLIForeman::InfoCommand
18
18
  output ListCommand.output_definition
19
19
  build_options
20
+
21
+ extend_with(HammerCLIForemanTasks::CommandExtensions::RecurringLogic.new)
20
22
  end
21
23
 
22
24
  class CancelCommand < HammerCLIForeman::DeleteCommand
23
25
  action :cancel
24
26
  command_name 'cancel'
25
27
  success_message _('Recurring logic cancelled.')
26
- failure_message _('Could not cancel the recurring logic.')
28
+ failure_message _('Could not cancel the recurring logic')
27
29
  build_options
28
30
  end
31
+
32
+ class DeleteCommand < HammerCLIForeman::DeleteCommand
33
+ action :bulk_destroy
34
+
35
+ option '--cancelled', :flag, _("Only delete cancelled recurring logics")
36
+ option '--finished', :flag, _("Only delete finished recurring logics")
37
+ def request_params
38
+ params = super
39
+ raise ArgumentError, "Please specify if you want to remove cancelled or finished recurring logics using --cancelled or --finished." unless (options['option_cancelled'] || options["option_finished"])
40
+ raise ArgumentError, "Please only use one of the arguments at a time." if (options['option_cancelled'] && options["option_finished"])
41
+ cancelled = "state=cancelled" if options["option_cancelled"]
42
+ finished = "state=finished" if options["option_finished"]
43
+ params["search"] = cancelled || finished
44
+ params
45
+ end
46
+
47
+ command_name 'delete'
48
+ desc _("Delete all recuring logics filtered by the arguments")
49
+ failure_message _('Could not delete recurring logics')
50
+ output ListCommand.output_definition
51
+
52
+ def execute
53
+ response = send_request
54
+ if response.length > 0
55
+ puts _('The following recurring logics deleted:') + "\n"
56
+ print_data(response)
57
+ else
58
+ puts _("No recurring logics deleted.")
59
+ end
60
+ HammerCLI::EX_OK
61
+ end
62
+ end
29
63
 
30
64
  autoload_subcommands
31
65
  end
32
66
 
33
- HammerCLI::MainCommand.subcommand 'recurring-logic', _('Recurring logic related actions.'), RecurringLogic
67
+ HammerCLI::MainCommand.subcommand 'recurring-logic', _('Recurring logic related actions'), RecurringLogic
34
68
  end
@@ -3,6 +3,19 @@ module HammerCLIForemanTasks
3
3
 
4
4
  resource :foreman_tasks
5
5
 
6
+ module WithoutNameOption
7
+ def create_option_builder
8
+ HammerCLI::Apipie::OptionBuilder.new(resource, resource.action(action), :require_options => false)
9
+ end
10
+ end
11
+
12
+ module ActionField
13
+ def extend_data(task)
14
+ task["action"] = [task["humanized"]["action"], task["humanized"]["input"]].join(' ')
15
+ task
16
+ end
17
+ end
18
+
6
19
  class ProgressCommand < HammerCLIForeman::Command
7
20
 
8
21
  include HammerCLIForemanTasks::Helper
@@ -21,26 +34,52 @@ module HammerCLIForemanTasks
21
34
  end
22
35
 
23
36
  class ListCommand < HammerCLIForeman::ListCommand
37
+ extend WithoutNameOption
38
+ include ActionField
39
+
24
40
  output do
25
41
  field :id, _('ID')
26
- field :action, _('Name')
27
- field :username, _('Owner')
42
+ field :action, _('Action')
43
+ field :state, _('State')
44
+ field :result, _('Result')
28
45
  field :started_at, _('Started at'), Fields::Date
29
46
  field :ended_at, _('Ended at'), Fields::Date
47
+ field :username, _('Owner')
48
+
49
+ from :humanized do
50
+ field :errors, _('Task errors'), Fields::List, :hide_blank => true
51
+ end
52
+ end
53
+
54
+ build_options
55
+ end
56
+
57
+ class InfoCommand < HammerCLIForeman::InfoCommand
58
+ extend WithoutNameOption
59
+ include ActionField
60
+
61
+ output do
62
+ field :id, _('ID')
63
+ field :action, _('Action')
30
64
  field :state, _('State')
31
65
  field :result, _('Result')
66
+ field :started_at, _('Started at'), Fields::Date
67
+ field :ended_at, _('Ended at'), Fields::Date
68
+ field :username, _('Owner')
69
+
32
70
  from :humanized do
33
- field :action, _('Task action')
34
71
  field :errors, _('Task errors'), Fields::List, :hide_blank => true
35
72
  end
36
73
  end
37
74
 
38
75
  build_options
76
+
39
77
  end
40
78
 
41
79
  class ResumeCommand < HammerCLIForeman::InfoCommand
42
80
  action :bulk_resume
43
81
 
82
+
44
83
  command_name "resume"
45
84
  desc _("Resume all tasks paused in error state")
46
85
 
@@ -3,10 +3,11 @@ module HammerCLIForemanTasks
3
3
  class TaskProgress
4
4
  attr_accessor :interval, :task
5
5
 
6
- def initialize(task_id, &block)
6
+ def initialize(task_id, options = {}, &block)
7
7
  @update_block = block
8
8
  @task_id = task_id
9
9
  @interval = 2
10
+ @options = options
10
11
  end
11
12
 
12
13
  def render
@@ -43,8 +44,10 @@ module HammerCLIForemanTasks
43
44
  end
44
45
 
45
46
  def render_result
46
- puts @task['humanized']['output'] unless @task['humanized']['output'].to_s.empty?
47
- STDERR.puts "Error: #{@task['humanized']['errors'].join("\n")}" unless @task['humanized']['errors'].empty?
47
+ puts @task['humanized']['output'] if !@task['humanized']['output'].to_s.empty? && appropriate_verbosity?
48
+ unless @task['humanized']['errors'].nil? || @task['humanized']['errors'].empty?
49
+ STDERR.puts "Error: #{@task['humanized']['errors'].join("\n")}"
50
+ end
48
51
  end
49
52
 
50
53
  def update_task
@@ -61,11 +64,15 @@ module HammerCLIForemanTasks
61
64
  bar.settings.tty.finite.template.main = '[${<bar>}] [${<percent>%}]'
62
65
  bar.settings.tty.finite.template.padchar = ' '
63
66
  bar.settings.tty.finite.template.barchar = '.'
64
- bar.settings.tty.finite.output = Proc.new { |s| $stderr.print s }
67
+ bar.settings.tty.finite.output = Proc.new { |s| $stderr.print s if appropriate_verbosity? }
65
68
  yield bar
66
69
  ensure
67
70
  bar.close
68
71
  render_result
69
72
  end
73
+
74
+ def appropriate_verbosity?
75
+ @options[:verbosity] >= HammerCLI::V_VERBOSE
76
+ end
70
77
  end
71
78
  end
@@ -1,5 +1,5 @@
1
1
  module HammerCLIForemanTasks
2
2
  def self.version
3
- @version ||= Gem::Version.new('0.0.12')
3
+ @version ||= Gem::Version.new('0.0.16')
4
4
  end
5
5
  end
@@ -1,131 +1,98 @@
1
- # bkearney <bkearney@redhat.com>, 2016. #zanata
2
- # jdimanos <jdimanos@redhat.com>, 2016. #zanata
3
- # lstemmle <lstemmle@redhat.com>, 2016. #zanata
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_foreman_tasks package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ # Translators:
7
+ # Wiederoder <stefanwiederoder@googlemail.com>, 2017
8
+ # Ettore Atalan <atalanttore@googlemail.com>, 2017
9
+ # Bryan Kearney <bryan.kearney@gmail.com>, 2017
10
+ #
11
+ #, fuzzy
4
12
  msgid ""
5
13
  msgstr ""
6
- "Project-Id-Version: hammer_cli_foreman_tasks 0.0.9\n"
14
+ "Project-Id-Version: hammer_cli_foreman_tasks 0.0.12\n"
7
15
  "Report-Msgid-Bugs-To: \n"
8
- "POT-Creation-Date: 2016-02-18 10:36-0500\n"
9
- "PO-Revision-Date: 2016-05-12 11:48+0000\n"
10
- "Last-Translator: lstemmle <lstemmle@redhat.com>\n"
11
- "Language-Team: German\n"
16
+ "PO-Revision-Date: 2017-09-11 13:45+0000\n"
17
+ "Last-Translator: Bryan Kearney <bryan.kearney@gmail.com>, 2017\n"
18
+ "Language-Team: German (https://www.transifex.com/foreman/teams/114/de/)\n"
12
19
  "MIME-Version: 1.0\n"
13
20
  "Content-Type: text/plain; charset=UTF-8\n"
14
21
  "Content-Transfer-Encoding: 8bit\n"
15
22
  "Language: de\n"
16
- "Plural-Forms: nplurals=2; plural=(n != 1)\n"
17
- "X-Generator: Zanata 3.8.4\n"
23
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18
24
 
19
- #: ../lib/hammer_cli_foreman_tasks/recurring_logic.rb:7
20
- #: ../lib/hammer_cli_foreman_tasks/task.rb:25
21
25
  msgid "ID"
22
26
  msgstr "ID"
23
27
 
24
- #: ../lib/hammer_cli_foreman_tasks/recurring_logic.rb:8
25
28
  msgid "Cron line"
26
29
  msgstr "Cron-Zeile"
27
30
 
28
- #: ../lib/hammer_cli_foreman_tasks/recurring_logic.rb:9
29
31
  msgid "End time"
30
32
  msgstr "Endzeit"
31
33
 
32
- #: ../lib/hammer_cli_foreman_tasks/recurring_logic.rb:10
33
34
  msgid "Iteration"
34
35
  msgstr "Wiederholung"
35
36
 
36
- #: ../lib/hammer_cli_foreman_tasks/recurring_logic.rb:11
37
- #: ../lib/hammer_cli_foreman_tasks/task.rb:30
38
37
  msgid "State"
39
38
  msgstr "Status"
40
39
 
41
- #: ../lib/hammer_cli_foreman_tasks/recurring_logic.rb:25
42
- #, fuzzy
43
40
  msgid "Recurring logic cancelled."
44
- msgstr "Wiederkehrende Logik abgebrochen."
41
+ msgstr "Wiederholungslogik abgebrochen."
45
42
 
46
- #: ../lib/hammer_cli_foreman_tasks/recurring_logic.rb:26
47
43
  msgid "Could not cancel the recurring logic."
48
- msgstr "Wiederkehrende Logik konnte nicht abgebrochen werden."
44
+ msgstr "Wiederholungslogik konnte nicht abgebrochen werden."
49
45
 
50
- #: ../lib/hammer_cli_foreman_tasks/recurring_logic.rb:33
51
46
  msgid "Recurring logic related actions."
52
- msgstr "Aktionen im Zusammenhang mit wiederkehrender Logik"
47
+ msgstr "Aktionen im Zusammenhang mit Wiederholungslogik"
53
48
 
54
- #: ../lib/hammer_cli_foreman_tasks/task.rb:14
55
49
  msgid "Show the progress of the task"
56
50
  msgstr "Fortschritt der Aufgabe anzeigen"
57
51
 
58
- #: ../lib/hammer_cli_foreman_tasks/task.rb:26
59
52
  msgid "Name"
60
53
  msgstr "Name"
61
54
 
62
- #: ../lib/hammer_cli_foreman_tasks/task.rb:27
63
55
  msgid "Owner"
64
56
  msgstr "Besitzer"
65
57
 
66
- #: ../lib/hammer_cli_foreman_tasks/task.rb:28
67
58
  msgid "Started at"
68
59
  msgstr "Gestartet um"
69
60
 
70
- #: ../lib/hammer_cli_foreman_tasks/task.rb:29
71
61
  msgid "Ended at"
72
62
  msgstr "Beendet um"
73
63
 
74
- # translation auto-copied from project Red Hat Satellite Installation Guide,
75
- # version 6.0, document chap-
76
- # Uninstalling_Red_Hat_Satellite_Server_and_Capsule_Server
77
- #: ../lib/hammer_cli_foreman_tasks/task.rb:31
78
64
  msgid "Result"
79
65
  msgstr "Ergebnis"
80
66
 
81
- #: ../lib/hammer_cli_foreman_tasks/task.rb:33
82
- #: ../lib/hammer_cli_foreman_tasks/task.rb:54
83
- #: ../lib/hammer_cli_foreman_tasks/task.rb:63
84
- #: ../lib/hammer_cli_foreman_tasks/task.rb:72
85
67
  msgid "Task action"
86
68
  msgstr "Aufgabenaktion"
87
69
 
88
- #: ../lib/hammer_cli_foreman_tasks/task.rb:34
89
- #: ../lib/hammer_cli_foreman_tasks/task.rb:55
90
- #: ../lib/hammer_cli_foreman_tasks/task.rb:64
91
- #: ../lib/hammer_cli_foreman_tasks/task.rb:73
92
70
  msgid "Task errors"
93
71
  msgstr "Aufgabenfehler"
94
72
 
95
- #: ../lib/hammer_cli_foreman_tasks/task.rb:45
96
73
  msgid "Resume all tasks paused in error state"
97
74
  msgstr "Alle in Fehler-Status angehaltenen Aufgaben fortsetzen"
98
75
 
99
- #: ../lib/hammer_cli_foreman_tasks/task.rb:48
100
76
  msgid "Total tasks found paused in error state"
101
77
  msgstr "Alle in Fehler-Status gefundenen Aufgaben "
102
78
 
103
- #: ../lib/hammer_cli_foreman_tasks/task.rb:50
104
79
  msgid "Total tasks resumed"
105
80
  msgstr "Insgesamt fortgesetzte Aufgaben"
106
81
 
107
- #: ../lib/hammer_cli_foreman_tasks/task.rb:51
108
82
  msgid "Resumed tasks"
109
83
  msgstr "Fortgesetzte Aufgaben"
110
84
 
111
- #: ../lib/hammer_cli_foreman_tasks/task.rb:52
112
- #: ../lib/hammer_cli_foreman_tasks/task.rb:61
113
- #: ../lib/hammer_cli_foreman_tasks/task.rb:70
114
85
  msgid "Task identifier"
115
86
  msgstr "Aufgabenbezeichner"
116
87
 
117
- #: ../lib/hammer_cli_foreman_tasks/task.rb:59
118
88
  msgid "Total tasks failed to resume"
119
89
  msgstr "Gesamtzahl der Aufgaben, die nicht fortgesetzt werden konnten"
120
90
 
121
- #: ../lib/hammer_cli_foreman_tasks/task.rb:60
122
91
  msgid "Failed tasks"
123
92
  msgstr "Fehlgeschlagene Aufgaben"
124
93
 
125
- #: ../lib/hammer_cli_foreman_tasks/task.rb:68
126
94
  msgid "Total tasks skipped"
127
95
  msgstr "Insgesamt übersprungene Aufgaben"
128
96
 
129
- #: ../lib/hammer_cli_foreman_tasks/task.rb:69
130
97
  msgid "Skipped tasks"
131
98
  msgstr "Übersprungene Aufgaben"