Made some minor changes to the OSX portions of the relevant code and came up with something that works for me. Would have made it configurable but the UI code is a bit weird.
Code:
$ bzr diff src/calibre/devices/apple/driver.py
=== modified file 'src/calibre/devices/apple/driver.py'
--- src/calibre/devices/apple/driver.py 2010-09-21 04:08:52 +0000
+++ src/calibre/devices/apple/driver.py 2010-10-03 12:36:39 +0000
@@ -2623,14 +2623,16 @@
fraction = index-integer
series_index = '%04d%s' % (integer, str('%0.4f' % fraction).lstrip('0'))
if lb_added:
+ lb_added.name.set("%s (Book %d)" % (metadata.title, integer))
lb_added.sort_name.set("%s %s" % (metadata.series, series_index))
- lb_added.genre.set(metadata.series)
+ lb_added.genre.set("%s - %s" % (metadata.series, authors_to_string(metadata.authors)))
lb_added.episode_ID.set(metadata.series)
lb_added.episode_number.set(metadata.series_index)
if db_added:
+ db_added.name.set("%s (Book %d)" % (metadata.title, integer))
db_added.sort_name.set("%s %s" % (metadata.series, series_index))
- db_added.genre.set(metadata.series)
+ db_added.genre.set("%s - %s" % (metadata.series, authors_to_string(metadata.authors)))
db_added.episode_ID.set(metadata.series)
db_added.episode_number.set(metadata.series_index)