Coverage for histogis/settings.py: 98%
46 statements
« prev ^ index » next coverage.py v7.6.0, created at 2024-07-27 11:19 +0000
« prev ^ index » next coverage.py v7.6.0, created at 2024-07-27 11:19 +0000
1import os
2from pathlib import Path
5os.environ["DJANGO_ALLOW_ASYNC_UNSAFE"] = "true"
6DEFAULT_AUTO_FIELD = "django.db.models.AutoField"
8# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
9BASE_DIR = Path(__file__).resolve().parent.parent
11REDMINE_ID = 11176
12ACDH_IMPRINT_URL = "https://imprint.acdh.oeaw.ac.at/"
14SECRET_KEY = os.environ.get("SECRET_KEY", "TZRHHwasdfsadfdsafkljlxö7639827249324GV")
16DEBUG = os.environ.get("DEBUG", False)
18if DEBUG:
19 CACHE_TIMEOUT = 0
20else:
21 CACHE_TIMEOUT = None
23# CACHES = {
24# "default": {
25# "BACKEND": "django.core.cache.backends.db.DatabaseCache",
26# "LOCATION": "my_cache_table",
27# "TIMEOUT": CACHE_TIMEOUT,
28# }
29# }
31CACHES = {
32 "default": {
33 "BACKEND": "django.core.cache.backends.dummy.DummyCache",
34 }
35}
37ADD_ALLOWED_HOST = os.environ.get("ALLOWED_HOST", "*")
39ALLOWED_HOSTS = [
40 "127.0.0.1",
41 "0.0.0.0",
42 ADD_ALLOWED_HOST,
43]
45# Application definition
47INSTALLED_APPS = [
48 "dal",
49 "dal_select2",
50 "django.contrib.admin",
51 "django.contrib.auth",
52 "django.contrib.contenttypes",
53 "django.contrib.sessions",
54 "django.contrib.messages",
55 "django.contrib.staticfiles",
56 "django.contrib.gis",
57 "crispy_forms",
58 "crispy_bootstrap5",
59 "django_filters",
60 "django_tables2",
61 "rest_framework",
62 "rest_framework_gis",
63 "leaflet",
64 "idprovider",
65 "webpage",
66 "vocabs",
67 "stats",
68 "shps",
69 "charts",
70 "browsing",
71 "news",
72 "analyze",
73 "archeutils",
74]
76CRISPY_ALLOWED_TEMPLATE_PACKS = "bootstrap5"
77CRISPY_TEMPLATE_PACK = "bootstrap5"
79REST_FRAMEWORK = {
80 "DEFAULT_FILTER_BACKENDS": ["django_filters.rest_framework.DjangoFilterBackend"],
81 "DEFAULT_PERMISSION_CLASSES": (
82 "rest_framework.permissions.IsAuthenticatedOrReadOnly",
83 ),
84 "DEFAULT_PAGINATION_CLASS": "rest_framework.pagination.LimitOffsetPagination",
85 "PAGE_SIZE": 25,
86 "DEFAULT_SCHEMA_CLASS": "rest_framework.schemas.coreapi.AutoSchema",
87}
89MIDDLEWARE = [
90 "django.middleware.security.SecurityMiddleware",
91 "django.contrib.sessions.middleware.SessionMiddleware",
92 "django.middleware.cache.UpdateCacheMiddleware",
93 "django.middleware.common.CommonMiddleware",
94 "django.middleware.cache.FetchFromCacheMiddleware",
95 "django.middleware.csrf.CsrfViewMiddleware",
96 "django.contrib.auth.middleware.AuthenticationMiddleware",
97 "django.contrib.messages.middleware.MessageMiddleware",
98 "django.middleware.clickjacking.XFrameOptionsMiddleware",
99]
101ROOT_URLCONF = "histogis.urls"
103TEMPLATES = [
104 {
105 "BACKEND": "django.template.backends.django.DjangoTemplates",
106 "DIRS": [],
107 "APP_DIRS": True,
108 "OPTIONS": {
109 "context_processors": [
110 "django.template.context_processors.debug",
111 "django.template.context_processors.request",
112 "django.contrib.auth.context_processors.auth",
113 "django.contrib.messages.context_processors.messages",
114 "webpage.webpage_content_processors.installed_apps",
115 "webpage.webpage_content_processors.is_dev_version",
116 ],
117 },
118 },
119]
121WSGI_APPLICATION = "histogis.wsgi.application"
123DATABASES = {
124 "default": {
125 "ENGINE": "django.contrib.gis.db.backends.postgis",
126 "NAME": os.environ.get("POSTGRES_DB", "histogis"),
127 "USER": os.environ.get("POSTGRES_USER", "postgres"),
128 "PASSWORD": os.environ.get("POSTGRES_PASSWORD", "postgres"),
129 "HOST": os.environ.get("POSTGRES_HOST", "localhost"),
130 "PORT": os.environ.get("POSTEGRES_PORT", "5432"),
131 }
132}
134# Password validation
135# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators
137AUTH_PASSWORD_VALIDATORS = [
138 {
139 "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
140 },
141 {
142 "NAME": "django.contrib.auth.password_validation.MinimumLengthValidator",
143 },
144 {
145 "NAME": "django.contrib.auth.password_validation.CommonPasswordValidator",
146 },
147 {
148 "NAME": "django.contrib.auth.password_validation.NumericPasswordValidator",
149 },
150]
153# Internationalization
154# https://docs.djangoproject.com/en/1.11/topics/i18n/
156LANGUAGE_CODE = "en"
158TIME_ZONE = "UTC"
160USE_I18N = True
162USE_L10N = True
164USE_TZ = True
167# Static files (CSS, JavaScript, Images)
168# https://docs.djangoproject.com/en/1.11/howto/static-files/
170STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles/")
171STATIC_URL = "/static/"
172MEDIA_ROOT = os.path.join(BASE_DIR, "media/")
173MEDIA_URL = "/media/"
174TEMP_DIR = os.path.join(BASE_DIR, "temp/")
175BASE_URL = "https://histogis.acdh.oeaw.ac.at"
177ARCHE_SETTINGS = {
178 "project_name": ROOT_URLCONF.split(".")[0],
179 "base_url": "https://id.acdh.oeaw.ac.at/{}".format(ROOT_URLCONF.split(".")[0]),
180}
182VOCABS_DEFAULT_PEFIX = os.path.basename(BASE_DIR)
184VOCABS_SETTINGS = {
185 "default_prefix": VOCABS_DEFAULT_PEFIX,
186 "default_ns": "http://www.vocabs/{}/".format(VOCABS_DEFAULT_PEFIX),
187 "default_lang": "eng",
188}
190LEAFLET_CONFIG = {
191 "DEFAULT_CENTER": (47, 16),
192 "DEFAULT_ZOOM": 6,
193 "MIN_ZOOM": 3,
194 "OVERLAYS": [
195 (
196 "dinamlex",
197 "https://maps.acdh.oeaw.ac.at/mapserv?map=/data/test.map&mode=tile&layers=test&tilemode=gmap&tile={x}+{y}+{z}",
198 {"maxZoom": 18, "opacity": 0.7},
199 ),
200 (
201 "czoernig",
202 "https://maps.acdh.oeaw.ac.at/mapserv?map=/data/czoernig.map&mode=tile&layers=czoernig&tilemode=gmap&tile={x}+{y}+{z}",
203 {"maxZoom": 18, "opacity": 0.7},
204 ),
205 (
206 "tirol",
207 "https://maps.acdh.oeaw.ac.at/mapserv?map=/data/tirol.map&mode=tile&layers=tirol&tilemode=gmap&tile={x}+{y}+{z}",
208 {"maxZoom": 18, "opacity": 0.7},
209 ),
210 ],
211}
213ARCHE_PROJECT_NAME = "HistoGIS"
214ARCHE_BASE_URL = "https://id.acdh.oeaw.ac.at/histogis"
215ARCHE_LANG = "en"
216ARCHE_PAYLOAD_MIMETYPE = "application/geo+json"
218ARCHE_CONST_MAPPINGS = [
219 (
220 "hasContact",
221 "https://id.acdh.oeaw.ac.at/acdh",
222 ),
223 (
224 "hasPrincipalInvestigator",
225 "https://d-nb.info/gnd/1154715620",
226 ),
227 (
228 "hasPrincipalInvestigator",
229 "https://d-nb.info/gnd/1043833846",
230 ),
231 # ('hasLicensor', 'https://id.acdh.oeaw.ac.at/acdh',),
232 # ('hasLicense', 'https://vocabs.acdh.oeaw.ac.at/archelicenses/cc-by-4-0',), # öaw
233 (
234 "hasRelatedDiscipline",
235 "https://vocabs.acdh.oeaw.ac.at/oefosdisciplines/601",
236 ),
237 (
238 "hasSubject",
239 "GIS",
240 ),
241 (
242 "hasSubject",
243 "historic administrative units",
244 ),
245 (
246 "hasMetadataCreator",
247 "https://d-nb.info/gnd/1043833846",
248 ), # pandorfer
249 # ('hasRightsHolder', "https://d-nb.info/gnd/1001454-8",),
250]
252ARCHE_CONST_MAPPINGS_SIMPLE = [
253 (
254 "hasContact",
255 "https://id.acdh.oeaw.ac.at/acdh",
256 ),
257 (
258 "hasOwner",
259 "https://id.acdh.oeaw.ac.at/acdh",
260 ),
261 (
262 "hasRightsHolder",
263 "https://d-nb.info/gnd/1001454-8",
264 ),
265 (
266 "hasLicensor",
267 "https://id.acdh.oeaw.ac.at/acdh",
268 ),
269 (
270 "hasLicense",
271 "https://vocabs.acdh.oeaw.ac.at/archelicenses/cc-by-4-0",
272 ), # öaw
273 (
274 "hasSubject",
275 "historic administrative units",
276 ),
277 (
278 "hasMetadataCreator",
279 "https://d-nb.info/gnd/1043833846",
280 ), # pandorfer
281 (
282 "hasDepositor",
283 "https://d-nb.info/gnd/1043833846",
284 ), # pandorfer
285]