make_post_sell/requirements.txt
russell@unturf.com 7d78dff6ac mps: torrent magnet links auto-generated on file upload
lib/torrent.py: generate_torrent_async() — daemon thread that fires after
upload, downloads file from S3, builds .torrent via torf, uploads
product.torrent to S3 (public-read), saves magnet link to DB.

views/product.py: trigger generate_torrent_async when file_key=='product'
and shop.torrent_enabled. Removed manual magnet link save — it's automatic.

templates/product_edit.j2: magnet link is read-only + copy button + Open
button when generated; 'upload the product file' hint when not yet generated.

tests: updated to reflect auto-generation model, added content page test.
2026-04-05 20:03:47 -04:00

59 lines
1 KiB
Text

# python 2 -> 3 compat.
six
#future
# Pyramid with SQLAlchemy.
plaster_pastedeploy
pyramid
pyramid_jinja2
pyramid_debugtoolbar
waitress
pyramid_retry
# Model.
pyramid_tm
SQLAlchemy==1.3.24
# pinning because they broke Python 2.7 in version 0.36.7 ...
SQLAlchemy-Utils<=0.36.6
transaction
zope.sqlalchemy
alembic
# boto3 is needed for AWS s3 or Digital Ocean Spaces.
boto3
# Create URI slugs from titles.
python-slugify
# Future proof, computationally complex password hashes.
bcrypt
# credit card storage and processing.
stripe
# DKIM Signed Email from Python, lot's of extras in here like async.
# https://git.launchpad.net/dkimpy/tree/setup.py#n84
dkimpy
# needed for signing with ed25519 keys.
dkimpy[ed25519]
# MarkDown is a popular and familair WYSIWYM markup language.
# python 3.
#markdown
# python 2.
markdown==2.6.11
# human readable timestamps.
ago
# miniuri is a tiny URI parser.
miniuri
# Bleach sanitizes MarkDown (removes HTML/Javascript) to prevent XSS.
bleach
#bleach-whitelist
bleach-allowlist
beautifulsoup4
html5lib
torf