Skip to content

Commit d73a5ea

Browse files
authored
Render to stdout by default (#5)
1 parent 1c64126 commit d73a5ea

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

docs/searchindex.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/stack_diff.html

+4-4
Original file line numberDiff line numberDiff line change
@@ -208,23 +208,23 @@ <h1>Python usage<a class="headerlink" href="#python-usage" title="Permalink to t
208208
</dd></dl>
209209
<dl class="py method">
210210
<dt class="sig sig-object py" id="stackdiff.StackDiff.render_changes">
211-
<span class="sig-name descname"><span class="pre">render_changes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">writer</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">IO</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"></span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#stackdiff.StackDiff.render_changes" title="Permalink to this definition"></a></dt>
211+
<span class="sig-name descname"><span class="pre">render_changes</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">writer</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">IO</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span> <span class="o"><span class="pre">=</span></span> <span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"></span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#stackdiff.StackDiff.render_changes" title="Permalink to this definition"></a></dt>
212212
<dd><p>Renders a visualisation of the changes that CloudFormation would apply
213213
if the change set was executed.</p>
214214
<dl class="field-list simple">
215215
<dt class="field-odd">Parameters</dt>
216-
<dd class="field-odd"><p><strong>writer</strong> – Writer</p>
216+
<dd class="field-odd"><p><strong>writer</strong> – Writer (defaults to <code class="docutils literal notranslate"><span class="pre">stdout</span></code>)</p>
217217
</dd>
218218
</dl>
219219
</dd></dl>
220220
<dl class="py method">
221221
<dt class="sig sig-object py" id="stackdiff.StackDiff.render_differences">
222-
<span class="sig-name descname"><span class="pre">render_differences</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">writer</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">IO</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"></span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#stackdiff.StackDiff.render_differences" title="Permalink to this definition"></a></dt>
222+
<span class="sig-name descname"><span class="pre">render_differences</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">writer</span></span><span class="p"><span class="pre">:</span></span> <span class="n"><span class="pre">Optional</span><span class="p"><span class="pre">[</span></span><span class="pre">IO</span><span class="p"><span class="pre">[</span></span><span class="pre">str</span><span class="p"><span class="pre">]</span></span><span class="p"><span class="pre">]</span></span></span> <span class="o"><span class="pre">=</span></span> <span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon"></span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#stackdiff.StackDiff.render_differences" title="Permalink to this definition"></a></dt>
223223
<dd><p>Renders a visualisation of the differences between the stack’s current
224224
template and the change set’s proposed template.</p>
225225
<dl class="field-list simple">
226226
<dt class="field-odd">Parameters</dt>
227-
<dd class="field-odd"><p><strong>writer</strong> – Writer</p>
227+
<dd class="field-odd"><p><strong>writer</strong> – Writer (defaults to <code class="docutils literal notranslate"><span class="pre">stdout</span></code>)</p>
228228
</dd>
229229
</dl>
230230
</dd></dl>

stackdiff/stack_diff.py

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from functools import cached_property
2+
from sys import stdout
23
from typing import IO, Optional
34

45
from ansiscape import green, heavy, yellow
@@ -57,13 +58,13 @@ def change_template(self) -> str:
5758
)
5859
return response.get("TemplateBody", "")
5960

60-
def render_changes(self, writer: IO[str]) -> None:
61+
def render_changes(self, writer: Optional[IO[str]] = None) -> None:
6162
"""
6263
Renders a visualisation of the changes that CloudFormation would apply
6364
if the change set was executed.
6465
6566
Arguments:
66-
writer: Writer
67+
writer: Writer (defaults to ``stdout``)
6768
"""
6869

6970
response = self.client.describe_change_set(
@@ -109,18 +110,18 @@ def render_changes(self, writer: IO[str]) -> None:
109110
)
110111

111112
t = tabulate(rows, headers="firstrow", tablefmt="plain")
112-
writer.write(t + "\n")
113+
(writer or stdout).write(t + "\n")
113114

114-
def render_differences(self, writer: IO[str]) -> None:
115+
def render_differences(self, writer: Optional[IO[str]] = None) -> None:
115116
"""
116117
Renders a visualisation of the differences between the stack's current
117118
template and the change set's proposed template.
118119
119120
Arguments:
120-
writer: Writer
121+
writer: Writer (defaults to ``stdout``)
121122
"""
122123

123-
render(self.stack_template, self.change_template, writer)
124+
render(self.stack_template, self.change_template, writer or stdout)
124125

125126
@cached_property
126127
def stack_template(self) -> str:

0 commit comments

Comments
 (0)