[PyQt] UnicodeEncodeError

MICHAEL FERRARO michael at possibleworlds.com
Wed Jul 20 19:37:54 BST 2016


Hello

I am running python 2.7.11 + PytQt 5.6 on MaxOS 10.11.5
I have installed an extension that I built called ‘psd' that has an open() method that takes a path to a PSD file

when I run the script the line containing 'type (path)' command returns:
	<type 'unicode’>

but the next line containing ‘file = psd.open (fname)’ fails with:
	UnicodeEncodeError: 'ascii' codec can't encode character u'\u2022’ 

It seems as if there is some implicit type conversion being done when the filename is passed to the psd.open() method.
If I try the command directly at the python command line it works fine and opens the file so I don’t think it is the extension causing the problem.


any idea what I am doing wrong??

I have this at the top of the file:

#!/usr/bin/python
# -*- coding: utf-8 -*-


and this is the code fragment:

def LoadImageFile (self, fname, defer=False):		
	(path,file) = os.path.split (fname)
	(root,extn) = os.path.splitext (file)
		
	if extn != '.psd’:
		return
		
	print "in LoadImageFIle fname: " + fname
	print type (fname)

	file = psd.open (fname)
	iw = float (file.imagecols)
	ih = float (file.imagerows)



and this is the traceback 

in LoadImageFIle fname: /Volumes/diablo-external/Dropbox/•Production/gail/--EXPORTS--/new-December/Drawings/gail-armsBack-Rebuild-01.VP/mon_head-01-0.psd
<type 'unicode'>
Traceback (most recent call last):
  File "gfx-Teatro.py", line 267, in <module>
    main()
  File "gfx-Teatro.py", line 37, in main
    app.Run(args)
  File "gfx-Teatro.py", line 81, in Run
    self.InitializeProject ()
  File "gfx-Teatro.py", line 94, in InitializeProject
    self.NewDefaultScene (self.controller.job, "Performance")
  File "gfx-Teatro.py", line 110, in NewDefaultScene
    scene.LoadXsheets ([dir])				
  File "/Volumes/diablo-external/Dropbox/Development/-Applications-/Teatro/Scene.py", line 511, in LoadXsheets
    xsheet = self.LoadXsheets (flist, into, item)
  File "/Volumes/diablo-external/Dropbox/Development/-Applications-/Teatro/Scene.py", line 511, in LoadXsheets
    xsheet = self.LoadXsheets (flist, into, item)
  File "/Volumes/diablo-external/Dropbox/Development/-Applications-/Teatro/Scene.py", line 511, in LoadXsheets
    xsheet = self.LoadXsheets (flist, into, item)
  File "/Volumes/diablo-external/Dropbox/Development/-Applications-/Teatro/Scene.py", line 511, in LoadXsheets
    xsheet = self.LoadXsheets (flist, into, item)
  File "/Volumes/diablo-external/Dropbox/Development/-Applications-/Teatro/Scene.py", line 521, in LoadXsheets
    background.LoadXsheets ([file], dir=path, level=0, item=self.tranItem)
  File "/Volumes/diablo-external/Dropbox/Development/-Applications-/Teatro/Background.py", line 224, in LoadXsheets
    entry.LoadXsheets (fname)
  File "/Volumes/diablo-external/Dropbox/Development/-Applications-/Teatro/Xsheet.py", line 341, in LoadXsheets
    self.Read(project)
  File "/Volumes/diablo-external/Dropbox/Development/-Applications-/Teatro/Xsheet.py", line 504, in Read
    entry.Read (xfile)
  File "/Volumes/diablo-external/Dropbox/Development/-Applications-/Teatro/Xcolumn.py", line 312, in Read
    entry.Load ()
  File "/Volumes/diablo-external/Dropbox/Development/-Applications-/Teatro/Xreference.py", line 138, in Load
    plate.LoadImageFile (fname)
  File "/Volumes/diablo-external/Dropbox/Development/-Applications-/Teatro/Layout.py", line 1218, in LoadImageFile
    file = psd.open (fname)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2022' in position 33: ordinal not in range(128)
e-c908-38136:Teatro michael_ferraro$ python -V

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20160720/435ea7f9/attachment-0001.html>


More information about the PyQt mailing list