summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2021-10-29 11:28:20 +0200
committerFlorian Dold <florian@dold.me>2021-10-29 11:28:20 +0200
commit4818dba4fcddc7c9e6deace6f44876ef29cb1bf4 (patch)
tree0c33c2671c5e653cd7187885b708d84d3bc00ca3
parented242c8f677c99aa5986bc5dabc337c72b76b623 (diff)
downloadtaler-merchant-demos-4818dba4fcddc7c9e6deace6f44876ef29cb1bf4.tar.gz
taler-merchant-demos-4818dba4fcddc7c9e6deace6f44876ef29cb1bf4.tar.bz2
taler-merchant-demos-4818dba4fcddc7c9e6deace6f44876ef29cb1bf4.zip
use poetry
-rw-r--r--.gitignore1
-rw-r--r--poetry.lock265
-rw-r--r--pyproject.toml57
-rwxr-xr-xsetup.py49
l---------talermerchantdemos/blog/articles/pt_BR1
-rw-r--r--[-rwxr-xr-x]talermerchantdemos/cli.py (renamed from bin/taler-merchant-demos)14
-rw-r--r--talermerchantdemos/translations/pt_BR/LC_MESSAGES/messages.po600
7 files changed, 329 insertions, 658 deletions
diff --git a/.gitignore b/.gitignore
index f14b51b..d7cf17a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,4 +2,5 @@ translations/*/LC_MESSAGES/messages.mo
config.mk
*~
.sass-cache
+dist/
.vscode
diff --git a/poetry.lock b/poetry.lock
new file mode 100644
index 0000000..e1709a5
--- /dev/null
+++ b/poetry.lock
@@ -0,0 +1,265 @@
+[[package]]
+name = "beautifulsoup4"
+version = "4.10.0"
+description = "Screen-scraping library"
+category = "main"
+optional = false
+python-versions = ">3.0.0"
+
+[package.dependencies]
+soupsieve = ">1.2"
+
+[package.extras]
+html5lib = ["html5lib"]
+lxml = ["lxml"]
+
+[[package]]
+name = "certifi"
+version = "2021.10.8"
+description = "Python package for providing Mozilla's CA Bundle."
+category = "main"
+optional = false
+python-versions = "*"
+
+[[package]]
+name = "charset-normalizer"
+version = "2.0.7"
+description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet."
+category = "main"
+optional = false
+python-versions = ">=3.5.0"
+
+[package.extras]
+unicode_backport = ["unicodedata2"]
+
+[[package]]
+name = "click"
+version = "8.0.3"
+description = "Composable command line interface toolkit"
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+colorama = {version = "*", markers = "platform_system == \"Windows\""}
+
+[[package]]
+name = "colorama"
+version = "0.4.4"
+description = "Cross-platform colored terminal text."
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*"
+
+[[package]]
+name = "flask"
+version = "2.0.2"
+description = "A simple framework for building complex web applications."
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+click = ">=7.1.2"
+itsdangerous = ">=2.0"
+Jinja2 = ">=3.0"
+Werkzeug = ">=2.0"
+
+[package.extras]
+async = ["asgiref (>=3.2)"]
+dotenv = ["python-dotenv"]
+
+[[package]]
+name = "idna"
+version = "3.3"
+description = "Internationalized Domain Names in Applications (IDNA)"
+category = "main"
+optional = false
+python-versions = ">=3.5"
+
+[[package]]
+name = "itsdangerous"
+version = "2.0.1"
+description = "Safely pass data to untrusted environments and back."
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[[package]]
+name = "jinja2"
+version = "3.0.2"
+description = "A very fast and expressive template engine."
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.dependencies]
+MarkupSafe = ">=2.0"
+
+[package.extras]
+i18n = ["Babel (>=2.7)"]
+
+[[package]]
+name = "markupsafe"
+version = "2.0.1"
+description = "Safely add untrusted strings to HTML/XML markup."
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[[package]]
+name = "requests"
+version = "2.26.0"
+description = "Python HTTP for Humans."
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*"
+
+[package.dependencies]
+certifi = ">=2017.4.17"
+charset-normalizer = {version = ">=2.0.0,<2.1.0", markers = "python_version >= \"3\""}
+idna = {version = ">=2.5,<4", markers = "python_version >= \"3\""}
+urllib3 = ">=1.21.1,<1.27"
+
+[package.extras]
+socks = ["PySocks (>=1.5.6,!=1.5.7)", "win-inet-pton"]
+use_chardet_on_py3 = ["chardet (>=3.0.2,<5)"]
+
+[[package]]
+name = "soupsieve"
+version = "2.2.1"
+description = "A modern CSS selector implementation for Beautiful Soup."
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[[package]]
+name = "taler-util"
+version = "0.8.3"
+description = "Util library for GNU Taler"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+
+[[package]]
+name = "urllib3"
+version = "1.26.7"
+description = "HTTP library with thread-safe connection pooling, file post, and more."
+category = "main"
+optional = false
+python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, <4"
+
+[package.extras]
+brotli = ["brotlipy (>=0.6.0)"]
+secure = ["pyOpenSSL (>=0.14)", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "certifi", "ipaddress"]
+socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"]
+
+[[package]]
+name = "werkzeug"
+version = "2.0.2"
+description = "The comprehensive WSGI web application library."
+category = "main"
+optional = false
+python-versions = ">=3.6"
+
+[package.extras]
+watchdog = ["watchdog"]
+
+[metadata]
+lock-version = "1.1"
+python-versions = "^3.8"
+content-hash = "e12ebe30827d9fa88c17d6cd5b2dc6134589ae35d25f367d2d64f8ddd7aa708f"
+
+[metadata.files]
+beautifulsoup4 = [
+ {file = "beautifulsoup4-4.10.0-py3-none-any.whl", hash = "sha256:9a315ce70049920ea4572a4055bc4bd700c940521d36fc858205ad4fcde149bf"},
+ {file = "beautifulsoup4-4.10.0.tar.gz", hash = "sha256:c23ad23c521d818955a4151a67d81580319d4bf548d3d49f4223ae041ff98891"},
+]
+certifi = [
+ {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"},
+ {file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"},
+]
+charset-normalizer = [
+ {file = "charset-normalizer-2.0.7.tar.gz", hash = "sha256:e019de665e2bcf9c2b64e2e5aa025fa991da8720daa3c1138cadd2fd1856aed0"},
+ {file = "charset_normalizer-2.0.7-py3-none-any.whl", hash = "sha256:f7af805c321bfa1ce6714c51f254e0d5bb5e5834039bc17db7ebe3a4cec9492b"},
+]
+click = [
+ {file = "click-8.0.3-py3-none-any.whl", hash = "sha256:353f466495adaeb40b6b5f592f9f91cb22372351c84caeb068132442a4518ef3"},
+ {file = "click-8.0.3.tar.gz", hash = "sha256:410e932b050f5eed773c4cda94de75971c89cdb3155a72a0831139a79e5ecb5b"},
+]
+colorama = [
+ {file = "colorama-0.4.4-py2.py3-none-any.whl", hash = "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2"},
+ {file = "colorama-0.4.4.tar.gz", hash = "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b"},
+]
+flask = [
+ {file = "Flask-2.0.2-py3-none-any.whl", hash = "sha256:cb90f62f1d8e4dc4621f52106613488b5ba826b2e1e10a33eac92f723093ab6a"},
+ {file = "Flask-2.0.2.tar.gz", hash = "sha256:7b2fb8e934ddd50731893bdcdb00fc8c0315916f9fcd50d22c7cc1a95ab634e2"},
+]
+idna = [
+ {file = "idna-3.3-py3-none-any.whl", hash = "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff"},
+ {file = "idna-3.3.tar.gz", hash = "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d"},
+]
+itsdangerous = [
+ {file = "itsdangerous-2.0.1-py3-none-any.whl", hash = "sha256:5174094b9637652bdb841a3029700391451bd092ba3db90600dea710ba28e97c"},
+ {file = "itsdangerous-2.0.1.tar.gz", hash = "sha256:9e724d68fc22902a1435351f84c3fb8623f303fffcc566a4cb952df8c572cff0"},
+]
+jinja2 = [
+ {file = "Jinja2-3.0.2-py3-none-any.whl", hash = "sha256:8569982d3f0889eed11dd620c706d39b60c36d6d25843961f33f77fb6bc6b20c"},
+ {file = "Jinja2-3.0.2.tar.gz", hash = "sha256:827a0e32839ab1600d4eb1c4c33ec5a8edfbc5cb42dafa13b81f182f97784b45"},
+]
+markupsafe = [
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:f9081981fe268bd86831e5c75f7de206ef275defcb82bc70740ae6dc507aee51"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_i686.whl", hash = "sha256:0955295dd5eec6cb6cc2fe1698f4c6d84af2e92de33fbcac4111913cd100a6ff"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux1_x86_64.whl", hash = "sha256:0446679737af14f45767963a1a9ef7620189912317d095f2d9ffa183a4d25d2b"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_i686.whl", hash = "sha256:f826e31d18b516f653fe296d967d700fddad5901ae07c622bb3705955e1faa94"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:fa130dd50c57d53368c9d59395cb5526eda596d3ffe36666cd81a44d56e48872"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:905fec760bd2fa1388bb5b489ee8ee5f7291d692638ea5f67982d968366bef9f"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-win32.whl", hash = "sha256:6c4ca60fa24e85fe25b912b01e62cb969d69a23a5d5867682dd3e80b5b02581d"},
+ {file = "MarkupSafe-2.0.1-cp36-cp36m-win_amd64.whl", hash = "sha256:b2f4bf27480f5e5e8ce285a8c8fd176c0b03e93dcc6646477d4630e83440c6a9"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0717a7390a68be14b8c793ba258e075c6f4ca819f15edfc2a3a027c823718567"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:6557b31b5e2c9ddf0de32a691f2312a32f77cd7681d8af66c2692efdbef84c18"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:49e3ceeabbfb9d66c3aef5af3a60cc43b85c33df25ce03d0031a608b0a8b2e3f"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_i686.whl", hash = "sha256:d7f9850398e85aba693bb640262d3611788b1f29a79f0c93c565694658f4071f"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:6a7fae0dd14cf60ad5ff42baa2e95727c3d81ded453457771d02b7d2b3f9c0c2"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:b7f2d075102dc8c794cbde1947378051c4e5180d52d276987b8d28a3bd58c17d"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-win32.whl", hash = "sha256:a30e67a65b53ea0a5e62fe23682cfe22712e01f453b95233b25502f7c61cb415"},
+ {file = "MarkupSafe-2.0.1-cp37-cp37m-win_amd64.whl", hash = "sha256:611d1ad9a4288cf3e3c16014564df047fe08410e628f89805e475368bd304914"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:be98f628055368795d818ebf93da628541e10b75b41c559fdf36d104c5787066"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_i686.whl", hash = "sha256:1d609f577dc6e1aa17d746f8bd3c31aa4d258f4070d61b2aa5c4166c1539de35"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7d91275b0245b1da4d4cfa07e0faedd5b0812efc15b702576d103293e252af1b"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_i686.whl", hash = "sha256:01a9b8ea66f1658938f65b93a85ebe8bc016e6769611be228d797c9d998dd298"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:47ab1e7b91c098ab893b828deafa1203de86d0bc6ab587b160f78fe6c4011f75"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:97383d78eb34da7e1fa37dd273c20ad4320929af65d156e35a5e2d89566d9dfb"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-win32.whl", hash = "sha256:023cb26ec21ece8dc3907c0e8320058b2e0cb3c55cf9564da612bc325bed5e64"},
+ {file = "MarkupSafe-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:984d76483eb32f1bcb536dc27e4ad56bba4baa70be32fa87152832cdd9db0833"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:2ef54abee730b502252bcdf31b10dacb0a416229b72c18b19e24a4509f273d26"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3c112550557578c26af18a1ccc9e090bfe03832ae994343cfdacd287db6a6ae7"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_i686.whl", hash = "sha256:53edb4da6925ad13c07b6d26c2a852bd81e364f95301c66e930ab2aef5b5ddd8"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:f5653a225f31e113b152e56f154ccbe59eeb1c7487b39b9d9f9cdb58e6c79dc5"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_i686.whl", hash = "sha256:4efca8f86c54b22348a5467704e3fec767b2db12fc39c6d963168ab1d3fc9135"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:ab3ef638ace319fa26553db0624c4699e31a28bb2a835c5faca8f8acf6a5a902"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:f8ba0e8349a38d3001fae7eadded3f6606f0da5d748ee53cc1dab1d6527b9509"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-win32.whl", hash = "sha256:10f82115e21dc0dfec9ab5c0223652f7197feb168c940f3ef61563fc2d6beb74"},
+ {file = "MarkupSafe-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:693ce3f9e70a6cf7d2fb9e6c9d8b204b6b39897a2c4a1aa65728d5ac97dcc1d8"},
+ {file = "MarkupSafe-2.0.1.tar.gz", hash = "sha256:594c67807fb16238b30c44bdf74f36c02cdf22d1c8cda91ef8a0ed8dabf5620a"},
+]
+requests = [
+ {file = "requests-2.26.0-py2.py3-none-any.whl", hash = "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24"},
+ {file = "requests-2.26.0.tar.gz", hash = "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7"},
+]
+soupsieve = [
+ {file = "soupsieve-2.2.1-py3-none-any.whl", hash = "sha256:c2c1c2d44f158cdbddab7824a9af8c4f83c76b1e23e049479aa432feb6c4c23b"},
+ {file = "soupsieve-2.2.1.tar.gz", hash = "sha256:052774848f448cf19c7e959adf5566904d525f33a3f8b6ba6f6f8f26ec7de0cc"},
+]
+taler-util = [
+ {file = "taler-util-0.8.3.tar.gz", hash = "sha256:3ff81faf6dff494ae1727d47cec9d853d8719f9d5325a1e7775fa3cc9ded88c1"},
+ {file = "taler_util-0.8.3-py3-none-any.whl", hash = "sha256:b00105961024ce73f3142aaa6379e17251815ce7bc4b3a472d91efd9089a5003"},
+]
+urllib3 = [
+ {file = "urllib3-1.26.7-py2.py3-none-any.whl", hash = "sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844"},
+ {file = "urllib3-1.26.7.tar.gz", hash = "sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece"},
+]
+werkzeug = [
+ {file = "Werkzeug-2.0.2-py3-none-any.whl", hash = "sha256:63d3dc1cf60e7b7e35e97fa9861f7397283b75d765afcaefd993d6046899de8f"},
+ {file = "Werkzeug-2.0.2.tar.gz", hash = "sha256:aa2bb6fc8dee8d6c504c0ac1e7f5f7dc5810a9903e793b6f715a9f015bdadb9a"},
+]
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..0b85b26
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,57 @@
+[tool.poetry]
+name = "talermerchantdemos"
+version = "0.8.1"
+description = "Taler merchant demos"
+authors = [
+ "Florian Dold <dold@taler.net>",
+ "Marcello Stanisci <ms@taler.net>",
+ "Christian Grothoff <grothoff@taler.net>",
+]
+license = "AGPL3+"
+include = [
+ # Common
+ "static/*.css",
+ "static/*.svg",
+ "templates/*.j2",
+ # Landing files
+ "landing/templates/*.j2",
+ "landing/static/*.css",
+ "landing/translations/*/LC_MESSAGES/*.mo",
+ # Blog files
+ "blog/templates/*.html",
+ "blog/templates/*.j2",
+ "blog/static/favicon.ico",
+ "blog/static/*.css",
+ #"blog/articles/*/*",
+ "blog/translations/*/LC_MESSAGES/*.mo",
+ "translations/*/LC_MESSAGES/*.mo",
+ "blog/data/*",
+ # Donation files
+ "donations/templates/*.j2",
+ "donations/static/*.css",
+ "donations/translations/*/LC_MESSAGES/*.mo",
+ # Survey files
+ "survey/templates/*.j2",
+ "survey/static/favicon.ico",
+ "survey/static/*.js",
+ "survey/static/*.css",
+ "survey/translations/*/LC_MESSAGES/*.mo",
+]
+
+
+[tool.poetry.dependencies]
+python = "^3.8"
+Flask = "^2.0.2"
+requests = "^2.26.0"
+taler-util = "^0.8.3"
+beautifulsoup4 = "^4.10.0"
+
+[tool.poetry.dev-dependencies]
+
+[tool.poetry.scripts]
+taler-merchant-demos = 'talermerchantdemos.cli:run'
+
+
+[build-system]
+requires = ["poetry-core>=1.0.0"]
+build-backend = "poetry.core.masonry.api"
diff --git a/setup.py b/setup.py
deleted file mode 100755
index f1f54be..0000000
--- a/setup.py
+++ /dev/null
@@ -1,49 +0,0 @@
-from setuptools import setup, find_packages
-
-setup(name='talermerchantdemos',
- version='0.8.0',
- description='Example blog/donations/survey sites for GNU Taler',
- url='git://taler.net/taler-merchant-demos',
- author=['Marcello Stanisci', 'Florian Dold', 'Christian Grothoff'],
- author_email=['ms@taler.net', 'florian@dold.me', 'cg@taler.net'],
- license='AGPL',
- packages=find_packages(),
- install_requires=["Flask>=0.10",
- "beautifulsoup4",
- "flask_babel",
- "jsmin",
- "requests",
- "taler-util"],
- package_data={
- '':[
- # Common
- "static/*.css",
- "static/*.svg",
- "templates/*.j2",
- # Landing files
- "landing/templates/*.j2",
- "landing/static/*.css",
- "landing/translations/*/LC_MESSAGES/*.mo",
- # Blog files
- "blog/templates/*.html",
- "blog/templates/*.j2",
- "blog/static/favicon.ico",
- "blog/static/*.css",
- "blog/articles/*/*",
- "blog/translations/*/LC_MESSAGES/*.mo",
- "translations/*/LC_MESSAGES/*.mo",
- "blog/data/*",
- # Donation files
- "donations/templates/*.j2",
- "donations/static/*.css",
- "donations/translations/*/LC_MESSAGES/*.mo",
- # Survey files
- "survey/templates/*.j2",
- "survey/static/favicon.ico",
- "survey/static/*.js",
- "survey/static/*.css",
- "survey/translations/*/LC_MESSAGES/*.mo",
- ]
- },
- scripts=['./bin/taler-merchant-demos'],
- zip_safe=False)
diff --git a/talermerchantdemos/blog/articles/pt_BR b/talermerchantdemos/blog/articles/pt_BR
deleted file mode 120000
index 9e3340e..0000000
--- a/talermerchantdemos/blog/articles/pt_BR
+++ /dev/null
@@ -1 +0,0 @@
-pt \ No newline at end of file
diff --git a/bin/taler-merchant-demos b/talermerchantdemos/cli.py
index b252bb6..fd836c6 100755..100644
--- a/bin/taler-merchant-demos
+++ b/talermerchantdemos/cli.py
@@ -1,21 +1,19 @@
-#!/usr/bin/env python3
-
##
-# This file is part of TALER
-# (C) 2017 INRIA
+# This file is part of GNU Taler
+# (C) 2017,2021 Taler Systems S.A.
#
-# TALER is free software; you can redistribute it and/or
+# GNU Taler is free software; you can redistribute it and/or
# modify it under the terms of the GNU Affero General Public
# License as published by the Free Software Foundation; either
# version 3, or (at your option) any later version.
#
-# TALER is distributed in the hope that it will be useful,
+# GNU Taler is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty
# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
-# License along with TALER; see the file COPYING. If not,
+# License along with GNU Taler; see the file COPYING. If not,
# see <http://www.gnu.org/licenses/>
#
# @author Florian Dold
@@ -128,7 +126,7 @@ def handle_serve_from_config(config_obj, which_shop):
@click.command("Global shop launcher")
-@click.option("--config", help="Configuration file", required=False)
+@click.option("-c", "--config", help="Configuration file", required=False)
@click.option(
"--http-port",
help="HTTP port to serve (if not given, serving comes from config)",
diff --git a/talermerchantdemos/translations/pt_BR/LC_MESSAGES/messages.po b/talermerchantdemos/translations/pt_BR/LC_MESSAGES/messages.po
deleted file mode 100644
index 33e0e18..0000000
--- a/talermerchantdemos/translations/pt_BR/LC_MESSAGES/messages.po
+++ /dev/null
@@ -1,600 +0,0 @@
-# Portuguese (Brazil) translations for PROJECT.
-# Copyright (C) 2021 ORGANIZATION
-# This file is distributed under the same license as the PROJECT project.
-# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: PROJECT VERSION\n"
-"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2021-06-11 07:56+0200\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: Automatically generated\n"
-"Language: pt_BR\n"
-"Language-Team: none\n"
-"Plural-Forms: nplurals=2; plural=(n > 1)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 2.9.0\n"
-
-#: talermerchantdemos/blog/blog.py:126 talermerchantdemos/landing/landing.py:93
-msgid "Internal error"
-msgstr ""
-
-#: talermerchantdemos/blog/blog.py:186
-msgid "Cannot refund unpaid article"
-msgstr ""
-
-#: talermerchantdemos/blog/blog.py:193
-msgid "Article is not anymore refundable"
-msgstr ""
-
-#: talermerchantdemos/blog/blog.py:229
-msgid "You did not pay for this article (nice try!)"
-msgstr ""
-
-#: talermerchantdemos/blog/blog.py:234
-msgid "Item not refundable (anymore)"
-msgstr ""
-
-#: talermerchantdemos/blog/blog.py:260
-msgid "Internal error: Files for article ({}) not found."
-msgstr ""
-
-#: talermerchantdemos/blog/blog.py:267
-msgid "Supplemental file ({}) for article ({}) not found."
-msgstr ""
-
-#: talermerchantdemos/blog/blog.py:345 talermerchantdemos/blog/blog.py:359
-msgid "Direct access forbidden"
-msgstr ""
-
-#: talermerchantdemos/blog/blog.py:411
-msgid "Internal server error"
-msgstr ""
-
-#: talermerchantdemos/blog/blog.py:419
-#: talermerchantdemos/donations/donations.py:284
-#: talermerchantdemos/landing/landing.py:166
-#: talermerchantdemos/survey/survey.py:162
-msgid "Page not found"
-msgstr ""
-
-#: talermerchantdemos/donations/donations.py:125
-msgid "parameter '{}' required"
-msgstr ""
-
-#: talermerchantdemos/donations/donations.py:242
-msgid "Backend could not create the order"
-msgstr ""
-
-#: talermerchantdemos/httpcommon/__init__.py:40
-#: talermerchantdemos/httpcommon/__init__.py:80
-msgid "Could not establish connection to backend"
-msgstr ""
-
-#: talermerchantdemos/httpcommon/__init__.py:46
-#: talermerchantdemos/httpcommon/__init__.py:85
-msgid "Could not parse response from backend"
-msgstr ""
-
-#: talermerchantdemos/httpcommon/__init__.py:51
-#: talermerchantdemos/httpcommon/__init__.py:88
-msgid "Backend returned error status"
-msgstr ""
-
-#: talermerchantdemos/landing/landing.py:174
-#: talermerchantdemos/survey/survey.py:170
-msgid "HTTP method not allowed for this page"
-msgstr ""
-
-#: talermerchantdemos/templates/blog-article-frame.html.j2:11
-#: talermerchantdemos/templates/blog-article-frame.html.j2:16
-msgid "Taler allows merchants to offer refunds to customers."
-msgstr ""
-
-#: talermerchantdemos/templates/blog-article-frame.html.j2:12
-msgid ""
-"You can <a href=\"{url}\">request a refund</a> within the first hour "
-"after buying this article."
-msgstr ""
-
-#: talermerchantdemos/templates/blog-article-frame.html.j2:17
-msgid "This article can't be refunded anymore."
-msgstr ""
-
-#: talermerchantdemos/templates/blog-base.html.j2:9
-msgid "Essay shop"
-msgstr ""
-
-#: talermerchantdemos/templates/blog-base.html.j2:11
-msgid "On this page you can buy articles using an imaginary currency."
-msgstr ""
-
-#: talermerchantdemos/templates/blog-base.html.j2:12
-msgid ""
-"The articles are chapters from Richard Stallman's book &quot;Free "
-"Software, Free Society&quot;."
-msgstr ""
-
-#: talermerchantdemos/templates/blog-base.html.j2:13
-msgid ""
-"The book is <a href=\"{shop}\">published by the FSF</a> and available "
-"gratis at <a href=\"{gnu}\">gnu.org</a>."
-msgstr ""
-
-#: talermerchantdemos/templates/blog-confirm-refund.html.j2:3
-msgid "Confirm refund request for article"
-msgstr ""
-
-#: talermerchantdemos/templates/blog-confirm-refund.html.j2:7
-msgid "Do you want to get a refund for the article <em>{name}</em>?"
-msgstr ""
-
-#: talermerchantdemos/templates/blog-confirm-refund.html.j2:8
-msgid ""
-"In this demonstration, refunds will be automatically approved by the "
-"merchant."
-msgstr ""
-
-#: talermerchantdemos/templates/blog-confirm-refund.html.j2:9
-msgid ""
-"After you have obtained a refund, you will not be able to read the "
-"article anymore."
-msgstr ""
-
-#: talermerchantdemos/templates/blog-confirm-refund.html.j2:15
-msgid ""
-"You will only be able to receive the refund on the same wallet that you "
-"have used to pay for this article originally."
-msgstr ""
-
-#: talermerchantdemos/templates/blog-confirm-refund.html.j2:21
-msgid "Request refund"
-msgstr ""
-
-#: talermerchantdemos/templates/blog-error.html.j2:3
-#: talermerchantdemos/templates/donations-error.html.j2:3
-#: talermerchantdemos/templates/landing-error.html.j2:3
-#: talermerchantdemos/templates/survey-error.html.j2:3
-msgid "Error encountered"
-msgstr ""
-
-#: talermerchantdemos/templates/blog-error.html.j2:9
-#: talermerchantdemos/templates/donations-error.html.j2:9
-#: talermerchantdemos/templates/survey-error.html.j2:9
-msgid "The backend returned status code {code}."
-msgstr ""
-
-#: talermerchantdemos/templates/blog-error.html.j2:14
-#: talermerchantdemos/templates/donations-error.html.j2:14
-#: talermerchantdemos/templates/survey-error.html.j2:14
-msgid "Backend response:"
-msgstr ""
-
-#: talermerchantdemos/templates/blog-error.html.j2:19
-#: talermerchantdemos/templates/donations-error.html.j2:19
-#: talermerchantdemos/templates/landing-error.html.j2:8
-#: talermerchantdemos/templates/survey-error.html.j2:19
-msgid "Stack trace:"
-msgstr ""
-
-#: talermerchantdemos/templates/blog-index.html.j2:3
-msgid "Essay Shop: Free Software, Free Society"
-msgstr ""
-
-#: talermerchantdemos/templates/blog-index.html.j2:5
-msgid ""
-"This is the latest edition of <cite>Free Software, Free Society: Selected"
-" Essays of Richard M. Stallman.</cite>"
-msgstr ""
-
-#: talermerchantdemos/templates/blog-index.html.j2:13
-msgid ""
-"Verbatim copying and distribution of this entire book are permitted "
-"worldwide, without royalty, in any medium, provided this notice is "
-"preserved. Permission is granted to copy and distribute translations of "
-"this book from the original English into another language provided the "
-"translation has been approved by the Free Software Foundation and the "
-"copyright notice and this permission notice are preserved on all copies."
-msgstr ""
-
-#: talermerchantdemos/templates/blog-index.html.j2:18
-msgid "Chapters"
-msgstr ""
-
-#: talermerchantdemos/templates/blog-index.html.j2:20
-msgid "Click on an individual chapter to to purchase it with GNU Taler."
-msgstr ""
-
-#: talermerchantdemos/templates/blog-index.html.j2:21
-msgid ""
-"You can get free, virtual money to buy articles on this page at the <a "
-"href=\"{}\")\">bank</a>."
-msgstr ""
-
-#: talermerchantdemos/templates/blog-index.html.j2:28
-msgid "Pay to read more..."
-msgstr ""
-
-#: talermerchantdemos/templates/blog-index.html.j2:31
-msgid "No articles available in this language."
-msgstr ""
-
-#: talermerchantdemos/templates/common-base.html.j2:20
-msgid "GNU Taler Demo"
-msgstr ""
-
-#: talermerchantdemos/templates/common-base.html.j2:44
-#: talermerchantdemos/templates/landing-base.html.j2:5
-msgid "Introduction"
-msgstr ""
-
-#: talermerchantdemos/templates/common-base.html.j2:47
-msgid "Bank"
-msgstr ""
-
-#: talermerchantdemos/templates/common-base.html.j2:50
-msgid "Essay Shop"
-msgstr ""
-
-#: talermerchantdemos/templates/common-base.html.j2:53
-#: talermerchantdemos/templates/donations-base.html.j2:6
-msgid "Donations"
-msgstr ""
-
-#: talermerchantdemos/templates/common-base.html.j2:56
-msgid "Tipping/Survey"
-msgstr ""
-
-#: talermerchantdemos/templates/common-base.html.j2:85
-msgid ""
-"You can learn more about GNU Taler on our main <a "
-"href=\"{site}\">website</a>."
-msgstr ""
-
-#: talermerchantdemos/templates/donations-base.html.j2:8
-msgid "This is the donation page."
-msgstr ""
-
-#: talermerchantdemos/templates/donations-base.html.j2:9
-msgid ""
-"Using this page you can make donations in {currency} to Free Software "
-"projects."
-msgstr ""
-
-#: talermerchantdemos/templates/donations-checkout.html.j2:5
-msgid "Select your payment method"
-msgstr ""
-
-#: talermerchantdemos/templates/donations-checkout.html.j2:9
-msgid "This is an example for a \"checkout\" page of a Web shop."
-msgstr ""
-
-#: talermerchantdemos/templates/donations-checkout.html.j2:10
-msgid ""
-"On the previous page, you have created the shopping cart and decided "
-"which product to buy (i.e. which project to donate KUDOS to)."
-msgstr ""
-
-#: talermerchantdemos/templates/donations-checkout.html.j2:11
-msgid ""
-"As Taler is not yet universally used, we expect merchants will offer "
-"various payment options."
-msgstr ""
-
-#: talermerchantdemos/templates/donations-checkout.html.j2:12
-msgid "To continue with the demo, select the &quot;Taler&quot; payment option."
-msgstr ""
-
-#: talermerchantdemos/templates/donations-checkout.html.j2:17
-msgid ""
-"Note that you must select Taler here for the demo to continue, as the "
-"other payment options are just placeholders and not really working in the"
-" demonstration."
-msgstr ""
-
-#: talermerchantdemos/templates/donations-checkout.html.j2:18
-msgid ""
-"It would be possible to ask the user to make this choice already on the "
-"previous page (with the shopping cart); we just separated the two steps "
-"to keep each step as simple as possible."
-msgstr ""
-
-#: talermerchantdemos/templates/donations-checkout.html.j2:44
-msgid "Confirm selection"
-msgstr ""
-
-#: talermerchantdemos/templates/donations-fulfillment.html.j2:4
-msgid "Donation Receipt"
-msgstr ""
-
-#: talermerchantdemos/templates/donations-fulfillment.html.j2:7
-msgid ""
-"Thank you, <strong>{donor}</strong>, for donating "
-"<strong>{amount}</strong> to <strong>{receiver}</strong>."
-msgstr ""
-
-#: talermerchantdemos/templates/donations-fulfillment.html.j2:12
-msgid ""
-"Please keep the order identifier <strong>{id}</strong> as a receipt for "
-"your donation."
-msgstr ""
-
-#: talermerchantdemos/templates/donations-fulfillment.html.j2:13
-msgid ""
-"You can show other people that you donated by sharing <a "
-"href=\"{link}\">this link</a> with them."
-msgstr ""
-
-#: talermerchantdemos/templates/donations-fulfillment.html.j2:19
-msgid "You can always make <a href=\"{link}\">another donation</a>."
-msgstr ""
-
-#: talermerchantdemos/templates/donations-index.html.j2:4
-msgid "Donate to Free Software projects"
-msgstr ""
-
-#: talermerchantdemos/templates/donations-index.html.j2:8
-msgid ""
-"This donations website shows the user experience for donations with GNU "
-"Taler."
-msgstr ""
-
-#: talermerchantdemos/templates/donations-index.html.j2:9
-msgid "You can make donations in an toy currency ({currency})"
-msgstr ""
-
-#: talermerchantdemos/templates/donations-index.html.j2:16
-msgid ""
-"Please select a project, the amount (*) of {currency} you wish to donate,"
-" and enter the donor's name that will appear on your receipt:"
-msgstr ""
-
-#: talermerchantdemos/templates/donations-index.html.j2:33
-msgid "Anonymous Donor"
-msgstr ""
-
-#: talermerchantdemos/templates/donations-index.html.j2:34
-msgid "Donate!"
-msgstr ""
-
-#: talermerchantdemos/templates/donations-index.html.j2:39
-msgid ""
-"(*) To make the demo a bit more interesting, the 5 {currency} option is "
-"deliberately implemented with a fault: the merchant will try to make you "
-"donate 6 {currency} instead of the 5 {currency} shown in the form. But "
-"do not worry, you will be given the opportunity to review the final offer"
-" from the merchant in the Taler wallet. That way, Taler protects you "
-"from committing to erroneous payments."
-msgstr ""
-
-#: talermerchantdemos/templates/donations-provider-not-supported.html.j2:4
-msgid "Payment Provider Not Supported"
-msgstr ""
-
-#: talermerchantdemos/templates/donations-provider-not-supported.html.j2:7
-msgid "Unfortunately the selected payment provider is not supported in this demo."
-msgstr ""
-
-#: talermerchantdemos/templates/donations-provider-not-supported.html.j2:8
-msgid "Please go back and select &quot;Taler&quot;."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-base.html.j2:7
-msgid "This is the GNU Taler demo."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-base.html.j2:8
-msgid "Here you can try out the GNU Taler payment system using a toy currency."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:4
-msgid "Step 1: Install the Taler wallet"
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:7
-msgid "Install the wallet from the <a href=\"{link}\">installation page</a>."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:8
-msgid "Installation only takes one click."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:12
-msgid ""
-"After installation, you may be asked to grant the browser-based Taler "
-"wallet additional optional permissions that allow it to improve your user"
-" experience."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:13
-msgid ""
-"These permissions will allow the wallet to automatically open if a page "
-"asks for a Taler payment."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:14
-msgid ""
-"Regardless of the permissions you grant, the wallet will never transmit "
-"information about you or your browsing history to anyone."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:19
-msgid "Step 2: Withdraw coins"
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:22
-msgid "In this demo you are paying with {currency}, an imaginary currency."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:23
-msgid ""
-"To withdraw {currency} coins you must first create an account at our <a "
-"href=\"{bank}\">bank</a>."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:24
-msgid "Signing up only requires you to pick a username and password."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:25
-msgid ""
-"When you create an account at our bank, you will be credited 100 "
-"{currency} for signing up."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:26
-msgid ""
-"Afterwards, use the bank's Web interface to authorize the transfer of "
-"{currency} to your wallet."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:30
-msgid ""
-"Once you have completed this step, you can click on the Taler icon in "
-"your browser to check your balance."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:35
-msgid "Step 3: Pay"
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:38
-msgid "We have two demo merchants where you can spend your coins:"
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:44
-msgid ""
-"At the <a href=\"{blog}\">essay store</a> you can pay in {currency} for "
-"individual chapters of Richard Stallman&#39;s book &quot;Free Software, "
-"Free Society&quot;."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:45
-msgid "The book is also available for free at <a href=\"{fsf}\">the FSF</a>."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:50
-msgid ""
-"At the project <a href=\"{donations}\">donation website</a> you can show "
-"respect to a software project of your choice by donating {currency} to "
-"them."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:56
-msgid "Step 4: Check money flow"
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:59
-msgid ""
-"You can see the wire transfers from the escrow account of the exchange to"
-" the merchants on the <a href=\"{bank}\">public accounts page</a> of the "
-"bank."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:60
-msgid ""
-"Note that only accounts configured to be publicly viewable are shown on "
-"that page."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:65
-msgid "Step 5: Survey"
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:68
-msgid "Websites can give tips to visitors for completing tasks."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:69
-msgid ""
-"You can earn some {currency} coins by filling in our <a "
-"href=\"{url}\">survey</a>."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:81
-msgid "Step 6: Reach out to us"
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:84
-msgid "We appreciate feedback about Taler and this demonstrator."
-msgstr ""
-
-#: talermerchantdemos/templates/landing-index.html.j2:85
-msgid "Let us know what you think by <a href=\"{link}\">contacting us</a>."
-msgstr ""
-
-#: talermerchantdemos/templates/survey-base.html.j2:6
-msgid "Survey"
-msgstr ""
-
-#: talermerchantdemos/templates/survey-base.html.j2:8
-msgid "This page demonstrates how to tip visitors for completing small tasks."
-msgstr ""
-
-#: talermerchantdemos/templates/survey-base.html.j2:9
-msgid ""
-"Tipping is a way for offer cash rewards that go directly into a user's "
-"wallet."
-msgstr ""
-
-#: talermerchantdemos/templates/survey-index.html.j2:6
-msgid ""
-"Please participate in our survey about payment systems and receive a tip "
-"in return."
-msgstr ""
-
-#: talermerchantdemos/templates/survey-index.html.j2:12
-msgid "Which payment system do you prefer?"
-msgstr ""
-
-#: talermerchantdemos/templates/survey-index.html.j2:23
-msgid "Submit Survey"
-msgstr ""
-
-#~ msgid "English [en]"
-#~ msgstr ""
-
-#~ msgid "Spanish [es]"
-#~ msgstr ""
-
-#~ msgid "German [de]"
-#~ msgstr ""
-
-#~ msgid "Swedish [sv]"
-#~ msgstr ""
-
-#~ msgid "GNU Taler Demo: Essay Shop"
-#~ msgstr ""
-
-#~ msgid "Taler Demo"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "You can get free, virtual money to"
-#~ " buy articles on this page at "
-#~ "the <a href=\"{}\")\">bank</a>"
-#~ msgstr ""
-
-#~ msgid "Back-office"
-#~ msgstr ""
-
-#~ msgid "GNU Taler Demo: Donations"
-#~ msgstr ""
-
-#~ msgid "GNU Taler Demo: Introduction"
-#~ msgstr ""
-
-#~ msgid ""
-#~ "You can see the wire transfers "
-#~ "from the escrow account of the "
-#~ "exchange to the merchants on the "
-#~ "<a href=\"{bank}/public-accounts\">public accounts"
-#~ " page</a> of the bank."
-#~ msgstr ""
-
-#~ msgid "GNU Taler Demo: Survey"
-#~ msgstr ""
-