Split BG: Fixes for error column & showing meta collection errors

This commit is contained in:
Jim Miller 2025-05-23 10:02:09 -05:00
parent 800be43d24
commit b3f7add5a1
2 changed files with 13 additions and 5 deletions

View file

@ -1782,7 +1782,7 @@ class FanFicFarePlugin(InterfaceAction):
self.dispatch_bg_job(_("Anthology"), book_list, copy.copy(options), merge)
elif prefs['site_split_jobs']: ### YYY Split list into sites, one BG job per site
sites_lists = defaultdict(list)
[ sites_lists[x['site']].append(x) for x in book_list if x['good'] ]
[ sites_lists[x['site']].append(x) for x in book_list ]
for site in sites_lists.keys():
site_list = sites_lists[site]
self.dispatch_bg_job(site, site_list, copy.copy(options), merge)
@ -1985,7 +1985,7 @@ class FanFicFarePlugin(InterfaceAction):
logger.debug(_('Finished Adding/Updating %d books.')%(len(update_list) + len(add_list)))
self.gui.status_bar.show_message(_('Finished Adding/Updating %d books.')%(len(update_list) + len(add_list)), 3000)
batch = self.download_job_manager.get_batch(options['tdir'])
batch.finish_job(options['site'])
batch.finish_job(options.get('site',None))
if batch.all_done():
remove_dir(options['tdir'])
logger.debug("removed tdir(%s)"%options['tdir'])

View file

@ -178,12 +178,20 @@ def do_download_worker_single(site,
totals[msg] = percent/len(totals)
notification(max(0.01,sum(totals.values())), _('%(count)d of %(total)d stories finished downloading')%{'count':count,'total':len(totals)})
donelist = []
do_list = []
done_list = []
## pass failures from metadata through bg job so all results are
## together.
for book in book_list:
if book['good']:
do_list.append(book)
else:
done_list.append(book)
for book in do_list:
# logger.info("%s"%book['url'])
donelist.append(do_download_for_worker(book,options,merge,do_indiv_notif))
done_list.append(do_download_for_worker(book,options,merge,do_indiv_notif))
count += 1
return finish_download(donelist)
return finish_download(done_list)
def finish_download(donelist):
book_list = sorted(donelist,key=lambda x : x['listorder'])