From 4415e2274441b63c9e68fe43e7cc26f8f774612b Mon Sep 17 00:00:00 2001 From: newtextdoc1111 Date: Thu, 29 May 2025 17:51:50 +0900 Subject: [PATCH] fix: Log CSV file status in ComfyUI console and browser network tab --- modules/api.py | 14 ++++++++++---- web/js/data.js | 19 ++++++++++--------- 2 files changed, 20 insertions(+), 13 deletions(-) diff --git a/modules/api.py b/modules/api.py index d1cf78f..313cfbf 100644 --- a/modules/api.py +++ b/modules/api.py @@ -103,17 +103,23 @@ async def get_csv_list(_request): response = { DANBOORU_PREFIX: { 'base_tags': csv_file_status[DANBOORU_PREFIX]['base_tags'], - 'extra_tags': len(csv_file_status[DANBOORU_PREFIX]['extra_tags']), + 'extra_tags': csv_file_status[DANBOORU_PREFIX]['extra_tags'], 'base_cooccurrence': csv_file_status[DANBOORU_PREFIX]['base_cooccurrence'], - 'extra_cooccurrence': len(csv_file_status[DANBOORU_PREFIX]['extra_cooccurrence']), + 'extra_cooccurrence': csv_file_status[DANBOORU_PREFIX]['extra_cooccurrence'], }, E621_PREFIX: { 'base_tags': csv_file_status[E621_PREFIX]['base_tags'], - 'extra_tags': len(csv_file_status[E621_PREFIX]['extra_tags']), + 'extra_tags': csv_file_status[E621_PREFIX]['extra_tags'], 'base_cooccurrence': csv_file_status[E621_PREFIX]['base_cooccurrence'], - 'extra_cooccurrence': len(csv_file_status[E621_PREFIX]['extra_cooccurrence']), + 'extra_cooccurrence': csv_file_status[E621_PREFIX]['extra_cooccurrence'], } } + + # Print csv file status to the console for debugging + print(f"""[Autocomplete-Plus] CSV file status: + * Danbooru -> base: {response[DANBOORU_PREFIX]['base_tags']}, extra: {", ".join(response[DANBOORU_PREFIX]['extra_tags'])} + * E621 -> base: {response[E621_PREFIX]['base_tags']}, extra: {", ".join(response[E621_PREFIX]['extra_tags'])}""") + return web.json_response(response) @server.PromptServer.instance.routes.get('/autocomplete-plus/csv/{source}/{suffix}/base') diff --git a/web/js/data.js b/web/js/data.js index 6e85c8f..0f57bfb 100644 --- a/web/js/data.js +++ b/web/js/data.js @@ -340,8 +340,8 @@ export async function initializeData(csvListData, source) { return; } - const extraTagsCount = csvListData[source].extra_tags || 0; - const extraCooccurrenceCount = csvListData[source].extra_cooccurrence || 0; + const extraTagsFileList = csvListData[source].extra_tags || []; + const extraCooccurrenceFileList = csvListData[source].extra_cooccurrence || []; const tagsUrl = `/autocomplete-plus/csv/${source}/tags`; const cooccurrenceUrl = `/autocomplete-plus/csv/${source}/tags_cooccurrence`; @@ -349,7 +349,7 @@ export async function initializeData(csvListData, source) { // Factory for loading tags for the current sourte const siteTagsLoaderFactory = async () => { let promiseChain = Promise.resolve(); - for (let i = 0; i < extraTagsCount; i++) { + for (let i = 0; i < extraTagsFileList.length; i++) { promiseChain = promiseChain.then(() => loadTags(`${tagsUrl}/extra/${i}`, source)); } if (csvListData[source].base_tags) { @@ -362,7 +362,7 @@ export async function initializeData(csvListData, source) { // Factory for loading cooccurrence data for the current sourte const siteCooccurrenceLoaderFactory = async () => { let promiseChain = Promise.resolve(); - for (let i = 0; i < extraCooccurrenceCount; i++) { + for (let i = 0; i < extraCooccurrenceFileList.length; i++) { promiseChain = promiseChain.then(() => loadCooccurrence(`${cooccurrenceUrl}/extra/${i}`, source)); } if (csvListData[source].base_cooccurrence) { @@ -377,14 +377,15 @@ export async function initializeData(csvListData, source) { await Promise.all([ Promise.all(tagsLoadPromiseFactories.map(factory => factory())).then(() => { const endTime = performance.now(); - console.log(`[Autocomplete-Plus] "${source}" Tags loading complete in ${(endTime - startTime).toFixed(2)}ms`); + if (csvListData[source].base_tags) { + console.log(`[Autocomplete-Plus] "${source}" Tags loading complete in ${(endTime - startTime).toFixed(2)}ms`); + } }), Promise.all(cooccurrenceLoadPromiseFactories.map(factory => factory())).then(() => { const endTime = performance.now(); - // The original log for extraCooccurrenceCount was potentially misleading as it showed - // the count for the last processed sourte. Removed for clarity. - // If a total count is needed, it should be calculated across all sites. - console.log(`[Autocomplete-Plus] "${source}" Co-occurrence loading complete in ${(endTime - startTime).toFixed(2)}ms.`); + if (csvListData[source].base_cooccurrence) { + console.log(`[Autocomplete-Plus] "${source}" Co-occurrence loading complete in ${(endTime - startTime).toFixed(2)}ms.`); + } }) ]);