mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
snap: Only treat ---
as an info separator when it's preceded by newline (#7046)
* Only treat `---` as an info separator when it's preceded by newline The code for splitting the output of `snap info` for multiple snaps can't assume that `---` separates snaps any time it appears in the output; it needs to treat that as the separator only when it's at the start of a line. Otherwise it breaks if any snap uses `---` in its description text, which, e.g., the `bw` snap does as of the date of this commit. Fixes #7045. * Add changelog fragment * Add a comment explaining why \n is necessary before --- * Update changelogs/fragments/7046-snap-newline-before-separator.yml Co-authored-by: Felix Fontein <felix@fontein.de> --------- Co-authored-by: Jonathan Kamens <jik@jik5.kamens.us> Co-authored-by: Alexei Znamensky <103110+russoz@users.noreply.github.com> Co-authored-by: Felix Fontein <felix@fontein.de>
This commit is contained in:
parent
d17ec06d2a
commit
c7fa11d576
2 changed files with 6 additions and 1 deletions
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- snap - fix crash when multiple snaps are specified and one has ``---`` in its description (https://github.com/ansible-collections/community.general/pull/7046).
|
|
@ -303,7 +303,10 @@ class Snap(StateModuleHelper):
|
||||||
return [name]
|
return [name]
|
||||||
|
|
||||||
def process_many(rc, out, err):
|
def process_many(rc, out, err):
|
||||||
outputs = out.split("---")
|
# This needs to be "\n---" instead of just "---" because otherwise
|
||||||
|
# if a snap uses "---" in its description then that will incorrectly
|
||||||
|
# be interpreted as a separator between snaps in the output.
|
||||||
|
outputs = out.split("\n---")
|
||||||
res = []
|
res = []
|
||||||
for sout in outputs:
|
for sout in outputs:
|
||||||
res.extend(process_one(rc, sout, ""))
|
res.extend(process_one(rc, sout, ""))
|
||||||
|
|
Loading…
Reference in a new issue