MCPcopy Index your code
hub / github.com/ColmapView/Colmapview.github.io / loadLocalZipFile

Function loadLocalZipFile

src/hooks/fileDropzoneLocalSources.ts:89–136  ·  view source on GitHub ↗
(
  zipFile: File,
  deps: LoadLocalZipFileDeps
)

Source from the content-addressed store, hash-verified

87}
88
89export async function loadLocalZipFile(
90 zipFile: File,
91 deps: LoadLocalZipFileDeps
92): Promise<boolean> {
93 const log = deps.log ?? appLogger.info;
94 const errorLog = deps.errorLog ?? appLogger.error;
95
96 if (deps.isLoading()) {
97 log('[ZIP Loader] Already loading, ignoring duplicate request');
98 return false;
99 }
100
101 deps.setUrlLoading(true);
102 deps.setUrlProgress({ percent: 0, message: 'Opening ZIP archive...' });
103 await yieldToPaint(deps);
104
105 try {
106 deps.clearCaches();
107
108 log(`[ZIP Loader] Processing local ZIP file: ${zipFile.name}`);
109
110 const { colmapFiles, imageIndex, archive, fileSize, imageCount } = await deps.loadZipFromFile(
111 zipFile,
112 (progress) => {
113 deps.setUrlProgress({
114 percent: Math.round(progress.percent * 0.1),
115 message: 'Extracting ZIP archive...',
116 });
117 }
118 );
119
120 deps.setActiveZipArchive(archive, imageIndex, fileSize, imageCount);
121 deps.setSourceInfo('zip', null);
122
123 log(`[ZIP Loader] ZIP contains ${colmapFiles.size} COLMAP files, ${imageCount} indexed images`);
124
125 await deps.processFiles(colmapFiles);
126
127 log('[ZIP Loader] Successfully loaded reconstruction from local ZIP');
128 return true;
129 } catch (error) {
130 errorLog('[ZIP Loader] Error processing ZIP file:', error);
131 deps.clearCaches();
132 deps.setError(getErrorMessage(error, 'Failed to process ZIP file'));
133 deps.setUrlLoading(false);
134 return false;
135 }
136}
137
138export async function loadDropPayload(
139 payload: FileDropPayload,

Callers 2

useFileDropzoneFunction · 0.90

Calls 3

yieldToPaintFunction · 0.85
isLoadingMethod · 0.80
getErrorMessageFunction · 0.70

Tested by

no test coverage detected