Stop Double-Posting: A Python Ledger And CSV Builder For Adobe, Vecteezy And Dreamstime Uploads
说明与用途
基于 Python 的管道通过使用 CSV 元数据和扁平文件账本,防止了对 Adobe Stock、Vecteezy 和 Dreamstime 的重复上传,能够在单核机器上处理 39 个产品而不出现内存错误。
问题
Duplicate uploads to stock platforms were causing rejections and account flags because the author had no memory between runs.
结果
The pipeline processed 39 products, producing 856 MB of output on a single‑core, 2 GB RAM machine without any out‑of‑memory errors.
工作流
- Generate a CSV with correct headers using
make_metadata.pyfor the target platform. - Create a list of assets to upload (
items.txt). - Run
python upload_tracker.py pending items.txtto see which files are not yet uploaded. - Upload assets one by one, marking each as done with
python upload_tracker.py done "asset-001.jpg". - If the session stops, rerun
pendingto resume exactly where left off. - Keep the ledger in the
output/folder next to the CSV for that batch. - Use
md2pdf.pyto convert research notes to PDF andpack_product.pyto zip the product with cover and thumbnail.
证据
I ran the same batch twice on a Tuesday night in March. Forty-one JPGs, already uploaded to Adobe Stock the night before, uploaded again because my terminal history was right there and I was tired.
The tracker is a flat text ledger, one asset per line. Three commands: python upload_tracker.py pending items.txt ... python upload_tracker.py done "asset-001.jpg" ...
The whole thing runs on 1 vCPU, 2 GB RAM, no GPU. That's not a limitation, it's a design constraint, and it forced habits worth keeping even on bigger machines... The result: the pipeline packaged 39 products, 856 MB of output, on that box without a single out-of-memory kill.
- 记录日期: 2026-10-21T14:56:18.920Z