Ticket #34 (new defect)
exception for checksum control when filename is not in UTF-8
| Reported by: | http://blog.crozat.net/ | Owned by: | https://thomasvs.myopenid.com/ |
|---|---|---|---|
| Priority: | major | Milestone: | future |
| Component: | morituri | Version: | master |
| Keywords: | Cc: |
Description
On a system where system locale is not UTF-8 (fr_FR.ISO-8859-15), with G_FILENAME_ENCODING=@locale, when a track contains non ASCII characters, morituri will throw an exception when trying to control CRC (but extraction occured correctly). I'm expecting some g_filename_to_utf8 calls are missing :
rip cd rip --track-template="%A/%d/%t - %n" --disc-template="%A/%d/%A - %d"
Checking device /dev/sr0
CDDB disc id 9a0a040c
MusicBrainz? disc id F7pFMh143Fn8gkgMxUi2HLP8nGM-
Matching releases:
Artist : Deep Forest
Title : Boheme
Verifying track 1 of 12: 01 - Anasthasia.flac
Verifying track 2 of 12: 02 - Bohemian Ballet.flac
Verifying track 3 of 12: 03 - Marta's Song.flac
Verifying track 4 of 12: 04 - Gathering.flac
Verifying track 5 of 12: 05 - Lament.flac
Verifying track 6 of 12: 06 - Bulgarian Melody.flac
Verifying track 7 of 12: 07 - Deep Folk Song.flac
Verifying track 8 of 12: 08 - Freedom Cry.flac
Verifying track 9 of 12: 09 - Twosome.flac
Verifying track 10 of 12: 10 - Café Europa.flac
ERROR: checksum: not a single buffer gotten
Traceback (most recent call last):
File "/usr/bin/rip", line 35, in <module>
sys.exit(main.main(sys.argv[1:]))
File "/usr/lib/python2.6/site-packages/morituri/rip/main.py", line 12, in main
ret = c.parse(argv)
File "/usr/lib/python2.6/site-packages/morituri/extern/command/command.py", line 329, in parse
return self.subCommands[command].parse(args[1:])
File "/usr/lib/python2.6/site-packages/morituri/extern/command/command.py", line 329, in parse
return self.subCommands[command].parse(args[1:])
File "/usr/lib/python2.6/site-packages/morituri/extern/command/command.py", line 300, in parse
ret = self.do(args)
File "/usr/lib/python2.6/site-packages/morituri/rip/cd.py", line 228, in do
ripIfNotRipped(i + 1)
File "/usr/lib/python2.6/site-packages/morituri/rip/cd.py", line 173, in ripIfNotRipped
if not prog.verifyTrack(runner, trackResult):
File "/usr/lib/python2.6/site-packages/morituri/common/program.py", line 421, in verifyTrack
runner.run(t)
File "/usr/lib/python2.6/site-packages/morituri/common/task.py", line 390, in run
raise TaskException?(task.exception, message=task.exceptionMessage)
morituri.common.task.TaskException?: (QueryError?('query failed',), 'exception QueryError? at morituri/common/checksum.py:93: start(): query failed')

Can't find a single french/spanish cd in my collection atm, they're sorted by color. Next time I come across one I will try to get this fixed.
But who uses non-utf8 filesystems anymore ? :)