Coverage for histogis/settings.py: 98%

46 statements  

« prev     ^ index     » next       coverage.py v7.6.0, created at 2024-07-27 11:19 +0000

1import os 

2from pathlib import Path 

3 

4 

5os.environ["DJANGO_ALLOW_ASYNC_UNSAFE"] = "true" 

6DEFAULT_AUTO_FIELD = "django.db.models.AutoField" 

7 

8# Build paths inside the project like this: os.path.join(BASE_DIR, ...) 

9BASE_DIR = Path(__file__).resolve().parent.parent 

10 

11REDMINE_ID = 11176 

12ACDH_IMPRINT_URL = "https://imprint.acdh.oeaw.ac.at/" 

13 

14SECRET_KEY = os.environ.get("SECRET_KEY", "TZRHHwasdfsadfdsafkljlxö7639827249324GV") 

15 

16DEBUG = os.environ.get("DEBUG", False) 

17 

18if DEBUG: 

19 CACHE_TIMEOUT = 0 

20else: 

21 CACHE_TIMEOUT = None 

22 

23# CACHES = { 

24# "default": { 

25# "BACKEND": "django.core.cache.backends.db.DatabaseCache", 

26# "LOCATION": "my_cache_table", 

27# "TIMEOUT": CACHE_TIMEOUT, 

28# } 

29# } 

30 

31CACHES = { 

32 "default": { 

33 "BACKEND": "django.core.cache.backends.dummy.DummyCache", 

34 } 

35} 

36 

37ADD_ALLOWED_HOST = os.environ.get("ALLOWED_HOST", "*") 

38 

39ALLOWED_HOSTS = [ 

40 "127.0.0.1", 

41 "0.0.0.0", 

42 ADD_ALLOWED_HOST, 

43] 

44 

45# Application definition 

46 

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] 

75 

76CRISPY_ALLOWED_TEMPLATE_PACKS = "bootstrap5" 

77CRISPY_TEMPLATE_PACK = "bootstrap5" 

78 

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} 

88 

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] 

100 

101ROOT_URLCONF = "histogis.urls" 

102 

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] 

120 

121WSGI_APPLICATION = "histogis.wsgi.application" 

122 

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} 

133 

134# Password validation 

135# https://docs.djangoproject.com/en/1.11/ref/settings/#auth-password-validators 

136 

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] 

151 

152 

153# Internationalization 

154# https://docs.djangoproject.com/en/1.11/topics/i18n/ 

155 

156LANGUAGE_CODE = "en" 

157 

158TIME_ZONE = "UTC" 

159 

160USE_I18N = True 

161 

162USE_L10N = True 

163 

164USE_TZ = True 

165 

166 

167# Static files (CSS, JavaScript, Images) 

168# https://docs.djangoproject.com/en/1.11/howto/static-files/ 

169 

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" 

176 

177ARCHE_SETTINGS = { 

178 "project_name": ROOT_URLCONF.split(".")[0], 

179 "base_url": "https://id.acdh.oeaw.ac.at/{}".format(ROOT_URLCONF.split(".")[0]), 

180} 

181 

182VOCABS_DEFAULT_PEFIX = os.path.basename(BASE_DIR) 

183 

184VOCABS_SETTINGS = { 

185 "default_prefix": VOCABS_DEFAULT_PEFIX, 

186 "default_ns": "http://www.vocabs/{}/".format(VOCABS_DEFAULT_PEFIX), 

187 "default_lang": "eng", 

188} 

189 

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} 

212 

213ARCHE_PROJECT_NAME = "HistoGIS" 

214ARCHE_BASE_URL = "https://id.acdh.oeaw.ac.at/histogis" 

215ARCHE_LANG = "en" 

216ARCHE_PAYLOAD_MIMETYPE = "application/geo+json" 

217 

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] 

251 

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]