Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

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.py for the target platform.
  • Create a list of assets to upload (items.txt).
  • Run python upload_tracker.py pending items.txt to 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 pending to resume exactly where left off.
  • Keep the ledger in the output/ folder next to the CSV for that batch.
  • Use md2pdf.py to convert research notes to PDF and pack_product.py to 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