Changeset - 88aebaa55be4
[Not reviewed]
c3l_membership/__init__.py
Show inline comments
 
@@ -36,23 +36,7 @@ def create_app():
 
    app.config.setdefault("REGULAR_FEE", 120)
 

	
 
    app.config.setdefault("DIGICASH_ENABLED", True)
 
    app.config.setdefault("BITCOIN_ENABLED", True)
 
    app.config.setdefault("ETHEREUM_ENABLED", True)
 
    app.config.setdefault("MONERO_ENABLED", True)
 
    app.config.setdefault("ZCASH_ENABLED", True)
 

	
 
    app.config.setdefault(
 
        "BITCOIN_CONVERSION_SCRIPT", "/usr/local/share/btc/BTC_Membership.pl"
 
    )
 
    app.config.setdefault(
 
        "ETHEREUM_CONVERSION_SCRIPT", "/usr/local/share/eth/ETH_Membership.pl"
 
    )
 
    app.config.setdefault(
 
        "MONERO_CONVERSION_SCRIPT", "/usr/local/share/xmr/XMR_Membership.pl"
 
    )
 
    app.config.setdefault(
 
        "ZCASH_CONVERSION_SCRIPT", "/usr/local/share/zcash/ZCASH_Membership.pl"
 
    )
 
    app.config.setdefault("CRYPTOCURRENCIES", dict())
 

	
 
    @babel.localeselector
 
    def get_locale():
c3l_membership/static/pdf.css
Show inline comments
 
@@ -87,18 +87,24 @@ footer {
 
  padding: 0;
 
}
 

	
 
.btccontainer {
 
.cryptocontainer {
 
  display: flex;
 
  justify-content: space-between;
 
}
 

	
 
.btctext {
 
.cryptotext {
 
  list-style-type: none;
 
  margin: 0;
 
  padding: 0;
 
  max-width: 20em;
 
}
 

	
 
.btcqrcode {
 
.cryptotext li {
 
  word-break: break-all;
 
  overflow-wrap: break-word;
 
}
 

	
 
.cryptoqrcode {
 
  width: 10em;
 
}
 

	
c3l_membership/templates/member.html
Show inline comments
 
@@ -65,7 +65,7 @@
 
      </div>
 
      <div>
 
        <div>{% trans %}Payment:{% endtrans %}</div>
 
        <div>{{ form.payment.data }}</div>
 
        <div>{{ form.payment.data.lower() }}</div>
 
      </div>
 
      <div>
 
        <div>{% trans %}Agreed to Terms &amp; Conditions:{% endtrans %}</div>
 
@@ -87,57 +87,19 @@
 
      </ul>
 
    {% elif form.payment.data == 'cash' %}
 
      <p>{% trans %}Please bring {{ price }}€ with you the next time you meet us!{% endtrans %}</p>
 
    {% elif form.payment.data == 'bitcoin' %}
 
      <div class="btccontainer">
 
    {% elif form.payment.data in config["CRYPTOCURRENCIES"] %}
 
      <div class="cryptocontainer">
 
        <div>
 
          <ul class="btctext">
 
            <li><b>{% trans %}Address:{% endtrans %}</b> {{ config["BITCOIN_ADDRESS"] }}</li>
 
          <ul class="cryptotext">
 
            <li><b>{% trans %}Address:{% endtrans %}</b> {{ config["CRYPTOCURRENCIES"][form.payment.data]["ADDRESS"] }}</li>
 
            <li><b>{% trans %}Label:{% endtrans %}</b> Membership Fee</li>
 
            <li><b>{% trans %}Message:{% endtrans %}</b> {{ year }} {{ form.username.data }}</li>
 
            <li><b>{% trans %}Amount:{% endtrans %}</b> {{ price }} BTC</li>
 
          </ul>
 
        </div>
 
        {% set bitcoin_url="bitcoin:" + config["BITCOIN_ADDRESS"] + "?amount={amount}&label=Membership Fee {year} {username}&message=Membership Fee {year} {username}".format(amount=price, year=year, username=form.username.data) %}
 
        <div><img class="btcqrcode" src="{{ qrcode(bitcoin_url) }}" /></div>
 
      </div>
 
    {% elif form.payment.data == 'ethereum' %}
 
      <div class="btccontainer">
 
        <div>
 
          <ul class="btctext">
 
            <li><b>{% trans %}Address:{% endtrans %}</b> {{ config["ETHEREUM_ADDRESS"] }}</li>
 
            <li><b>{% trans %}Label:{% endtrans %}</b> Membership Fee</li>
 
            <li><b>{% trans %}Message:{% endtrans %}</b> {{ year }} {{ form.username.data }}</li>
 
            <li><b>{% trans %}Amount:{% endtrans %}</b> {{ price }} ETH</li>
 
            <li><b>{% trans %}Amount:{% endtrans %}</b> {{ price }} {{ config["CRYPTOCURRENCIES"][form.payment.data]["COMMODITY"] }}</li>
 
          </ul>
 
        </div>
 
        {% set ethereum_url=config["ETHEREUM_ADDRESS"] %}
 
        <div><img class="btcqrcode" src="{{ qrcode(ethereum_url) }}" /></div>
 
      </div>
 
    {% elif form.payment.data == 'monero' %}
 
      <div class="btccontainer">
 
        <div>
 
          <ul class="btctext">
 
            <li><b>{% trans %}Address:{% endtrans %}</b> {{ config["MONERO_ADDRESS"] }}</li>
 
            <li><b>{% trans %}Label:{% endtrans %}</b> Membership Fee</li>
 
            <li><b>{% trans %}Message:{% endtrans %}</b> {{ year }} {{ form.username.data }}</li>
 
            <li><b>{% trans %}Amount:{% endtrans %}</b> {{ price }} XMR</li>
 
          </ul>
 
        </div>
 
        {% set monero_url=config["MONERO_ADDRESS"] %}
 
        <div><img class="btcqrcode" src="{{ qrcode(monero_url) }}" /></div>
 
      </div>
 
    {% elif form.payment.data == 'zcash' %}
 
      <div class="btccontainer">
 
        <div>
 
          <ul class="btctext">
 
            <li><b>{% trans %}Address:{% endtrans %}</b> {{ config["ZCASH_ADDRESS"] }}</li>
 
            <li><b>{% trans %}Label:{% endtrans %}</b> Membership Fee</li>
 
            <li><b>{% trans %}Message:{% endtrans %}</b> {{ year }} {{ form.username.data }}</li>
 
            <li><b>{% trans %}Amount:{% endtrans %}</b> {{ price }} ZEC</li>
 
          </ul>
 
        </div>
 
        {% set zcash_url=config["ZCASH_ADDRESS"] %}
 
        <div><img class="btcqrcode" src="{{ qrcode(zcash_url) }}" /></div>
 
        {% set address = config["CRYPTOCURRENCIES"][form.payment.data]["ADDRESS"] %}
 
        {% set crypto_url=config["CRYPTOCURRENCIES"][form.payment.data]["URL"].format(address=address, amount=price, year=year, username=form.username.data) %}
 
        <div><img class="cryptoqrcode" src="{{ qrcode(crypto_url) }}" /></div>
 
      </div>
 
    {% elif form.payment.data == 'digicash' %}
 
      <div class="digicash">
c3l_membership/translations/de/LC_MESSAGES/messages.po
Show inline comments
 
@@ -7,8 +7,8 @@ msgid ""
 
msgstr ""
 
"Project-Id-Version: PROJECT VERSION\n"
 
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
 
"POT-Creation-Date: 2022-01-17 11:38+0100\n"
 
"PO-Revision-Date: 2022-01-18 17:42+0100\n"
 
"POT-Creation-Date: 2022-01-18 09:55+0100\n"
 
"PO-Revision-Date: 2022-01-18 09:55+0100\n"
 
"Last-Translator: Dennis Fink <dennis.fink@c3l.lu>\n"
 
"Language: de\n"
 
"Language-Team: de <LL@li.org>\n"
 
@@ -121,33 +121,21 @@ msgstr "Ich bin unter 18 Jahre alt und h
 
msgid "Become a member"
 
msgstr "Mitglied werden"
 

	
 
#: c3l_membership/views.py:31
 
#: c3l_membership/views.py:33
 
msgid "by cash"
 
msgstr "mit Bargeld"
 

	
 
#: c3l_membership/views.py:32
 
#: c3l_membership/views.py:34
 
msgid "by wire transfer"
 
msgstr "per Überweisung"
 

	
 
#: c3l_membership/views.py:36
 
#: c3l_membership/views.py:38
 
msgid "by DigiCash"
 
msgstr "per DigiCash"
 

	
 
#: c3l_membership/views.py:37
 
msgid "by bitcoin"
 
msgstr "per Bitcoin"
 

	
 
#: c3l_membership/views.py:38
 
msgid "by ethereum"
 
msgstr "per Ethereum"
 

	
 
#: c3l_membership/views.py:39
 
msgid "by monero"
 
msgstr "per Monero"
 

	
 
#: c3l_membership/views.py:40
 
msgid "by zcash"
 
msgstr "per Zcash"
 
#: c3l_membership/views.py:45
 
msgid "by"
 
msgstr "per"
 

	
 
#: c3l_membership/templates/index.html:6
 
msgid "C3L Membership Application"
 
@@ -357,9 +345,6 @@ msgstr "Kontoinhaber:"
 

	
 
#: c3l_membership/templates/member.html:85
 
#: c3l_membership/templates/member.html:96
 
#: c3l_membership/templates/member.html:109
 
#: c3l_membership/templates/member.html:122
 
#: c3l_membership/templates/member.html:135
 
msgid "Message:"
 
msgstr "Mitteilung:"
 

	
 
@@ -374,38 +359,40 @@ msgid "Please bring %(price)s€ with you the next time you meet us!"
 
msgstr "Bitte bringen Sie %(price)s€ mit, wenn Sie uns das nächste Mal treffen!"
 

	
 
#: c3l_membership/templates/member.html:94
 
#: c3l_membership/templates/member.html:107
 
#: c3l_membership/templates/member.html:120
 
#: c3l_membership/templates/member.html:133
 
msgid "Address:"
 
msgstr "Addresse:"
 

	
 
#: c3l_membership/templates/member.html:95
 
#: c3l_membership/templates/member.html:108
 
#: c3l_membership/templates/member.html:121
 
#: c3l_membership/templates/member.html:134
 
msgid "Label:"
 
msgstr "Bezeichnung:"
 

	
 
#: c3l_membership/templates/member.html:97
 
#: c3l_membership/templates/member.html:110
 
#: c3l_membership/templates/member.html:123
 
#: c3l_membership/templates/member.html:136
 
msgid "Amount:"
 
msgstr "Betrag:"
 

	
 
#: c3l_membership/templates/member.html:145
 
#: c3l_membership/templates/member.html:106
 
msgid "Pay with digicash!"
 
msgstr "Bezahle mit DigiCash!"
 

	
 
#: c3l_membership/templates/member.html:150
 
#: c3l_membership/templates/member.html:111
 
msgid "Luxembourg, the"
 
msgstr "Luxemburg, der"
 

	
 
#: c3l_membership/templates/member.html:152
 
#: c3l_membership/templates/member.html:113
 
msgid "Signature of your legal representative"
 
msgstr "Unterschrift des Vormundes"
 

	
 
#: c3l_membership/templates/member.html:152
 
#: c3l_membership/templates/member.html:113
 
msgid "Your signature"
 
msgstr "Ihre Unterschrift"
 
#~ msgid "by bitcoin"
 
#~ msgstr "per Bitcoin"
 

	
 
#~ msgid "by ethereum"
 
#~ msgstr "per Ethereum"
 

	
 
#~ msgid "by monero"
 
#~ msgstr "per Monero"
 

	
 
#~ msgid "by zcash"
 
#~ msgstr "per Zcash"
c3l_membership/translations/fr/LC_MESSAGES/messages.mo
Show inline comments
 
binary diff not shown
c3l_membership/translations/fr/LC_MESSAGES/messages.po
Show inline comments
 
@@ -7,8 +7,9 @@ msgid ""
 
msgstr ""
 
"Project-Id-Version: PROJECT VERSION\n"
 
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
 
"POT-Creation-Date: 2022-01-17 11:38+0100\n"
 
"PO-Revision-Date: 2022-01-17 21:21+0100\n"
 
"POT-Creation-Date: 2022-01-18 09:55+0100\n"
 
"PO-Revision-Date: 2022-01-18 09:56+0100\n"
 
"Last-Translator: Dennis Fink <dennis.fink@c3l.lu>\n"
 
"Language: fr\n"
 
"Language-Team: fr <LL@li.org>\n"
 
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
@@ -16,7 +17,6 @@ msgstr ""
 
"Content-Type: text/plain; charset=utf-8\n"
 
"Content-Transfer-Encoding: 8bit\n"
 
"Generated-By: Babel 2.9.1\n"
 
"Last-Translator: Dennis Fink <dennis.fink@c3l.lu>\n"
 
"X-Generator: Poedit 3.0\n"
 

	
 
#: c3l_membership/forms.py:12
 
@@ -46,27 +46,23 @@ msgstr "Veuillez sélectionner une des options!"
 

	
 
#: c3l_membership/forms.py:36
 
msgid ""
 
"Regular membership - Membership with voting rights on the general "
 
"assembly."
 
msgstr ""
 
"Membre régulier - Membre avec droit de vote à l'assemblée générale."
 
"Regular membership - Membership with voting rights on the general assembly."
 
msgstr "Membre régulier - Membre avec droit de vote à l'assemblée générale."
 

	
 
#: c3l_membership/forms.py:42
 
msgid ""
 
"Supporting membership - Membership without voting rights on the general "
 
"assembly."
 
msgstr ""
 
"Membre de soutien - Membre sans droit de vote à l'assemblée générale."
 
msgstr "Membre de soutien - Membre sans droit de vote à l'assemblée générale."
 

	
 
#: c3l_membership/forms.py:50
 
msgid "I am a student and would like to have the reduced membership fees."
 
msgstr ""
 
"Je suis étudiant et j'aimerais bénéficier de la réduction de cotisation."
 
msgstr "Je suis étudiant et j'aimerais bénéficier de la réduction de cotisation."
 

	
 
#: c3l_membership/forms.py:56
 
msgid ""
 
"I am a starving hacker and cannot afford the membership! (Please get in "
 
"touch with us at info@c3l.lu before filling out this membership form)"
 
"I am a starving hacker and cannot afford the membership! (Please get in touch "
 
"with us at info@c3l.lu before filling out this membership form)"
 
msgstr ""
 
"Je suis un \"starving\" hacker et je ne peux pas payer la cotisation! "
 
"(Veuillez nous contacter à info@c3l.lu avant de remplir ce formulaire "
 
@@ -106,54 +102,40 @@ msgid ""
 
"understood the <a href=\"http://statutes.c3l.lu\">statutes of the Chaos "
 
"Computer Club Lëtzebuerg A.S.B.L.</a>."
 
msgstr ""
 
"En soumettant cette demande d'adhésion, vous acceptez d'avoir lu et "
 
"compris les <a href=\"http://statutes.c3l.lu\">statuts du Chaos Computer "
 
"Club Lëtzebuerg A.S.B.L.</a>."
 
"En soumettant cette demande d'adhésion, vous acceptez d'avoir lu et compris "
 
"les <a href=\"http://statutes.c3l.lu\">statuts du Chaos Computer Club "
 
"Lëtzebuerg A.S.B.L.</a>."
 

	
 
#: c3l_membership/forms.py:100
 
msgid ""
 
"I am under 18 years of age and have the approval of my legal "
 
"representative."
 
"I am under 18 years of age and have the approval of my legal representative."
 
msgstr "J'ai moins de 18 ans et j'ai l'accord de mon représentant légal."
 

	
 
#: c3l_membership/forms.py:104
 
msgid "Become a member"
 
msgstr "Devenir membre"
 

	
 
#: c3l_membership/views.py:31
 
#: c3l_membership/views.py:33
 
msgid "by cash"
 
msgstr "en espèces"
 

	
 
#: c3l_membership/views.py:32
 
#: c3l_membership/views.py:34
 
msgid "by wire transfer"
 
msgstr "par virement bancaire"
 

	
 
#: c3l_membership/views.py:36
 
#: c3l_membership/views.py:38
 
msgid "by DigiCash"
 
msgstr "par DigiCash"
 

	
 
#: c3l_membership/views.py:37
 
msgid "by bitcoin"
 
msgstr "par Bitcoin"
 

	
 
#: c3l_membership/views.py:38
 
msgid "by ethereum"
 
msgstr "par Ethereum"
 

	
 
#: c3l_membership/views.py:39
 
msgid "by monero"
 
msgstr "par Monero"
 

	
 
#: c3l_membership/views.py:40
 
msgid "by zcash"
 
msgstr "par Zcash"
 
#: c3l_membership/views.py:45
 
msgid "by"
 
msgstr "per"
 

	
 
#: c3l_membership/templates/index.html:6
 
msgid "C3L Membership Application"
 
msgstr "Demande d'adhésion à C3L"
 

	
 
#: c3l_membership/templates/index.html:40
 
#: c3l_membership/templates/member.html:16
 
#: c3l_membership/templates/index.html:40 c3l_membership/templates/member.html:16
 
msgid "Membership Application"
 
msgstr "Demande d'adhésion"
 

	
 
@@ -163,17 +145,16 @@ msgstr "Comment utiliser ce formulaire"
 

	
 
#: c3l_membership/templates/index.html:42
 
msgid ""
 
"Fill out this form and click on \"Become a member\". Afterwards you will "
 
"be presented with a PDF, which you have to send to info@c3l.lu or bring "
 
"it to one of our next events. Print it or save it to your local "
 
"hardware, because we don't save a copy on our servers for data "
 
"protection reasons!"
 
"Fill out this form and click on \"Become a member\". Afterwards you will be "
 
"presented with a PDF, which you have to send to info@c3l.lu or bring it to one "
 
"of our next events. Print it or save it to your local hardware, because we "
 
"don't save a copy on our servers for data protection reasons!"
 
msgstr ""
 
"Remplissez ce formulaire et cliquez sur \"Devenir membre\". Ensuite, "
 
"vous recevrez un PDF, que vous devrez envoyer à info@c3l.lu ou apporter "
 
"à l'un de nos prochains événements. Imprimez-le ou enregistrez-le sur "
 
"votre matériel local, car nous n'enregistrons pas de copie sur nos "
 
"serveurs pour des raisons de protection des données!"
 
"Remplissez ce formulaire et cliquez sur \"Devenir membre\". Ensuite, vous "
 
"recevrez un PDF, que vous devrez envoyer à info@c3l.lu ou apporter à l'un de "
 
"nos prochains événements. Imprimez-le ou enregistrez-le sur votre matériel "
 
"local, car nous n'enregistrons pas de copie sur nos serveurs pour des raisons "
 
"de protection des données!"
 

	
 
#: c3l_membership/templates/index.html:53
 
msgid "Required information"
 
@@ -197,11 +178,11 @@ msgstr ""
 

	
 
#: c3l_membership/templates/index.html:98
 
msgid ""
 
"Access to our <a href=\"https://wiki.c3l.lu/doku.php?id=chaosstuff:"
 
"bootstrap\">hackerspace: ChaosStuff</a>"
 
"Access to our <a href=\"https://wiki.c3l.lu/doku.php?id=chaosstuff:bootstrap"
 
"\">hackerspace: ChaosStuff</a>"
 
msgstr ""
 
"Access to our <a href=\"https://wiki.c3l.lu/doku.php?id=chaosstuff:"
 
"bootstrap\">hackerspace: ChaosStuff</a>"
 
"Access to our <a href=\"https://wiki.c3l.lu/doku.php?id=chaosstuff:bootstrap"
 
"\">hackerspace: ChaosStuff</a>"
 

	
 
#: c3l_membership/templates/index.html:100
 
msgid "Becoming a regular member gives you these additional benefits:"
 
@@ -219,11 +200,11 @@ msgstr "Accès à notre liste de diffusion interne"
 

	
 
#: c3l_membership/templates/index.html:105
 
msgid ""
 
"You can read more on the membership <a href=\"https://wiki.c3l.lu/doku."
 
"php?id=organization:membership\">here</a>."
 
"You can read more on the membership <a href=\"https://wiki.c3l.lu/doku.php?"
 
"id=organization:membership\">here</a>."
 
msgstr ""
 
"Vous pouvez en savoir plus sur l'adhésion <a href=\"https://wiki.c3l.lu/"
 
"doku.php?id=organization:membership\">ici</a>."
 
"Vous pouvez en savoir plus sur l'adhésion <a href=\"https://wiki.c3l.lu/doku."
 
"php?id=organization:membership\">ici</a>."
 

	
 
#: c3l_membership/templates/index.html:106
 
msgid "What are the membership fees?"
 
@@ -232,17 +213,15 @@ msgstr "Quelles sont les cotisations des
 
#: c3l_membership/templates/index.html:107
 
#, python-format
 
msgid ""
 
"The membership fee for the regular membership is %(regular_fee)s€ per "
 
"year. The membership fee for the supporting membership is "
 
"%(supporting_fee)s€ per year. If you are a student, all membership fees "
 
"are %(supporting_fee)s€ per year. For that please select the "
 
"corresponding option."
 
"The membership fee for the regular membership is %(regular_fee)s€ per year. "
 
"The membership fee for the supporting membership is %(supporting_fee)s€ per "
 
"year. If you are a student, all membership fees are %(supporting_fee)s€ per "
 
"year. For that please select the corresponding option."
 
msgstr ""
 
"La cotisation pour une adhésion régulière est de %(regular_fee)s€ par "
 
"an. La cotisation pour l'adhésion de soutien est de %(supporting_fee)s€ "
 
"par an. Si vous êtes étudiant, toutes les cotisations sont de "
 
"%(supporting_fee)s€ par an. Pour cela, veuillez sélectionner l'option "
 
"correspondante."
 
"La cotisation pour une adhésion régulière est de %(regular_fee)s€ par an. La "
 
"cotisation pour l'adhésion de soutien est de %(supporting_fee)s€ par an. Si "
 
"vous êtes étudiant, toutes les cotisations sont de %(supporting_fee)s€ par an. "
 
"Pour cela, veuillez sélectionner l'option correspondante."
 

	
 
#: c3l_membership/templates/index.html:108
 
msgid "I cannot afford the membership?"
 
@@ -250,13 +229,13 @@ msgstr "Je n'ai pas les moyens de payer l'adhésion?"
 

	
 
#: c3l_membership/templates/index.html:109
 
msgid ""
 
"If you cannot afford the membership, please contact us via info@c3l.lu "
 
"first, before filling out the membership form. We will try to find a "
 
"solution together."
 
"If you cannot afford the membership, please contact us via info@c3l.lu first, "
 
"before filling out the membership form. We will try to find a solution "
 
"together."
 
msgstr ""
 
"Si vous n'avez pas les moyens de payer l'adhésion, veuillez d'abord nous "
 
"contacter via info@c3l.lu, avant de remplir le formulaire d'adhésion. "
 
"Nous essaierons de trouver une solution ensemble."
 
"contacter via info@c3l.lu, avant de remplir le formulaire d'adhésion. Nous "
 
"essaierons de trouver une solution ensemble."
 

	
 
#: c3l_membership/templates/index.html:122
 
msgid "Additional information"
 
@@ -359,9 +338,6 @@ msgstr "Titulaire du compte:"
 

	
 
#: c3l_membership/templates/member.html:85
 
#: c3l_membership/templates/member.html:96
 
#: c3l_membership/templates/member.html:109
 
#: c3l_membership/templates/member.html:122
 
#: c3l_membership/templates/member.html:135
 
msgid "Message:"
 
msgstr "Message:"
 

	
 
@@ -374,42 +350,45 @@ msgstr "Montant: %(price)s€"
 
#, python-format
 
msgid "Please bring %(price)s€ with you the next time you meet us!"
 
msgstr ""
 
"Veuillez apporter des %(price)s€ avec vous la prochaine fois que vous "
 
"nous rencontrerez !"
 
"Veuillez apporter des %(price)s€ avec vous la prochaine fois que vous nous "
 
"rencontrerez !"
 

	
 
#: c3l_membership/templates/member.html:94
 
#: c3l_membership/templates/member.html:107
 
#: c3l_membership/templates/member.html:120
 
#: c3l_membership/templates/member.html:133
 
msgid "Address:"
 
msgstr "Adresse:"
 

	
 
#: c3l_membership/templates/member.html:95
 
#: c3l_membership/templates/member.html:108
 
#: c3l_membership/templates/member.html:121
 
#: c3l_membership/templates/member.html:134
 
msgid "Label:"
 
msgstr "Label:"
 

	
 
#: c3l_membership/templates/member.html:97
 
#: c3l_membership/templates/member.html:110
 
#: c3l_membership/templates/member.html:123
 
#: c3l_membership/templates/member.html:136
 
msgid "Amount:"
 
msgstr "Montant:"
 

	
 
#: c3l_membership/templates/member.html:145
 
#: c3l_membership/templates/member.html:106
 
msgid "Pay with digicash!"
 
msgstr "Payer avec DigiCash!"
 

	
 
#: c3l_membership/templates/member.html:150
 
#: c3l_membership/templates/member.html:111
 
msgid "Luxembourg, the"
 
msgstr "Luxembourg, le"
 

	
 
#: c3l_membership/templates/member.html:152
 
#: c3l_membership/templates/member.html:113
 
msgid "Signature of your legal representative"
 
msgstr "Signature de votre représentant légal"
 

	
 
#: c3l_membership/templates/member.html:152
 
#: c3l_membership/templates/member.html:113
 
msgid "Your signature"
 
msgstr "Votre signature"
 

	
 
#~ msgid "by bitcoin"
 
#~ msgstr "par Bitcoin"
 

	
 
#~ msgid "by ethereum"
 
#~ msgstr "par Ethereum"
 

	
 
#~ msgid "by monero"
 
#~ msgstr "par Monero"
 

	
 
#~ msgid "by zcash"
 
#~ msgstr "par Zcash"
c3l_membership/translations/lb/LC_MESSAGES/messages.mo
Show inline comments
 
binary diff not shown
c3l_membership/translations/lb/LC_MESSAGES/messages.po
Show inline comments
 
@@ -7,8 +7,9 @@ msgid ""
 
msgstr ""
 
"Project-Id-Version: PROJECT VERSION\n"
 
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
 
"POT-Creation-Date: 2022-01-17 11:38+0100\n"
 
"PO-Revision-Date: 2022-01-17 17:28+0100\n"
 
"POT-Creation-Date: 2022-01-18 09:55+0100\n"
 
"PO-Revision-Date: 2022-01-18 09:56+0100\n"
 
"Last-Translator: Dennis Fink <dennis.fink@c3l.lu>\n"
 
"Language: lb\n"
 
"Language-Team: lb <LL@li.org>\n"
 
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
@@ -16,7 +17,6 @@ msgstr ""
 
"Content-Type: text/plain; charset=utf-8\n"
 
"Content-Transfer-Encoding: 8bit\n"
 
"Generated-By: Babel 2.9.1\n"
 
"Last-Translator: Dennis Fink <dennis.fink@c3l.lu>\n"
 
"X-Generator: Poedit 3.0\n"
 

	
 
#: c3l_membership/forms.py:12
 
@@ -46,19 +46,17 @@ msgstr "Wielt wannechgelift eng vun den Optiounen aus!"
 

	
 
#: c3l_membership/forms.py:36
 
msgid ""
 
"Regular membership - Membership with voting rights on the general "
 
"assembly."
 
"Regular membership - Membership with voting rights on the general assembly."
 
msgstr ""
 
"Regulär Memberschaft - Memberschaft mat Stëmmrecht op der Assemblée "
 
"Générale."
 
"Regulär Memberschaft - Memberschaft mat Stëmmrecht op der Assemblée Générale."
 

	
 
#: c3l_membership/forms.py:42
 
msgid ""
 
"Supporting membership - Membership without voting rights on the general "
 
"assembly."
 
msgstr ""
 
"Ënnerstëtzend Memberschaft - Memberschaft ouni Stëmmrecht op der "
 
"Assemblée Générale."
 
"Ënnerstëtzend Memberschaft - Memberschaft ouni Stëmmrecht op der Assemblée "
 
"Générale."
 

	
 
#: c3l_membership/forms.py:50
 
msgid "I am a student and would like to have the reduced membership fees."
 
@@ -66,8 +64,8 @@ msgstr "Ech sinn Student a géif gären déi reduzéiert Cotisatioun bezuelen."
 

	
 
#: c3l_membership/forms.py:56
 
msgid ""
 
"I am a starving hacker and cannot afford the membership! (Please get in "
 
"touch with us at info@c3l.lu before filling out this membership form)"
 
"I am a starving hacker and cannot afford the membership! (Please get in touch "
 
"with us at info@c3l.lu before filling out this membership form)"
 
msgstr ""
 
"Ech sinn en \"starving\" Hacker a kann d'Memberschaft net leeschten! "
 
"(Kontaktéiert eis w.e.g. op info@c3l.lu ier Dir dëse "
 
@@ -107,55 +105,40 @@ msgid ""
 
"understood the <a href=\"http://statutes.c3l.lu\">statutes of the Chaos "
 
"Computer Club Lëtzebuerg A.S.B.L.</a>."
 
msgstr ""
 
"Duerch d'Erareeche vun dësem Memberschaftsformulaire, sidd Dir "
 
"averstanen <a href=\"https://statutes.c3l.lu\">d'Statute vum Chaos "
 
"Computer Club Lëtzebuerg A.S.B.L.</a> gelies a verstanen ze hunn."
 
"Duerch d'Erareeche vun dësem Memberschaftsformulaire, sidd Dir averstanen <a "
 
"href=\"https://statutes.c3l.lu\">d'Statute vum Chaos Computer Club Lëtzebuerg "
 
"A.S.B.L.</a> gelies a verstanen ze hunn."
 

	
 
#: c3l_membership/forms.py:100
 
msgid ""
 
"I am under 18 years of age and have the approval of my legal "
 
"representative."
 
msgstr ""
 
"Ech sinn méi Jonk wéi 18 Joer an hunn d'Zoustëmmung vu mengem Tuteur."
 
"I am under 18 years of age and have the approval of my legal representative."
 
msgstr "Ech sinn méi Jonk wéi 18 Joer an hunn d'Zoustëmmung vu mengem Tuteur."
 

	
 
#: c3l_membership/forms.py:104
 
msgid "Become a member"
 
msgstr "Member ginn"
 

	
 
#: c3l_membership/views.py:31
 
#: c3l_membership/views.py:33
 
msgid "by cash"
 
msgstr "mat Boergeld"
 

	
 
#: c3l_membership/views.py:32
 
#: c3l_membership/views.py:34
 
msgid "by wire transfer"
 
msgstr "per Iwwerweisung"
 

	
 
#: c3l_membership/views.py:36
 
#: c3l_membership/views.py:38
 
msgid "by DigiCash"
 
msgstr "per DigiCash"
 

	
 
#: c3l_membership/views.py:37
 
msgid "by bitcoin"
 
msgstr "mat Bitcoin"
 

	
 
#: c3l_membership/views.py:38
 
msgid "by ethereum"
 
msgstr "mat Ethereum"
 

	
 
#: c3l_membership/views.py:39
 
msgid "by monero"
 
msgstr "mat Monero"
 

	
 
#: c3l_membership/views.py:40
 
msgid "by zcash"
 
msgstr "mat Zcash"
 
#: c3l_membership/views.py:45
 
msgid "by"
 
msgstr "mat"
 

	
 
#: c3l_membership/templates/index.html:6
 
msgid "C3L Membership Application"
 
msgstr "C3L Memberschafts Ufro"
 

	
 
#: c3l_membership/templates/index.html:40
 
#: c3l_membership/templates/member.html:16
 
#: c3l_membership/templates/index.html:40 c3l_membership/templates/member.html:16
 
msgid "Membership Application"
 
msgstr "Memberschafts Ufro"
 

	
 
@@ -165,16 +148,15 @@ msgstr "Wéi ass dëse Formulaire ze benotzen"
 

	
 
#: c3l_membership/templates/index.html:42
 
msgid ""
 
"Fill out this form and click on \"Become a member\". Afterwards you will "
 
"be presented with a PDF, which you have to send to info@c3l.lu or bring "
 
"it to one of our next events. Print it or save it to your local "
 
"hardware, because we don't save a copy on our servers for data "
 
"protection reasons!"
 
"Fill out this form and click on \"Become a member\". Afterwards you will be "
 
"presented with a PDF, which you have to send to info@c3l.lu or bring it to one "
 
"of our next events. Print it or save it to your local hardware, because we "
 
"don't save a copy on our servers for data protection reasons!"
 
msgstr ""
 
"Fëllt dëse Formulaire aus a klickt op \"Gitt Member\". Duerno kritt Dir "
 
"en PDF, deen Dir op info@c3l.lu schéckt oder op ee vun eisen nächsten "
 
"Eventer matbréngt. Dréckt et oder späichert de PDF op är lokal Hardware, "
 
"well mir aus Dateschutzgrënn keng Kopie op eisem Server späicheren!"
 
"Fëllt dëse Formulaire aus a klickt op \"Gitt Member\". Duerno kritt Dir en "
 
"PDF, deen Dir op info@c3l.lu schéckt oder op ee vun eisen nächsten Eventer "
 
"matbréngt. Dréckt et oder späichert de PDF op är lokal Hardware, well mir aus "
 
"Dateschutzgrënn keng Kopie op eisem Server späicheren!"
 

	
 
#: c3l_membership/templates/index.html:53
 
msgid "Required information"
 
@@ -182,8 +164,7 @@ msgstr "Erfuerderlech Informatiounen"
 

	
 
#: c3l_membership/templates/index.html:94
 
msgid "What's difference between the different membership options?"
 
msgstr ""
 
"Wat sinn Ënnerscheeder tëscht deene verschiddene Memberschaftsoptiounen?"
 
msgstr "Wat sinn Ënnerscheeder tëscht deene verschiddene Memberschaftsoptiounen?"
 

	
 
#: c3l_membership/templates/index.html:95
 
msgid "All the options include to following benefits:"
 
@@ -199,11 +180,11 @@ msgstr ""
 

	
 
#: c3l_membership/templates/index.html:98
 
msgid ""
 
"Access to our <a href=\"https://wiki.c3l.lu/doku.php?id=chaosstuff:"
 
"bootstrap\">hackerspace: ChaosStuff</a>"
 
"Access to our <a href=\"https://wiki.c3l.lu/doku.php?id=chaosstuff:bootstrap"
 
"\">hackerspace: ChaosStuff</a>"
 
msgstr ""
 
"Accès an eisen <a href=\"https://wiki.c3l.lu/doku.php?id=chaosstuff:"
 
"bootstrap\">Hackerspace: ChaosStuff</a>"
 
"Accès an eisen <a href=\"https://wiki.c3l.lu/doku.php?id=chaosstuff:bootstrap"
 
"\">Hackerspace: ChaosStuff</a>"
 

	
 
#: c3l_membership/templates/index.html:100
 
msgid "Becoming a regular member gives you these additional benefits:"
 
@@ -219,11 +200,11 @@ msgstr "Accès op eis intern Mailinglëscht"
 

	
 
#: c3l_membership/templates/index.html:105
 
msgid ""
 
"You can read more on the membership <a href=\"https://wiki.c3l.lu/doku."
 
"php?id=organization:membership\">here</a>."
 
"You can read more on the membership <a href=\"https://wiki.c3l.lu/doku.php?"
 
"id=organization:membership\">here</a>."
 
msgstr ""
 
"Dir kënnt méi iwwert d'Memberschaft <a href=\"https://wiki.c3l.lu/doku."
 
"php?id=organization:membership\">hei</a> noliesen."
 
"Dir kënnt méi iwwert d'Memberschaft <a href=\"https://wiki.c3l.lu/doku.php?"
 
"id=organization:membership\">hei</a> noliesen."
 

	
 
#: c3l_membership/templates/index.html:106
 
msgid "What are the membership fees?"
 
@@ -232,16 +213,15 @@ msgstr "Wat sinn Cotisatiounen?"
 
#: c3l_membership/templates/index.html:107
 
#, python-format
 
msgid ""
 
"The membership fee for the regular membership is %(regular_fee)s€ per "
 
"year. The membership fee for the supporting membership is "
 
"%(supporting_fee)s€ per year. If you are a student, all membership fees "
 
"are %(supporting_fee)s€ per year. For that please select the "
 
"corresponding option."
 
"The membership fee for the regular membership is %(regular_fee)s€ per year. "
 
"The membership fee for the supporting membership is %(supporting_fee)s€ per "
 
"year. If you are a student, all membership fees are %(supporting_fee)s€ per "
 
"year. For that please select the corresponding option."
 
msgstr ""
 
"D'Cotisatioun fir d'regulär Memberschaft sinn %(regular_fee)s€ pro Joer. "
 
"D'Cotisatioun fir d'ënnerstëtzend Memberschaft sinn %(supporting_fee)s€ "
 
"pro Joer. Wann dir ee Student sidd, sinn all Cotisatiounen "
 
"%(supporting_fee)s€ pro Joer. Fir dëst wielt déi respektiv Optioun aus."
 
"D'Cotisatioun fir d'ënnerstëtzend Memberschaft sinn %(supporting_fee)s€ pro "
 
"Joer. Wann dir ee Student sidd, sinn all Cotisatiounen %(supporting_fee)s€ pro "
 
"Joer. Fir dëst wielt déi respektiv Optioun aus."
 

	
 
#: c3l_membership/templates/index.html:108
 
msgid "I cannot afford the membership?"
 
@@ -249,13 +229,13 @@ msgstr "Ech ka mir d'Memberschaft net le
 

	
 
#: c3l_membership/templates/index.html:109
 
msgid ""
 
"If you cannot afford the membership, please contact us via info@c3l.lu "
 
"first, before filling out the membership form. We will try to find a "
 
"solution together."
 
"If you cannot afford the membership, please contact us via info@c3l.lu first, "
 
"before filling out the membership form. We will try to find a solution "
 
"together."
 
msgstr ""
 
"Wann Dir d'Memberschaft net leeschte kënnt, mellt Iech w.e.g. fir "
 
"d'éischt iwwer info@c3l.lu ier Dir de Membersformular ausfëllt. Mir "
 
"probéieren zesummen eng Léisung ze fannen."
 
"Wann Dir d'Memberschaft net leeschte kënnt, mellt Iech w.e.g. fir d'éischt "
 
"iwwer info@c3l.lu ier Dir de Membersformular ausfëllt. Mir probéieren zesummen "
 
"eng Léisung ze fannen."
 

	
 
#: c3l_membership/templates/index.html:122
 
msgid "Additional information"
 
@@ -358,9 +338,6 @@ msgstr "Konto Besëtzer:"
 

	
 
#: c3l_membership/templates/member.html:85
 
#: c3l_membership/templates/member.html:96
 
#: c3l_membership/templates/member.html:109
 
#: c3l_membership/templates/member.html:122
 
#: c3l_membership/templates/member.html:135
 
msgid "Message:"
 
msgstr "Message:"
 

	
 
@@ -375,38 +352,41 @@ msgid "Please bring %(price)s€ with you the next time you meet us!"
 
msgstr "Bréngt w.e.g. %(price)s€ mat Iech, wann Dir eis begéint!"
 

	
 
#: c3l_membership/templates/member.html:94
 
#: c3l_membership/templates/member.html:107
 
#: c3l_membership/templates/member.html:120
 
#: c3l_membership/templates/member.html:133
 
msgid "Address:"
 
msgstr "Address:"
 

	
 
#: c3l_membership/templates/member.html:95
 
#: c3l_membership/templates/member.html:108
 
#: c3l_membership/templates/member.html:121
 
#: c3l_membership/templates/member.html:134
 
msgid "Label:"
 
msgstr "Label:"
 

	
 
#: c3l_membership/templates/member.html:97
 
#: c3l_membership/templates/member.html:110
 
#: c3l_membership/templates/member.html:123
 
#: c3l_membership/templates/member.html:136
 
msgid "Amount:"
 
msgstr "Betrag:"
 

	
 
#: c3l_membership/templates/member.html:145
 
#: c3l_membership/templates/member.html:106
 
msgid "Pay with digicash!"
 
msgstr "Bezuel mat DigiCash!"
 

	
 
#: c3l_membership/templates/member.html:150
 
#: c3l_membership/templates/member.html:111
 
msgid "Luxembourg, the"
 
msgstr "Lëtzebuerg, den"
 

	
 
#: c3l_membership/templates/member.html:152
 
#: c3l_membership/templates/member.html:113
 
msgid "Signature of your legal representative"
 
msgstr "Ënnerschrëft vun ärem Tuteur"
 

	
 
#: c3l_membership/templates/member.html:152
 
#: c3l_membership/templates/member.html:113
 
msgid "Your signature"
 
msgstr "Äer Ënnerschrëft"
 

	
 
#~ msgid "by bitcoin"
 
#~ msgstr "mat Bitcoin"
 

	
 
#~ msgid "by ethereum"
 
#~ msgstr "mat Ethereum"
 

	
 
#~ msgid "by monero"
 
#~ msgstr "mat Monero"
 

	
 
#~ msgid "by zcash"
 
#~ msgstr "mat Zcash"
c3l_membership/views.py
Show inline comments
 
@@ -2,6 +2,7 @@ import re
 
import subprocess
 
from datetime import date
 

	
 
import requests
 
from flask import Blueprint, current_app, g, render_template, request
 
from flask_babel import gettext
 
from flask_weasyprint import HTML, render_pdf
 
@@ -34,15 +35,18 @@ def index():
 
        ("wire transfer", gettext("by wire transfer")),
 
    ]
 

	
 
    for k, v in (
 
        ("DIGICASH_ENABLED", ("digicash", gettext("by DigiCash"))),
 
        ("BITCOIN_ENABLED", ("bitcoin", gettext("by bitcoin"))),
 
        ("ETHEREUM_ENABLED", ("ethereum", gettext("by ethereum"))),
 
        ("MONERO_ENABLED", ("monero", gettext("by monero"))),
 
        ("ZCASH_ENABLED", ("zcash", gettext("by zcash"))),
 
    ):
 
        if current_app.config[k]:
 
            choices.append(v)
 
    if current_app.config["DIGICASH_ENABLED"]:
 
        choices.append(("digicash", gettext("by DigiCash")))
 

	
 
    for cryptocurrency_label, options in current_app.config["CRYPTOCURRENCIES"].items():
 
        if options["ENABLED"]:
 
            choices.append(
 
                (
 
                    cryptocurrency_label,
 
                    " ".join((gettext("by"), cryptocurrency_label.title())),
 
                ),
 
            )
 

	
 
    form.payment.choices = choices
 

	
 
    if form.validate_on_submit():
 
@@ -62,14 +66,15 @@ def index():
 

	
 
        if form.starving.data:
 
            price = 1
 
            xml_data["status"] = "Starving"
 
            status = "Starving"
 
        elif form.minor_member.data or form.student.data:
 
            xml_data["status"] = "Student"
 
            status = "Student"
 
        elif form.membership.data == "supporting":
 
            xml_data["status"] = "Supporter"
 
            status = "Supporter"
 
        else:
 
            xml_data["status"] = "Regular"
 
            status = "Regular"
 

	
 
        xml_data["status"] = status
 
        xml_data["name"] = form.fullname.data
 
        xml_data["birthday"] = (
 
            form.birthday.data if form.birthday.data is not None else date(9999, 12, 12)
 
@@ -87,22 +92,21 @@ def index():
 
        )
 
        xml_data["address"] = re.sub("\s+", " ", xml_data["address"])
 

	
 
        if form.payment.data == "bitcoin":
 
            price = subprocess.check_output(
 
                [current_app.config["BITCOIN_CONVERSION_SCRIPT"], str(price)]
 
            ).decode("utf-8")
 
        elif form.payment.data == "ethereum":
 
            price = subprocess.check_output(
 
                [current_app.config["ETHEREUM_CONVERSION_SCRIPT"], str(price)]
 
            ).decode("utf-8")
 
        elif form.payment.data == "monero":
 
            price = subprocess.check_output(
 
                [current_app.config["MONERO_CONVERSION_SCRIPT"], str(price)]
 
            ).decode("utf-8")
 
        elif form.payment.data == "zcash":
 
            price = subprocess.check_output(
 
                [current_app.config["ZCASH_CONVERSION_SCRIPT"], str(price)]
 
            ).decode("utf-8")
 
        if form.payment.data in current_app.config["CRYPTOCURRENCIES"]:
 

	
 
            current_conversion_r = requests.get(
 
                current_app.config["CONVERSION_URL"], timeout=30
 
            )
 
            try:
 
                current_conversion_r.raise_for_status()
 
            except:
 
                return 500
 
            else:
 
                current_conversion = current_conversion_r.json()
 
                commodity = current_app.config["CRYPTOCURRENCIES"][form.payment.data][
 
                    "COMMODITY"
 
                ]
 
                price = current_conversion[commodity][status.upper()]
 
        elif form.payment.data == "digicash":
 
            price = price * 100
 

	
messages.pot
Show inline comments
 
@@ -8,7 +8,7 @@ msgid ""
 
msgstr ""
 
"Project-Id-Version: PROJECT VERSION\n"
 
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
 
"POT-Creation-Date: 2022-01-17 11:38+0100\n"
 
"POT-Creation-Date: 2022-01-18 09:55+0100\n"
 
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 
"Language-Team: LANGUAGE <LL@li.org>\n"
 
@@ -109,32 +109,20 @@ msgstr ""
 
msgid "Become a member"
 
msgstr ""
 

	
 
#: c3l_membership/views.py:31
 
#: c3l_membership/views.py:33
 
msgid "by cash"
 
msgstr ""
 

	
 
#: c3l_membership/views.py:32
 
#: c3l_membership/views.py:34
 
msgid "by wire transfer"
 
msgstr ""
 

	
 
#: c3l_membership/views.py:36
 
#: c3l_membership/views.py:38
 
msgid "by DigiCash"
 
msgstr ""
 

	
 
#: c3l_membership/views.py:37
 
msgid "by bitcoin"
 
msgstr ""
 

	
 
#: c3l_membership/views.py:38
 
msgid "by ethereum"
 
msgstr ""
 

	
 
#: c3l_membership/views.py:39
 
msgid "by monero"
 
msgstr ""
 

	
 
#: c3l_membership/views.py:40
 
msgid "by zcash"
 
#: c3l_membership/views.py:45
 
msgid "by"
 
msgstr ""
 

	
 
#: c3l_membership/templates/index.html:6
 
@@ -328,9 +316,6 @@ msgstr ""
 

	
 
#: c3l_membership/templates/member.html:85
 
#: c3l_membership/templates/member.html:96
 
#: c3l_membership/templates/member.html:109
 
#: c3l_membership/templates/member.html:122
 
#: c3l_membership/templates/member.html:135
 
msgid "Message:"
 
msgstr ""
 

	
 
@@ -345,39 +330,30 @@ msgid "Please bring %(price)s€ with you the next time you meet us!"
 
msgstr ""
 

	
 
#: c3l_membership/templates/member.html:94
 
#: c3l_membership/templates/member.html:107
 
#: c3l_membership/templates/member.html:120
 
#: c3l_membership/templates/member.html:133
 
msgid "Address:"
 
msgstr ""
 

	
 
#: c3l_membership/templates/member.html:95
 
#: c3l_membership/templates/member.html:108
 
#: c3l_membership/templates/member.html:121
 
#: c3l_membership/templates/member.html:134
 
msgid "Label:"
 
msgstr ""
 

	
 
#: c3l_membership/templates/member.html:97
 
#: c3l_membership/templates/member.html:110
 
#: c3l_membership/templates/member.html:123
 
#: c3l_membership/templates/member.html:136
 
msgid "Amount:"
 
msgstr ""
 

	
 
#: c3l_membership/templates/member.html:145
 
#: c3l_membership/templates/member.html:106
 
msgid "Pay with digicash!"
 
msgstr ""
 

	
 
#: c3l_membership/templates/member.html:150
 
#: c3l_membership/templates/member.html:111
 
msgid "Luxembourg, the"
 
msgstr ""
 

	
 
#: c3l_membership/templates/member.html:152
 
#: c3l_membership/templates/member.html:113
 
msgid "Signature of your legal representative"
 
msgstr ""
 

	
 
#: c3l_membership/templates/member.html:152
 
#: c3l_membership/templates/member.html:113
 
msgid "Your signature"
 
msgstr ""
 

	
poetry.lock
Show inline comments
 
@@ -72,6 +72,14 @@ doc = ["sphinx", "sphinx-rtd-theme"]
 
test = ["pytest-runner", "pytest-cov", "pytest-flake8", "pytest-isort"]
 

	
 
[[package]]
 
name = "certifi"
 
version = "2021.10.8"
 
description = "Python package for providing Mozilla's CA Bundle."
 
category = "main"
 
optional = false
 
python-versions = "*"
 

	
 
[[package]]
 
name = "cffi"
 
version = "1.15.0"
 
description = "Foreign Function Interface for Python calling C code."
 
@@ -83,6 +91,17 @@ python-versions = "*"
 
pycparser = "*"
 

	
 
[[package]]
 
name = "charset-normalizer"
 
version = "2.0.10"
 
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"
 
@@ -428,6 +447,24 @@ pil = ["pillow"]
 
test = ["pytest", "pytest-cov"]
 

	
 
[[package]]
 
name = "requests"
 
version = "2.27.1"
 
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 = "six"
 
version = "1.16.0"
 
description = "Python 2 and 3 compatibility utilities"
 
@@ -475,6 +512,19 @@ optional = false
 
python-versions = ">=3.6"
 

	
 
[[package]]
 
name = "urllib3"
 
version = "1.26.8"
 
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 = "weasyprint"
 
version = "52.5"
 
description = "The Awesome Document Factory"
 
@@ -544,7 +594,7 @@ testing = ["pytest (>=4.6)", "pytest-che
 
[metadata]
 
lock-version = "1.1"
 
python-versions = ">=3.7.0,<4"
 
content-hash = "e6337b7e5ae01abe852dbd202497fef50c09546e0a0f98f26b3ee81beb262237"
 
content-hash = "09986a21dfa3c1e41f48db17b04f4f3bade80e86642fecd895ad3df4b9cf061e"
 

	
 
[metadata.files]
 
babel = [
 
@@ -562,6 +612,10 @@ cairosvg = [
 
    {file = "CairoSVG-2.5.2-py3-none-any.whl", hash = "sha256:98c276b7e4f0caf01e5c7176765c104ffa1aa1461d63b2053b04ab663cf7052b"},
 
    {file = "CairoSVG-2.5.2.tar.gz", hash = "sha256:b0b9929cf5dba005178d746a8036fcf0025550f498ca54db61873322384783bc"},
 
]
 
certifi = [
 
    {file = "certifi-2021.10.8-py2.py3-none-any.whl", hash = "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569"},
 
    {file = "certifi-2021.10.8.tar.gz", hash = "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872"},
 
]
 
cffi = [
 
    {file = "cffi-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962"},
 
    {file = "cffi-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0"},
 
@@ -614,6 +668,10 @@ cffi = [
 
    {file = "cffi-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139"},
 
    {file = "cffi-1.15.0.tar.gz", hash = "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954"},
 
]
 
charset-normalizer = [
 
    {file = "charset-normalizer-2.0.10.tar.gz", hash = "sha256:876d180e9d7432c5d1dfd4c5d26b72f099d503e8fcc0feb7532c9289be60fcbd"},
 
    {file = "charset_normalizer-2.0.10-py3-none-any.whl", hash = "sha256:cb957888737fc0bbcd78e3df769addb41fd1ff8cf950dc9e7ad7793f1bf44455"},
 
]
 
click = [
 
    {file = "click-8.0.3-py3-none-any.whl", hash = "sha256:353f466495adaeb40b6b5f592f9f91cb22372351c84caeb068132442a4518ef3"},
 
    {file = "click-8.0.3.tar.gz", hash = "sha256:410e932b050f5eed773c4cda94de75971c89cdb3155a72a0831139a79e5ecb5b"},
 
@@ -847,6 +905,10 @@ pytz = [
 
qrcode = [
 
    {file = "qrcode-7.3.1.tar.gz", hash = "sha256:375a6ff240ca9bd41adc070428b5dfc1dcfbb0f2507f1ac848f6cded38956578"},
 
]
 
requests = [
 
    {file = "requests-2.27.1-py2.py3-none-any.whl", hash = "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d"},
 
    {file = "requests-2.27.1.tar.gz", hash = "sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61"},
 
]
 
six = [
 
    {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"},
 
    {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"},
 
@@ -884,6 +946,10 @@ typing-extensions = [
 
    {file = "typing_extensions-4.0.1-py3-none-any.whl", hash = "sha256:7f001e5ac290a0c0401508864c7ec868be4e701886d5b573a9528ed3973d9d3b"},
 
    {file = "typing_extensions-4.0.1.tar.gz", hash = "sha256:4ca091dea149f945ec56afb48dae714f21e8692ef22a395223bcd328961b6a0e"},
 
]
 
urllib3 = [
 
    {file = "urllib3-1.26.8-py2.py3-none-any.whl", hash = "sha256:000ca7f471a233c2251c6c7023ee85305721bfdf18621ebff4fd17a8653427ed"},
 
    {file = "urllib3-1.26.8.tar.gz", hash = "sha256:0e7c33d9a63e7ddfcb86780aac87befc2fbddf46c58dbb487e0855f7ceec283c"},
 
]
 
weasyprint = [
 
    {file = "WeasyPrint-52.5-py3-none-any.whl", hash = "sha256:3433d657049a65d7d63f545fd71f5efa8aae7f05d24e49e01a757973fd3799f1"},
 
    {file = "WeasyPrint-52.5.tar.gz", hash = "sha256:b37ea02d75ca04babd7becad7341426be332ae560d8f02d664bfa1e9afb18481"},
pyproject.toml
Show inline comments
 
@@ -17,6 +17,7 @@ WTForms="^3.0.1"
 
WeasyPrint="52.5"
 
djhtml = "^1.4.11"
 
Flask-Babel = "^2.0.0"
 
requests = "^2.27.1"
 

	
 
[tool.poetry.dev-dependencies]
 
black = "^21.12b0"
0 comments (0 inline, 0 general)