Stop Double-Posting: A Python Ledger And CSV Builder For Adobe, Vecteezy And Dreamstime Uploads
Описание и применение
Автоматизированный пайплайн на Python предотвращает двойную загрузку изображений в Adobe Stock, Vecteezy и Dreamstime, используя CSV‑метаданные и простую текстовую книгу учета, что позволяет обрабатывать 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