#1034 closed defect (fixed)
"addmedia" command doesn't handle UTF8 titles/descriptions
| Reported by: | Matt Molyneaux | Owned by: | |
|---|---|---|---|
| Priority: | critical | Milestone: | |
| Component: | programming | Keywords: | |
| Cc: | Christopher Allan Webber, berkerpeksag | Parent Tickets: |
Description
When adding media via the commandline, UTF8 characters in either --title or --description cause a UnicodeDecodeError:
(mediagoblin)[gmg@dichromate mediagoblin]$ gmg addmedia moggers87 doge.png --title "test ß"
Traceback (most recent call last):
File "/home/gmg/mediagoblin/bin/gmg", line 9, in <module>
load_entry_point('mediagoblin==0.7.0', 'console_scripts', 'gmg')()
File "/home/gmg/mediagoblin/mediagoblin/gmg_commands/__init__.py", line 124, in main_cli
args.func(args)
File "/home/gmg/mediagoblin/mediagoblin/gmg_commands/addmedia.py", line 95, in addmedia
title=maybe_unicodeify(args.title),
File "/home/gmg/mediagoblin/mediagoblin/gmg_commands/addmedia.py", line 88, in maybe_unicodeify
return unicode(some_string)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 5: ordinal not in range(128)
The cause of this error is in the maybe_unicodify method here. Python 2 defaults to decoding strings to Unicode as ASCII - simply adding "utf8" as the second argument will solve this issue.
Change History (6)
comment:1 by , 11 years ago
| Cc: | added |
|---|
comment:2 by , 11 years ago
| Status: | new → review |
|---|
comment:4 by , 11 years ago
| Resolution: | → fixed |
|---|---|
| Status: | review → closed |
I've tested this on Py2 and it works as advertised, I was unable to get it working on Py3 - master seems to be broken.
As such, I've pushed to master anyway.
comment:5 by , 11 years ago
Thanks! Is there an issue related to master breakage? I've tested this on Python 3 in my dev environment, by the way.

Thanks for the report! This was partly fixed in the Python 3 branch. Here is a more complete fix:
The branch name is "1034".
I think we should add tests for GMG commands :)