prune_captcha 1.13.0__py3-none-any.whl → 1.14.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
captcha_prune/asgi.py ADDED
@@ -0,0 +1,7 @@
1
+ import os
2
+
3
+ from django.core.asgi import get_asgi_application
4
+
5
+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "captcha_prune.settings")
6
+
7
+ application = get_asgi_application()
@@ -0,0 +1,130 @@
1
+ from pathlib import Path
2
+
3
+ from pydantic_settings import BaseSettings, SettingsConfigDict
4
+
5
+
6
+ class EnvSettings(BaseSettings):
7
+ model_config = SettingsConfigDict(env_file=".env", extra="allow")
8
+
9
+ postgres_db: str
10
+ postgres_user: str
11
+ postgres_password: str
12
+ postgres_host: str
13
+ postgres_port: str
14
+
15
+
16
+ env_settings = EnvSettings()
17
+
18
+ # Build paths inside the project like this: BASE_DIR / 'subdir'.
19
+ BASE_DIR = Path(__file__).resolve().parent.parent
20
+
21
+
22
+ # Quick-start development settings - unsuitable for production
23
+ # See https://docs.djangoproject.com/en/5.2/howto/deployment/checklist/
24
+
25
+ # SECURITY WARNING: keep the secret key used in production secret!
26
+ SECRET_KEY = "django-insecure-dj-w%-kno*r5w=e_&l1sl3)9kl%m25(3ikoc=z_%p5-0d5472%"
27
+
28
+ # SECURITY WARNING: don't run with debug turned on in production!
29
+ DEBUG = True
30
+
31
+ ALLOWED_HOSTS = []
32
+
33
+
34
+ # Application definition
35
+
36
+ INSTALLED_APPS = [
37
+ "django.contrib.admin",
38
+ "django.contrib.auth",
39
+ "django.contrib.contenttypes",
40
+ "django.contrib.sessions",
41
+ "django.contrib.messages",
42
+ "django.contrib.staticfiles",
43
+ "captcha_prune",
44
+ ]
45
+
46
+ MIDDLEWARE = [
47
+ "django.middleware.security.SecurityMiddleware",
48
+ "django.contrib.sessions.middleware.SessionMiddleware",
49
+ "django.middleware.common.CommonMiddleware",
50
+ "django.middleware.csrf.CsrfViewMiddleware",
51
+ "django.contrib.auth.middleware.AuthenticationMiddleware",
52
+ "django.contrib.messages.middleware.MessageMiddleware",
53
+ "django.middleware.clickjacking.XFrameOptionsMiddleware",
54
+ ]
55
+
56
+ ROOT_URLCONF = "captcha_prune.urls"
57
+
58
+ TEMPLATES = [
59
+ {
60
+ "BACKEND": "django.template.backends.django.DjangoTemplates",
61
+ "DIRS": [],
62
+ "APP_DIRS": True,
63
+ "OPTIONS": {
64
+ "context_processors": [
65
+ "django.template.context_processors.request",
66
+ "django.contrib.auth.context_processors.auth",
67
+ "django.contrib.messages.context_processors.messages",
68
+ ],
69
+ },
70
+ },
71
+ ]
72
+
73
+ WSGI_APPLICATION = "captcha_prune.wsgi.application"
74
+
75
+
76
+ # Database
77
+ # https://docs.djangoproject.com/en/5.2/ref/settings/#databases
78
+
79
+ DATABASES = {
80
+ "default": {
81
+ "ENGINE": "django.db.backends.postgresql",
82
+ "NAME": env_settings.postgres_db,
83
+ "USER": env_settings.postgres_user,
84
+ "PASSWORD": env_settings.postgres_password,
85
+ "HOST": env_settings.postgres_host,
86
+ "PORT": env_settings.postgres_port,
87
+ }
88
+ }
89
+
90
+
91
+ # Password validation
92
+ # https://docs.djangoproject.com/en/5.2/ref/settings/#auth-password-validators
93
+
94
+ AUTH_PASSWORD_VALIDATORS = [
95
+ {
96
+ "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
97
+ },
98
+ {
99
+ "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
100
+ },
101
+ {
102
+ "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",
103
+ },
104
+ {
105
+ "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",
106
+ },
107
+ ]
108
+
109
+
110
+ # Internationalization
111
+ # https://docs.djangoproject.com/en/5.2/topics/i18n/
112
+
113
+ LANGUAGE_CODE = "en-us"
114
+
115
+ TIME_ZONE = "UTC"
116
+
117
+ USE_I18N = True
118
+
119
+ USE_TZ = True
120
+
121
+
122
+ # Static files (CSS, JavaScript, Images)
123
+ # https://docs.djangoproject.com/en/5.2/howto/static-files/
124
+
125
+ STATIC_URL = "static/"
126
+
127
+ # Default primary key field type
128
+ # https://docs.djangoproject.com/en/5.2/ref/settings/#default-auto-field
129
+
130
+ DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
captcha_prune/wsgi.py ADDED
@@ -0,0 +1,7 @@
1
+ import os
2
+
3
+ from django.core.wsgi import get_wsgi_application
4
+
5
+ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "captcha_prune.settings")
6
+
7
+ application = get_wsgi_application()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: prune_captcha
3
- Version: 1.13.0
3
+ Version: 1.14.0
4
4
  Summary: A tool to protect formulaire from spam.
5
5
  Author-email: Arnout <bastien@prune.sh>
6
6
  Project-URL: Made_by, https://prune.sh/
@@ -116,6 +116,7 @@ Important: You must import the static files (css, js) present in "captcha_prune/
116
116
 
117
117
  | Version | Date | Notes |
118
118
  | ------- | ---------- | ---------------------------------- |
119
+ | 1.14.0 | 2025-05-21 | fix static and templates dirs |
119
120
  | 1.13.0 | 2025-05-21 | use session, add static |
120
121
  | 1.12.2 | 2025-05-21 | doc fixed |
121
122
  | 1.12.1 | 2025-05-21 | doc fixed |
@@ -0,0 +1,10 @@
1
+ captcha_prune/__init__.py,sha256=JerrqDuZCUa8pj_9pEv68rnlPsiXovRP4biKpCqyThs,61
2
+ captcha_prune/apps.py,sha256=WVAz3WWaPAgM7-Ojd_Cl2KVdcub1n-03qpnRyu2ToTo,422
3
+ captcha_prune/asgi.py,sha256=JoxjDwB6GttsGjXKPxEAR0-r8HAFgdg7QNQ36LQpbxw,174
4
+ captcha_prune/settings.py,sha256=YEZHEjYYYK-cH3gSLIR3a7g4Bypnuf_5eMTTcm719CE,3395
5
+ captcha_prune/utils.py,sha256=0wgRNCfmAAugFh5sw3qk-YqvNMiMZgJRtd6QlpRa-D8,1861
6
+ captcha_prune/wsgi.py,sha256=9Voquvmt99N0h_URABBvpZUpg9zcx3e5yLJ7M33xzWY,174
7
+ prune_captcha-1.14.0.dist-info/METADATA,sha256=_NhyAu6m1CN1PHLSA4d3RdBqzHcd--8W3Hx8O6L5Xi4,3769
8
+ prune_captcha-1.14.0.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
9
+ prune_captcha-1.14.0.dist-info/top_level.txt,sha256=01HnLL5Bu66yMBCvNpNBzN0L6AxTdG1_1YFSJr3dI2w,14
10
+ prune_captcha-1.14.0.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- captcha_prune/__init__.py,sha256=JerrqDuZCUa8pj_9pEv68rnlPsiXovRP4biKpCqyThs,61
2
- captcha_prune/apps.py,sha256=WVAz3WWaPAgM7-Ojd_Cl2KVdcub1n-03qpnRyu2ToTo,422
3
- captcha_prune/utils.py,sha256=0wgRNCfmAAugFh5sw3qk-YqvNMiMZgJRtd6QlpRa-D8,1861
4
- prune_captcha-1.13.0.dist-info/METADATA,sha256=4z0bIAlKrXm8__Isw5WjZArvgJKZ_1KpQOtSxwmSI40,3707
5
- prune_captcha-1.13.0.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
6
- prune_captcha-1.13.0.dist-info/top_level.txt,sha256=01HnLL5Bu66yMBCvNpNBzN0L6AxTdG1_1YFSJr3dI2w,14
7
- prune_captcha-1.13.0.dist-info/RECORD,,