58
58
takes_args = ["person_name"]
59
takes_options = [Option("output-file", short_name="o",
59
takes_options = [Option("output-file", short_name="o", type=str,
60
60
help="Write HTML to file.")]
61
61
_see_also = ["launchpad-login"]
66
66
bugs = get_person_assigned_bugs(launchpad, person_name)
67
67
for bug in sorted(bugs, compare_bugs):
69
self._write_output(generate_html(milestone), output_file)
69
self.write_output(generate_html(milestone), output_file)
72
72
class cmd_generate_milestone_kanban(HTMLOutputMixin, Command):
73
73
"""Print an HTML kanban board for a milestone to the screen."""
75
75
takes_args = ["project_group", "milestone_name"]
76
takes_options = [Option("output-file", short_name="o",
77
help="Write HTML to file.")]
76
takes_options = [Option("output-file", short_name="o", type=str,
77
help="Write HTML to file."),
78
Option("warning-limit", short_name="w", type=int,
79
help="The number of days to wait before showing "
78
81
_see_also = ["launchpad-login"]
80
def run(self, project_group, milestone_name, output_file=None):
83
def run(self, project_group, milestone_name, output_file=None,
81
85
launchpad = get_launchpad()
82
milestone = Milestone(project_group, milestone_name)
86
milestone = Milestone(project_group, milestone_name,
87
warning_limit=warning_limit)
83
88
bugs = get_milestone_bugs(launchpad, project_group, milestone_name)
84
89
for bug in sorted(bugs, compare_bugs):
86
self._write_output(generate_html(milestone), output_file)
91
self.write_output(generate_html(milestone), output_file)
89
94
class cmd_generate_roadmap(HTMLOutputMixin, Command):