Bug #12968
openWe cannot used non-latin name in Technique Editor for Technique Name
Description
I wnted to create a Technique with name "Зарегистрируйтесь" - but it prevented me to create the Technique, as the Bundle name became __________________________
Зарегистрируйтесь is a totally valid bundle name (but it does canonify to __________________________ though)
Files
Updated by Nicolas CHARLES almost 7 years ago
simply allowing non-ascii in the JS is not enough, as it fails to create the file
[Mon Jul 16 08:10:18.479137 2018] [wsgi:error] [pid 6519:tid 139935183329024] ERROR: Unknown internal error during technique writing [Mon Jul 16 08:10:18.479164 2018] [wsgi:error] [pid 6519:tid 139935183329024] Cause: 'ascii' codec can't encode characters in position 55-71: ordinal not in range(128) [Mon Jul 16 08:10:18.479167 2018] [wsgi:error] [pid 6519:tid 139935183329024] Traceback (most recent call last): [Mon Jul 16 08:10:18.479169 2018] [wsgi:error] [pid 6519:tid 139935183329024] File "/usr/share/ncf/api/ncf_api_flask_app/views.py", line 155, in create_technique [Mon Jul 16 08:10:18.479171 2018] [wsgi:error] [pid 6519:tid 139935183329024] result = ncf.write_technique(technique,path) [Mon Jul 16 08:10:18.479173 2018] [wsgi:error] [pid 6519:tid 139935183329024] File "/usr/share/ncf/tools/ncf.py", line 613, in write_technique [Mon Jul 16 08:10:18.479175 2018] [wsgi:error] [pid 6519:tid 139935183329024] filename = os.path.realpath(os.path.join(path, "50_techniques", bundle_name, bundle_name+".cf")) [Mon Jul 16 08:10:18.479177 2018] [wsgi:error] [pid 6519:tid 139935183329024] File "/usr/lib/python2.7/posixpath.py", line 375, in realpath [Mon Jul 16 08:10:18.479179 2018] [wsgi:error] [pid 6519:tid 139935183329024] path, ok = _joinrealpath('', filename, {}) [Mon Jul 16 08:10:18.479180 2018] [wsgi:error] [pid 6519:tid 139935183329024] File "/usr/lib/python2.7/posixpath.py", line 400, in _joinrealpath [Mon Jul 16 08:10:18.479182 2018] [wsgi:error] [pid 6519:tid 139935183329024] if not islink(newpath): [Mon Jul 16 08:10:18.479184 2018] [wsgi:error] [pid 6519:tid 139935183329024] File "/usr/lib/python2.7/posixpath.py", line 135, in islink [Mon Jul 16 08:10:18.479186 2018] [wsgi:error] [pid 6519:tid 139935183329024] st = os.lstat(path) [Mon Jul 16 08:10:18.479197 2018] [wsgi:error] [pid 6519:tid 139935183329024] UnicodeEncodeError: 'ascii' codec can't encode characters in position 55-71: ordinal not in range(128)
Updated by François ARMAND about 6 years ago
- Severity set to Minor - inconvenience | misleading | easy workaround
- User visibility set to Getting started - demo | first install | Technique editor and level 1 Techniques
- Priority changed from 0 to 44
I'm setting it to "minor" because the workaround it rather simple to find (it's a common problem). But that bug is really a pitty :/
Updated by François ARMAND over 2 years ago
Still the case in 7.2
Updated by Elaad FURREEDAN about 2 years ago
- Effort required set to Medium
- Priority changed from 73 to 57
It's a bit tricky because we use the regex [^_a-zA-Z\\d]
If we want to match non-latin characters, I think we can use \p{L}
to match letter that are not Latin, but it will include characters that we don't want ($,{}, @ etc)
I think we should list all characters that we definitely don't want