Bugs item #1621271, was opened at 2006-12-23 14:56
Message generated for change (Comment added) made by gorka
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=446895&aid=1621271&group_id=46652
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: core
Group: 1.x svn
>Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Gorka Olaizola (gorka)
Assigned to: Nobody/Anonymous (nobody)
Summary: Unicode error inserting a CDR
Initial Comment:
I inserted a CDR with some mp3 and get this traceback. My system is configured
with the locale es_ES.UTF-8 and the /etc/fstab uses utf8 too for the cdrom
/dev/hda /media/dvd iso9660 user,noauto,utf8 0 0
I checked with the program "convmv" that the files have correct UTF-8
characters.
<pre>
Exception in thread Thread-2:
Traceback (most recent call last):
File "threading.py", line 442, in __bootstrap
self.run()
File "/usr/lib/python2.4/site-packages/freevo/plugins/rom_drives.py", line
736, in run
self.check_all()
File "/usr/lib/python2.4/site-packages/freevo/plugins/rom_drives.py", line
696, in check_all
self.identify(media)
File "/usr/lib/python2.4/site-packages/freevo/plugins/rom_drives.py", line
547, in identify
video_files = util.match_files(media.mountdir, config.VIDEO_SUFFIX)
File "/usr/lib/python2.4/site-packages/freevo/util/fileops.py", line 203, in
match_files
files = [ vfs.join(dirname, fname) for fname in os.listdir(dirname) if
File "/usr/lib/python2.4/site-packages/freevo/util/vfs.py", line 79, in
isfile overlay = getoverlay(name)
File "/usr/lib/python2.4/site-packages/freevo/util/vfs.py", line 55, in
getoverlay
return '%s/disc/%s%s' % (config.OVERLAY_DIR, media.id, directory)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 26:
ordinal not in range(128)
</pre>
----------------------------------------------------------------------
>Comment By: Gorka Olaizola (gorka)
Date: 2006-12-24 23:35
Message:
Logged In: YES
user_id=309801
Originator: YES
It seems that changing config.LOCALE did nothing. The change that worked
was to change /etc/site.py for latin-1. Sorry for the confusion.
I copied the files to a directory and without changing /etc/site.py it
works so maybe something is wrong in the code that reads directories from
the CD
----------------------------------------------------------------------
Comment By: Duncan Webb (duncanwebb)
Date: 2006-12-24 13:54
Message:
Logged In: YES
user_id=104395
Originator: NO
It is best to have LOCALE='latin-1' set in local_conf.py because of the
way String and Unicode functions work, IIRC they use the LOCALE setting
first and then try utf-8, so there is no point in setting LOCAL='utf-8'.
In fact '/The Kelly Family - Growin\xc2\xb4 up' is a utf-8 string, which
when converted to unicode is 'u/The Kelly Family - Growin´ up'. \xc2\xb4
is a back quote which is a non-ascii character.
Good to see you have a solution for this.
----------------------------------------------------------------------
Comment By: Gorka Olaizola (gorka)
Date: 2006-12-24 11:49
Message:
Logged In: YES
user_id=309801
Originator: YES
This is the output of the print statement.
OVERLAY_DIR='/var/cache/freevo/vfs'
media.id=u'fedd76ec67048c80d87d80ed8b67a68fKelly_Family_MP3'
directory='/The Kelly Family - Growin\xc2\xb4 up'
I think the directory has utf-8 characters. This is correct as my system
locale is UTF-8
If I change the encoding in /etc/python2.4/site.py to latin1 it works.
If I change config.LOCALE to latin1 instead of utf-8, that I think I had
incorrectly, it works.
So it seems a problem with my config.
----------------------------------------------------------------------
Comment By: Duncan Webb (duncanwebb)
Date: 2006-12-23 19:35
Message:
Logged In: YES
user_id=104395
Originator: NO
Will you add before line 55 a print statement, something like:
print 'OVERLAY_DIR=%r' % config.OVERLAY_DIR, 'media.id=%r' % media.id,
'directory=%r' % directory
More than likely the directory has a non-ascii character.
There are two possibilities here
1) set encoding in site.py to either utf-8 or iso-8859-1, possible utf-8.
2) add a try: except UnicodeError: block around line 55 and call
String(directory), etc. in the except block.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=446895&aid=1621271&group_id=46652
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Freevo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-devel