How A 15-Column Dreamstime CSV And A Upload Tracker Fixed My Rejection And Double-Post Problems
说明与用途
自动化脚本 make_metadata.py 和 upload_tracker.py 消除了 CSV 标题错误和重复上传问题,使在 Dreamstime、Adobe Stock 和 Vecteezy 上的提交顺利进行。
问题
Hand‑edited CSVs with incorrect column order caused Dreamstime to reject uploads and led to double‑posting when re‑running pipelines.
结果
The two scripts eliminated CSV header rejections and prevented duplicate uploads, enabling the author to ship 39 products (856 MB) from a single 1 vCPU, 2 GB RAM server.
工作流
- 1. Run
make_metadata.py ./my-assets --platform dreamstime --out dreamstime.csv --ext .jpgto generate a 15‑column CSV matching Dreamstime’s exact header order. - 2. Use
upload_tracker.py pending items.txtto list assets not yet uploaded. - 3. Upload each asset, then immediately run
upload_tracker.py done "asset-001.jpg"to mark it as posted. - 4. Run
upload_tracker.py statusto verify all items are completed. - 5. Repeat for other platforms with appropriate
--platformflag.
证据
Dreamstime's importer doesn't guess. It reads the header row, checks it against its expected 15-column layout, and fails the whole file if one column is missing or renamed.
The script knows the exact header each platform demands and writes that header and nothing else.
The key habit is marking done immediately after each successful upload, before the next one starts, not at the end of the batch.
Both scripts run on nothing but Python.
- 记录日期: 2026-10-15T20:40:59.203Z