stack trace when description or summary contain non-ascii characters
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Snapcraft |
Fix Released
|
Medium
|
Cris Dywan |
Bug Description
I think disallowing non-ASCII characters is by design due to the message I get:
yaml.reader.
in "snapcraft.yaml", position 145
This is clear and concise but it comes at the end of a traceback:
Traceback (most recent call last):
File "/snap/
load_
File "/snap/
return get_distributio
File "/snap/
return ep.load()
File "/snap/
return self.resolve()
File "/snap/
module = __import_
File "/snap/
run(
File "/snap/
return self.main(*args, **kwargs)
File "/snap/
rv = self.invoke(ctx)
File "/snap/
return Command.
File "/snap/
return ctx.invoke(
File "/snap/
return callback(*args, **kwargs)
File "/snap/
return f(get_current_
File "/snap/
ctx.
File "/snap/
return self.invoke(cmd, **kwargs)
File "/snap/
return callback(*args, **kwargs)
File "/snap/
project_
File "/snap/
execute(
File "/snap/
config = snapcraft.
File "/snap/
return Config(
File "/snap/
snapcraft_yaml = _snapcraft_
File "/snap/
return yaml.load(fp)
File "/snap/
loader = Loader(stream)
File "/snap/
Reader.
File "/snap/
self.
File "/snap/
self.update(1)
File "/snap/
self.
File "/snap/
'unicode', "special characters are not allowed")
yaml.reader.
in "snapcraft.yaml", position 145
This message should be friendlier.
I used snapcraft 2.37 from the beta channel snap (revision 924).
Here's my snapcraft.yaml:
name: hello-roadmr-1
version: 2017-12-11-02
summary: say hello more nicely
confinement: strict
grade: stable
description: hello-roadmr's friendly test 💩
architectures:
- amd64
apps:
hello:
command: echo "hello"
parts:
empty:
plugin: nil
Note I've appended a 💩 character to the end of the description.
Interestingly, though, a few emoji *are* accepted; for instance, the snowflake (❄️).
tags: | added: stacktrace |
Changed in snapcraft: | |
assignee: | nobody → Christian Dywan (kalikiana) |
Changed in snapcraft: | |
status: | New → In Progress |
Changed in snapcraft: | |
importance: | Undecided → Medium |
Changed in snapcraft: | |
status: | In Progress → Fix Committed |
Changed in snapcraft: | |
status: | Fix Committed → Fix Released |
This is an upstream bug https:/ /github. com/yaml/ pyyaml/ issues/ 25 - at the same time, we should be handling the error since this exception also applies to characters that are indeed invalid.