MCPcopy Create free account
hub / github.com/colmap/colmap / main

Function main

python/util/flickr_downloader.py:155–208  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

153
154
155def main() -> None:
156 args = parse_args()
157
158 downloader = PhotoDownloader(args.image_path)
159 pool = multiprocessing.Pool(processes=args.num_procs)
160
161 num_pages = float("inf")
162 page = 0
163
164 min_date = MIN_DATE
165 max_date = MAX_DATE
166
167 days_in_row = 0
168
169 search_text = args.search_text.replace(" ", "-")
170
171 while num_pages > page:
172 page += 1
173
174 metadata, photos = parse_page(
175 page, args.api_key, search_text, min_date, max_date
176 )
177
178 num_pages = int(metadata["pages"])
179
180 print(78 * "=")
181 print("Page:\t\t", page, "of", num_pages)
182 print("Min-Date:\t", datetime.datetime.fromtimestamp(min_date))
183 print("Max-Date:\t", datetime.datetime.fromtimestamp(max_date))
184 print("Num-Photos:\t", len(photos))
185 print(78 * "=")
186
187 try:
188 pool.map_async(downloader, photos).get(1e10)
189 except KeyboardInterrupt:
190 pool.close()
191 pool.join()
192 break
193
194 if page >= num_pages:
195 max_date -= TIME_SKIP
196 min_date -= TIME_SKIP
197 page = 0
198
199 if num_pages == 0:
200 days_in_row = days_in_row + 1
201 num_pages = float("inf")
202
203 print(" No images in", days_in_row, "days in a row")
204
205 if days_in_row == args.max_days_without_image:
206 break
207 else:
208 days_in_row = 0
209
210
211if __name__ == "__main__":

Callers 1

Calls 3

PhotoDownloaderClass · 0.85
parse_pageFunction · 0.85
parse_argsFunction · 0.70

Tested by

no test coverage detected