found 292612 2.99.6-1 tags 292612 + patch pending thanks * era eriksson <[EMAIL PROTECTED]> [2005-07-27 09:35]: > > > *info* querying... > > > *warning* no freedb info for track 10 ("TTITLE9") > > > *error* could not read freedb file > > > > I don't quite understand what's going on there. Can you please send > > me the jack-* files from that directory? > > I am not entirely sure I haven't misplaced some of them, but here are > the jack.* files I have in that directory.
Thanks, now I see the problem. Unlike the FreeDB file you mentioned in your initial bug report, this one really has a missing track info: TTITLE8=Tidal TTITLE9= However, it shouldn't matter since this is a data track anyway and therefore won't be ripped and tagged. I've now modified jack to only return an error if the tracks which don't have any information are actually to be ripped. This will exclude data tracks and other songs that we don't care about (e.g. running jack with the -t 1-2 option won't care if the 3rd track has no info; it will still print a warning but not an error). diff -urN jack-3.1.1~/jack jack-3.1.1/jack --- jack-3.1.1~/jack 2005-07-27 11:53:12.773676248 +0100 +++ jack-3.1.1/jack 2005-07-27 11:53:31.973757392 +0100 @@ -144,12 +144,12 @@ if not os.path.exists(cf['_freedb_form_file'] + ".bak"): cf['_query_on_start'] = 1 if cf['_query_on_start']: - freedb_rename = jack_prepare.query_on_start() + freedb_rename = jack_prepare.query_on_start(todo) ### (10) update freedb dbfile if cf['_update_freedb']: if not jack_tag.track_names: - err, jack_tag.track_names, jack_tag.locale_names, freedb_rename, revision = jack_freedb.interpret_db_file(jack_ripstuff.all_tracks, cf['_freedb_form_file'], verb = 1, dirs = 0) + err, jack_tag.track_names, jack_tag.locale_names, freedb_rename, revision = jack_freedb.interpret_db_file(jack_ripstuff.all_tracks, todo, cf['_freedb_form_file'], verb = 1, dirs = 0) jack_freedb.freedb_template(jack_ripstuff.all_tracks, jack_tag.track_names, revision + 1) jack_utils.ex_edit(cf['_freedb_form_file']) info("now submit your changes if you like, using the option --submit (via http POST). Don't forget to activate your changes locally with -R") @@ -242,7 +242,7 @@ jack_display.exit() if cf['_query_when_ready'] or cf['_read_freedb_file'] or cf['_query_on_start']: - err, jack_tag.track_names, jack_tag.locale_names, freedb_rename, revision = jack_freedb.interpret_db_file(jack_ripstuff.all_tracks, cf['_freedb_form_file'], verb = 1, dirs = 1) + err, jack_tag.track_names, jack_tag.locale_names, freedb_rename, revision = jack_freedb.interpret_db_file(jack_ripstuff.all_tracks, todo, cf['_freedb_form_file'], verb = 1, dirs = 1) if err: error("could not read freedb file") diff -urN jack-3.1.1~/jack_freedb.py jack-3.1.1/jack_freedb.py --- jack-3.1.1~/jack_freedb.py 2005-07-27 11:53:12.821668952 +0100 +++ jack-3.1.1/jack_freedb.py 2005-07-27 11:53:18.882747528 +0100 @@ -50,14 +50,14 @@ }, } -def interpret_db_file(all_tracks, freedb_form_file, verb, dirs = 0, warn = None): +def interpret_db_file(all_tracks, todo, freedb_form_file, verb, dirs = 0, warn = None): "read freedb file and rename dir(s)" global names_available, dir_created freedb_rename = 0 if warn == None: - err, track_names, locale_names, cd_id, revision = freedb_names(freedb_id(all_tracks), all_tracks, freedb_form_file, verb = verb) + err, track_names, locale_names, cd_id, revision = freedb_names(freedb_id(all_tracks), all_tracks, todo, freedb_form_file, verb = verb) else: - err, track_names, locale_names, cd_id, revision = freedb_names(freedb_id(all_tracks), all_tracks, freedb_form_file, verb = verb, warn = warn) + err, track_names, locale_names, cd_id, revision = freedb_names(freedb_id(all_tracks), all_tracks, todo, freedb_form_file, verb = verb, warn = warn) if (not err) and dirs: freedb_rename = 1 @@ -316,7 +316,7 @@ f.close() return err -def freedb_names(cd_id, tracks, name, verb = 0, warn = 1): +def freedb_names(cd_id, tracks, todo, name, verb = 0, warn = 1): "returns err, [(artist, albumname), (track_01-artist, track_01-name), ...], cd_id, revision" err = 0 tracks_on_cd = tracks[-1][NUM] @@ -352,7 +352,8 @@ for i in tracks: # check that info is there for all tracks if not freedb.has_key("TTITLE%i" % (i[NUM] - 1)): # -1 because freedb starts at 0 - err = 1 + if i[NUM] in [x[NUM] for x in todo]: + err = 1 if verb: warning("no freedb info for track %02i (\"TTITLE%i\")" % (i[NUM], i[NUM] - 1)) freedb["TTITLE%i" % (i[NUM] - 1)] = "[not set]" diff -urN jack-3.1.1~/jack_prepare.py jack-3.1.1/jack_prepare.py --- jack-3.1.1~/jack_prepare.py 2005-07-27 11:53:12.823668648 +0100 +++ jack-3.1.1/jack_prepare.py 2005-07-27 11:53:18.884747224 +0100 @@ -106,7 +106,7 @@ unique_dirs.append(jack_dirs[i]) for i in unique_dirs: jack_ripstuff.all_tracks, dummy, track1_offset = jack_functions.cdrdao_gettoc(os.path.join(i, cf['_toc_file'])) - err, jack_tag.track_names, jack_tag.locale_names, cd_id, revision = freedb_names(jack_freedb.freedb_id(jack_ripstuff.all_tracks), jack_ripstuff.all_tracks, os.path.join(i, cf['_freedb_form_file']), verb = 0, warn = 0) + err, jack_tag.track_names, jack_tag.locale_names, cd_id, revision = freedb_names(jack_freedb.freedb_id(jack_ripstuff.all_tracks), jack_ripstuff.all_tracks, jack_ripstuff.all_tracks, os.path.join(i, cf['_freedb_form_file']), verb = 0, warn = 0) if err or cf['_force']:# this means freedb data is not there yet info("matching dir found: %d" % i) pid = os.fork() @@ -465,7 +465,7 @@ if not is_submittable: error("can't submit in current state, please fix jack.freedb") - err, jack_tag.track_names, jack_tag.locale_names, cd_id, revision = jack_freedb.freedb_names(jack_freedb.freedb_id(jack_ripstuff.all_tracks), jack_ripstuff.all_tracks, cf['_freedb_form_file']) + err, jack_tag.track_names, jack_tag.locale_names, cd_id, revision = jack_freedb.freedb_names(jack_freedb.freedb_id(jack_ripstuff.all_tracks), jack_ripstuff.all_tracks, jack_ripstuff.all_tracks, cf['_freedb_form_file']) if err: error("invalid freedb file") else: @@ -476,7 +476,7 @@ ### (9) do query on start -def query_on_start(): +def query_on_start(todo): info("querying...") if jack_freedb.freedb_query(jack_freedb.freedb_id(jack_ripstuff.all_tracks), jack_ripstuff.all_tracks, cf['_freedb_form_file']): if cf['_cont_failed_query']: @@ -492,11 +492,11 @@ jack_utils.ex_edit(cf['_freedb_form_file']) if cf['_query_on_start']: - err, jack_tag.track_names, jack_tag.locale_names, freedb_rename, revision = jack_freedb.interpret_db_file(jack_ripstuff.all_tracks, cf['_freedb_form_file'], verb = cf['_query_on_start'], dirs = 1) + err, jack_tag.track_names, jack_tag.locale_names, freedb_rename, revision = jack_freedb.interpret_db_file(jack_ripstuff.all_tracks, todo, cf['_freedb_form_file'], verb = cf['_query_on_start'], dirs = 1) if err: error("query on start failed to give a good freedb file, aborting.") else: - err, jack_tag.track_names, jack_tag.locale_names, freedb_rename, revision = jack_freedb.interpret_db_file(jack_ripstuff.all_tracks, cf['_freedb_form_file'], verb = cf['_query_on_start'], warn = cf['_query_on_start']) + err, jack_tag.track_names, jack_tag.locale_names, freedb_rename, revision = jack_freedb.interpret_db_file(jack_ripstuff.all_tracks, todo, cf['_freedb_form_file'], verb = cf['_query_on_start'], warn = cf['_query_on_start']) return freedb_rename def undo_rename(status, todo): -- Martin Michlmayr http://www.cyrius.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]