Skip to main content

Internal library for prune.sh

Project description

prune_lib

prune_lib est une bibliothèque Python regroupant des fonctions utilitaires réutilisables.
L’objectif est de faciliter le développement de projets en centralisant des outils communs.

Le projet inclut aussi prune_captcha, un module dédié à l’ajout d’un CAPTCHA personnalisé dans les formulaires de contact.

Projet UV

Installation

Lancez la commande suivante dans le terminal :

uv add prune_lib

Mise à jour de la bilbiothèque

N’hésitez pas à exécuter régulièrement uv sync --upgrade, car la bibliothèque évolue avec le temps et nos pratiques !

Projet Poetry

Installation

Lancez la commande suivante :

poetry add prune_lib

Mise à jour de la bibliothèque

N’hésitez pas à exécuter régulièrement poetry update, car la bibliothèque évolue avec le temps et nos pratiques !

Objectifs

  • Réutiliser facilement des fonctions communes.
  • Fournir une alternative simple à reCAPTCHA.
  • Ne dépendre d’aucun service externe.

Intégration du captcha

Configuration

Dans settings.py, définis le chemin des images utilisées pour le puzzle :

PUZZLE_IMAGE_STATIC_PATH = "website/static/website/images/puzzles/"

Important : Tu dois importer les fichiers statiques (css, js) présents dans "prune_captcha/static/".

<header>
    <link
        rel="stylesheet"
        href="{% static 'prune_captcha/css/captcha.css' %}"
    />
    <script defer src="{% static 'prune_captcha/js/captcha.js' %}"></script>
</header>

Utilisation

  • Requête GET (affichage du formulaire)

    • Utilise create_and_get_captcha pour générer les données du captcha :

      from prune_captcha.utils import create_and_get_captcha
      
      puzzle = create_and_get_captcha(request)
      
    • Passe les données dans le contexte sous la variable puzzle :

      return render(
          request,
          "website/pages/contact/page.html",
          {"form": form, "puzzle": puzzle},
      )
      
    • Inclus le composant dans ton template :

      {% include "prune_captcha/captcha.html" %}
      
  • Requête POST (soumission du formulaire)

    • Utilise verify_captcha pour valider le captcha :

      from prune_captcha.utils import verify_captcha
      
      response = verify_captcha(request)
      
    • True si le captcha est correct, sinon False.

    • Redirige en cas de captcha incorrect.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prune_lib-2.1.4.tar.gz (20.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prune_lib-2.1.4-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

Details for the file prune_lib-2.1.4.tar.gz.

File metadata

  • Download URL: prune_lib-2.1.4.tar.gz
  • Upload date:
  • Size: 20.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for prune_lib-2.1.4.tar.gz
Algorithm Hash digest
SHA256 52ae912b62465010e302b7079dec4c78b6d2bbf2604d743c5920f2e4978e10a6
MD5 5a2da34ff4f7a17add64e979976eaca5
BLAKE2b-256 744b3e226a3a2776214f7198ebdadf4e929883548cbc47b1f7c6d677d5b82e8e

See more details on using hashes here.

File details

Details for the file prune_lib-2.1.4-py3-none-any.whl.

File metadata

  • Download URL: prune_lib-2.1.4-py3-none-any.whl
  • Upload date:
  • Size: 27.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for prune_lib-2.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 229e9c39a63fa61e4e2c8d7cc7b916acdcb8c4764658fc2db26cfc95f90139f3
MD5 5a0772fbf5c506756b1555528842e21e
BLAKE2b-256 a6e7054aa1fdacb6214b6257bbfb7cab072a9180d1eeb41ddc176d1fa01ce8f3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page