Comments (2)
I'm not sure this is a bug in kobo.shortcuts.run. I see you pass universal_newlines=True. It's mentioned in https://docs.python.org/3/library/subprocess.html#popen-objects that passing universal_newlines=True will cause Popen stdout to be treated as a text stream (i.e. it causes decoding to happen), rather than a byte stream. I think that text stream would be using your default locale from the environment.
Is it possible that you're running a process which produces bytes not decodable according to your configured locale? e.g. your locale uses ASCII and your command is producing UTF-8? Can you share output of "locale" command where this is reproduced?
It seems that the correct ways to use kobo.shortcuts.run are:
- If you want text and you know the encoding used by the process you're running, then specify it in "encoding" argument.
- If you want text and you want to use the default encoding, you can omit "encoding" argument and provide universal_newlines=True.
- If you want bytes then provide neither argument.
In either of the text cases, if the process produces bytes which can't be decoded with the given encoding, then it'll crash, and I suspect that's what happened here.
from kobo.
The issue we hit has been fixed on the Pungi side of things.
from kobo.
Related Issues (20)
- Migration issue with Django 2.1 HOT 2
- Command for changing priority of a task
- Deprecated RequestContext is used in django xmlrpc view. HOT 1
- Add Django 1.11 to CI HOT 3
- Crash in shortcuts.run when unicode character falls on chunk boundary HOT 1
- Split the library into smaller parts HOT 1
- ImportError on Python 3
- AttributeError on Python 3
- shortcuts.run breaks if text mode is enabled (except for universal_newlines) HOT 1
- force_list does not return a list if argument is dict_keys type
- Py2-only dependency: krbV HOT 3
- Enhancement: add a --profile option HOT 1
- `covscan-client` broken by update to `kobo-0.18.0-1.fc34` HOT 3
- switch from Travis CI to GitHub Actions HOT 7
- Strict mimetypes or not?
- Fix code coverage for the new CI
- Missing migration for FileUpload
- Dependency on distutils
- cancel_subtasks fails to cancel subtasks HOT 2
- _utf8_chunk and _tail fails on Python 3 HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kobo.