(2006, "Access denied for user 'ecmwf'@'k8s-bol-webapps-test-worker-004.ecmwf.int' (using password: NO)")
Request Method: | GET |
---|---|
Request URL: | https://apps-dev.ecmwf.int/datasets/history/tigge-lam-prod/ |
Django Version: | 1.10.8 |
Exception Type: | OperationalError |
Exception Value: | (2006, "Access denied for user 'ecmwf'@'k8s-bol-webapps-test-worker-004.ecmwf.int' (using password: NO)") |
Exception Location: | /usr/local/lib/python2.7/site-packages/MySQLdb/connections.py in __init__, line 208 |
Python Executable: | /usr/local/bin/uwsgi |
Python Version: | 2.7.18 |
Python Path: | ['.', '', '/code/apps', '/code/lib', '/usr/local/lib/python27.zip', '/usr/local/lib/python2.7', '/usr/local/lib/python2.7/plat-linux2', '/usr/local/lib/python2.7/lib-tk', '/usr/local/lib/python2.7/lib-old', '/usr/local/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/site-packages', '/code/apps'] |
Server time: | Thu, 28 Mar 2024 22:25:57 +0000 |
/usr/local/lib/python2.7/site-packages/django/core/handlers/exception.py
in inner
This decorator is automatically applied to all middleware to ensure that
no middleware leaks an exception and that the next middleware in the stack
can rely on getting a response instead of an exception.
"""
@wraps(get_response, assigned=available_attrs(get_response))
def inner(request):
try:
response = get_response(request)...
except Exception as exc:
response = response_for_exception(request, exc)
return response
return inner
Variable | Value |
---|---|
exc | OperationalError(2006, "Access denied for user 'ecmwf'@'k8s-bol-webapps-test-worker-004.ecmwf.int' (using password: NO)") |
get_response | <bound method WSGIHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f35cc42eed0>> |
request | <WSGIRequest: GET '/datasets/history/tigge-lam-prod/'> |
/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py
in _get_response
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)
except Exception as e:
response = self.process_exception_by_middleware(e, request)...
# Complain if the view returned None (a common error).
if response is None:
if isinstance(callback, types.FunctionType): # FBV
view_name = callback.__name__
else: # CBV
Variable | Value |
---|---|
callback | <function history at 0x7f35c8552dd0> |
callback_args | () |
callback_kwargs | {'dataset_url': u'tigge-lam-prod'} |
e | OperationalError(2006, "Access denied for user 'ecmwf'@'k8s-bol-webapps-test-worker-004.ecmwf.int' (using password: NO)") |
middleware_method | <bound method TokenMiddleware.process_view of <common.auth.middleware.TokenMiddleware object at 0x7f35c8800f10>> |
request | <WSGIRequest: GET '/datasets/history/tigge-lam-prod/'> |
resolver | <RegexURLResolver 'urls.webmars_api' (None:None) ^/> |
resolver_match | ResolverMatch(func=tigge.views.history, args=(), kwargs={'dataset_url': u'tigge-lam-prod'}, url_name=history, app_names=[], namespaces=['history']) |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f35cc42eed0> |
wrapped_callback | <function history at 0x7f35c8552dd0> |
/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py
in _get_response
response = middleware_method(request, callback, callback_args, callback_kwargs)
if response:
break
if response is None:
wrapped_callback = self.make_view_atomic(callback)
try:
response = wrapped_callback(request, *callback_args, **callback_kwargs)...
except Exception as e:
response = self.process_exception_by_middleware(e, request)
# Complain if the view returned None (a common error).
if response is None:
if isinstance(callback, types.FunctionType): # FBV
Variable | Value |
---|---|
callback | <function history at 0x7f35c8552dd0> |
callback_args | () |
callback_kwargs | {'dataset_url': u'tigge-lam-prod'} |
e | OperationalError(2006, "Access denied for user 'ecmwf'@'k8s-bol-webapps-test-worker-004.ecmwf.int' (using password: NO)") |
middleware_method | <bound method TokenMiddleware.process_view of <common.auth.middleware.TokenMiddleware object at 0x7f35c8800f10>> |
request | <WSGIRequest: GET '/datasets/history/tigge-lam-prod/'> |
resolver | <RegexURLResolver 'urls.webmars_api' (None:None) ^/> |
resolver_match | ResolverMatch(func=tigge.views.history, args=(), kwargs={'dataset_url': u'tigge-lam-prod'}, url_name=history, app_names=[], namespaces=['history']) |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f35cc42eed0> |
wrapped_callback | <function history at 0x7f35c8552dd0> |
./tigge/views.py
in history
compress = True
if request.method == 'POST':
if request.POST.get('sort'):
reverse_sort = True
if not(request.POST.get('compress')):
compress = False
origins, origin_period, events = get_events(dataset, fieldcounts)...
history_table, history_table_headers = prepare_events_for_display(
origins, origin_period, events, compress=compress, reverse_sort=reverse_sort)
# get all unique origins to show an origin legend to users
origin_list = sorted({header[0] for header in history_table_headers})
Variable | Value |
---|---|
compress | True |
dataset | <Dataset: tigge-lam-prod> |
dataset_url | u'tigge-lam-prod' |
fieldcount | <FieldCount: FieldCount object> |
fieldcounts | {u'aladinhuneps-omsz-eu:18': {datetime.date(2014, 2, 1): {'count': 2279, 'days': [], 'freq': u'd'}}, u'aladinlaef-zamg-eu:00': {datetime.date(2013, 6, 3): {'count': 3521, 'days': [], 'freq': u'd'}, datetime.date(2013, 7, 10): {'count': 4201, 'days': [], 'freq': u'd'}}, u'aladinlaef-zamg-eu:12': {datetime.date(2013, 6, 3): {'count': 3521, 'days': [], 'freq': u'd'}, datetime.date(2013, 7, 9): {'count': 4201, 'days': [], 'freq': u'd'}}, u'cosmodeeps-dwd-eu:00': {datetime.date(2014, 1, 1): {'count': 1762, 'days': [], 'freq': u'd'}}, u'cosmodeeps-dwd-eu:06': {datetime.date(2014, 1, 1): {'count': 1762, 'days': [], 'freq': u'd'}}, u'cosmodeeps-dwd-eu:12': {datetime.date(2014, 1, 1): {'count': 1762, 'days': [], 'freq': u'd'}}, u'cosmodeeps-dwd-eu:18': {datetime.date(2014, 1, 1): {'count': 1762, 'days': [], 'freq': u'd'}}, u'cosmoleps-arpasimc-eu:00': {datetime.date(2013, 1, 1): {'count': 7184, 'days': [], 'freq': u'd'}, datetime.date(2018, 6, 1): {'count': 8980, 'days': [], 'freq': u'd'}}, u'cosmoleps-arpasimc-eu:12': {datetime.date(2013, 1, 1): {'count': 7184, 'days': [], 'freq': u'd'}, datetime.date(2018, 6, 1): {'count': 8980, 'days': [], 'freq': u'd'}}, u'glameps-hirlamcons-eu:00': {datetime.date(2014, 7, 2): {'count': 3696, 'days': [], 'freq': u'd'}, datetime.date(2014, 10, 2): {'count': 4228, 'days': [], 'freq': u'd'}}, u'glameps-hirlamcons-eu:06': {datetime.date(2013, 10, 15): {'count': 5361, 'days': [], 'freq': u'd'}, datetime.date(2014, 10, 2): {'count': 4228, 'days': [], 'freq': u'd'}}, u'glameps-hirlamcons-eu:12': {datetime.date(2014, 7, 1): {'count': 3696, 'days': [], 'freq': u'd'}, datetime.date(2014, 10, 2): {'count': 4228, 'days': [], 'freq': ... <trimmed 9112 bytes string> |
request | <WSGIRequest: GET '/datasets/history/tigge-lam-prod/'> |
reverse_sort | False |
./tigge/views.py
in get_events
date = None
date_p = None
start_date = None
count_ref = None
count_ref_p = None
event_name = None
for i, row in enumerate(get_data(dataset)):...
origin = row[0]
date = row[2]
count = int(row[3])
per_len += 1
Variable | Value |
---|---|
count_p | None |
count_ref | None |
count_ref_p | None |
dataset | <Dataset: tigge-lam-prod> |
date | None |
date_p | None |
event_name | None |
events | {} |
fieldcounts | {u'aladinhuneps-omsz-eu:18': {datetime.date(2014, 2, 1): {'count': 2279, 'days': [], 'freq': u'd'}}, u'aladinlaef-zamg-eu:00': {datetime.date(2013, 6, 3): {'count': 3521, 'days': [], 'freq': u'd'}, datetime.date(2013, 7, 10): {'count': 4201, 'days': [], 'freq': u'd'}}, u'aladinlaef-zamg-eu:12': {datetime.date(2013, 6, 3): {'count': 3521, 'days': [], 'freq': u'd'}, datetime.date(2013, 7, 9): {'count': 4201, 'days': [], 'freq': u'd'}}, u'cosmodeeps-dwd-eu:00': {datetime.date(2014, 1, 1): {'count': 1762, 'days': [], 'freq': u'd'}}, u'cosmodeeps-dwd-eu:06': {datetime.date(2014, 1, 1): {'count': 1762, 'days': [], 'freq': u'd'}}, u'cosmodeeps-dwd-eu:12': {datetime.date(2014, 1, 1): {'count': 1762, 'days': [], 'freq': u'd'}}, u'cosmodeeps-dwd-eu:18': {datetime.date(2014, 1, 1): {'count': 1762, 'days': [], 'freq': u'd'}}, u'cosmoleps-arpasimc-eu:00': {datetime.date(2013, 1, 1): {'count': 7184, 'days': [], 'freq': u'd'}, datetime.date(2018, 6, 1): {'count': 8980, 'days': [], 'freq': u'd'}}, u'cosmoleps-arpasimc-eu:12': {datetime.date(2013, 1, 1): {'count': 7184, 'days': [], 'freq': u'd'}, datetime.date(2018, 6, 1): {'count': 8980, 'days': [], 'freq': u'd'}}, u'glameps-hirlamcons-eu:00': {datetime.date(2014, 7, 2): {'count': 3696, 'days': [], 'freq': u'd'}, datetime.date(2014, 10, 2): {'count': 4228, 'days': [], 'freq': u'd'}}, u'glameps-hirlamcons-eu:06': {datetime.date(2013, 10, 15): {'count': 5361, 'days': [], 'freq': u'd'}, datetime.date(2014, 10, 2): {'count': 4228, 'days': [], 'freq': u'd'}}, u'glameps-hirlamcons-eu:12': {datetime.date(2014, 7, 1): {'count': 3696, 'days': [], 'freq': u'd'}, datetime.date(2014, 10, 2): {'count': 4228, 'days': [], 'freq': ... <trimmed 9112 bytes string> |
is_period | False |
origin_p | None |
origin_period | {} |
origins | [] |
per_len | 0 |
start_date | None |
./tigge/views.py
in get_data
Returns:
mysql field_count data for each model, date and processed dataset
"""
database_url = urlparse(conf.get('applications.tigge.database_url', exact=True))
dtb = MySQLdb.connect(host=database_url.hostname,
user=database_url.username,
passwd=database_url.password or '',
db=database_url.path[1:])...
stream = ''
if dataset.stream:
stream = ' AND stream="' + dataset.stream + '"'
sql = ('SELECT origin, expver, date, fields FROM ' + dataset.dbtable +
Variable | Value |
---|---|
database_url | ParseResult(scheme=u'mysql', netloc=u'ecmwf@webapps-db-test.ecmwf.int', path=u'/fdf', params='', query='', fragment='') |
dataset | <Dataset: tigge-lam-prod> |
/usr/local/lib/python2.7/site-packages/MySQLdb/__init__.py
in Connect
else:
def Binary(x):
return bytes(x)
def Connect(*args, **kwargs):
"""Factory function for connections.Connection."""
from MySQLdb.connections import Connection
return Connection(*args, **kwargs)...
connect = Connection = Connect
__all__ = [ 'BINARY', 'Binary', 'Connect', 'Connection', 'DATE',
'Date', 'Time', 'Timestamp', 'DateFromTicks', 'TimeFromTicks',
'TimestampFromTicks', 'DataError', 'DatabaseError', 'Error',
Variable | Value |
---|---|
Connection | <class 'MySQLdb.connections.Connection'> |
args | () |
kwargs | {'db': u'fdf', 'host': u'webapps-db-test.ecmwf.int', 'passwd': '', 'user': u'ecmwf'} |
/usr/local/lib/python2.7/site-packages/MySQLdb/connections.py
in __init__
autocommit = kwargs2.pop('autocommit', False)
self.waiter = kwargs2.pop('waiter', None)
if self.waiter:
from warnings import warn
warn("waiter is deprecated and will be removed in 1.4.",
DeprecationWarning, 2)
super(Connection, self).__init__(*args, **kwargs2)...
self.cursorclass = cursorclass
self.encoders = dict([ (k, v) for k, v in conv.items()
if type(k) is not int ])
self._server_version = tuple([ numeric_part(n) for n in self.get_server_info().split('.')[:2] ])
Variable | Value |
---|---|
CLIENT | <module 'MySQLdb.constants.CLIENT' from '/usr/local/lib/python2.7/site-packages/MySQLdb/constants/CLIENT.py'> |
FIELD_TYPE | <module 'MySQLdb.constants.FIELD_TYPE' from '/usr/local/lib/python2.7/site-packages/MySQLdb/constants/FIELD_TYPE.py'> |
args | () |
autocommit | False |
charset | '' |
client_flag | 196608 |
client_version | (10, 3) |
conv | {0: <class 'decimal.Decimal'>, 1: <type 'int'>, 2: <type 'int'>, 3: <type 'long'>, 4: <type 'float'>, 5: <type 'float'>, 7: <function mysql_timestamp_converter at 0x7f35c8e3f3d0>, 8: <type 'long'>, 9: <type 'int'>, 10: <function Date_or_None at 0x7f35c8e3f250>, 11: <function TimeDelta_or_None at 0x7f35c8e3f150>, 12: <function DateTime_or_None at 0x7f35c8e3f0d0>, 13: <type 'int'>, 15: [(128, <type 'str'>)], 246: <class 'decimal.Decimal'>, 248: <function Str2Set at 0x7f35c3d8a350>, 249: [(128, <type 'str'>)], 250: [(128, <type 'str'>)], 251: [(128, <type 'str'>)], 252: [(128, <type 'str'>)], 253: [(128, <type 'str'>)], 254: [(128, <type 'str'>)], <class 'decimal.Decimal'>: <function Decimal2Literal at 0x7f35c3d8a6d0>, <type 'array.array'>: <function array2Str at 0x7f35c3d8a7d0>, <type 'datetime.date'>: <function Thing2Literal at 0x7f35c3d8a650>, <type 'datetime.datetime'>: <function DateTime2literal at 0x7f35c8e3f2d0>, <type 'datetime.timedelta'>: <function DateTimeDelta2literal at 0x7f35c8e3f350>, <type 'bool'>: <function Bool2Str at 0x7f35c3d8a2d0>, <type 'float'>: <function Float2Str at 0x7f35c3d8a550>, <type 'int'>: <function Thing2Str at 0x7f35c3d8a450>, <type 'long'>: <function Thing2Str at 0x7f35c3d8a450>, <type 'NoneType'>: <function None2NULL at 0x7f35c3d8a5d0>, <type 'set'>: <function Set2Str at 0x7f35c3d8a3d0>, <type 'str'>: <function Thing2Literal at 0x7f35c3d8a650>, <type 'unicode'>: <function Unicode2Str at 0x7f35c3d8a4d0>} |
conv2 | {0: <class 'decimal.Decimal'>, 1: <type 'int'>, 2: <type 'int'>, 3: <type 'long'>, 4: <type 'float'>, 5: <type 'float'>, 7: <function mysql_timestamp_converter at 0x7f35c8e3f3d0>, 8: <type 'long'>, 9: <type 'int'>, 10: <function Date_or_None at 0x7f35c8e3f250>, 11: <function TimeDelta_or_None at 0x7f35c8e3f150>, 12: <function DateTime_or_None at 0x7f35c8e3f0d0>, 13: <type 'int'>, 15: [(128, <type 'str'>)], 246: <class 'decimal.Decimal'>, 248: <function Str2Set at 0x7f35c3d8a350>, 249: [(128, <type 'str'>)], 250: [(128, <type 'str'>)], 251: [(128, <type 'str'>)], 252: [(128, <type 'str'>)], 253: [(128, <type 'str'>)], 254: [(128, <type 'str'>)], <class 'decimal.Decimal'>: <function Decimal2Literal at 0x7f35c3d8a6d0>, <type 'array.array'>: <function array2Str at 0x7f35c3d8a7d0>, <type 'datetime.date'>: <function Thing2Literal at 0x7f35c3d8a650>, <type 'datetime.datetime'>: <function DateTime2literal at 0x7f35c8e3f2d0>, <type 'datetime.timedelta'>: <function DateTimeDelta2literal at 0x7f35c8e3f350>, <type 'bool'>: <function Bool2Str at 0x7f35c3d8a2d0>, <type 'float'>: <function Float2Str at 0x7f35c3d8a550>, <type 'int'>: <function Thing2Str at 0x7f35c3d8a450>, <type 'long'>: <function Thing2Str at 0x7f35c3d8a450>, <type 'NoneType'>: <function None2NULL at 0x7f35c3d8a5d0>, <type 'set'>: <function Set2Str at 0x7f35c3d8a3d0>, <type 'str'>: <function Thing2Literal at 0x7f35c3d8a650>, <type 'unicode'>: <function Unicode2Str at 0x7f35c3d8a4d0>} |
conversions | {0: <class 'decimal.Decimal'>, 1: <type 'int'>, 2: <type 'int'>, 3: <type 'long'>, 4: <type 'float'>, 5: <type 'float'>, 7: <function mysql_timestamp_converter at 0x7f35c8e3f3d0>, 8: <type 'long'>, 9: <type 'int'>, 10: <function Date_or_None at 0x7f35c8e3f250>, 11: <function TimeDelta_or_None at 0x7f35c8e3f150>, 12: <function DateTime_or_None at 0x7f35c8e3f0d0>, 13: <type 'int'>, 15: [(128, <type 'str'>)], 246: <class 'decimal.Decimal'>, 248: <function Str2Set at 0x7f35c3d8a350>, 249: [(128, <type 'str'>)], 250: [(128, <type 'str'>)], 251: [(128, <type 'str'>)], 252: [(128, <type 'str'>)], 253: [(128, <type 'str'>)], 254: [(128, <type 'str'>)], <class 'decimal.Decimal'>: <function Decimal2Literal at 0x7f35c3d8a6d0>, <type 'array.array'>: <function array2Str at 0x7f35c3d8a7d0>, <type 'datetime.date'>: <function Thing2Literal at 0x7f35c3d8a650>, <type 'datetime.datetime'>: <function DateTime2literal at 0x7f35c8e3f2d0>, <type 'datetime.timedelta'>: <function DateTimeDelta2literal at 0x7f35c8e3f350>, <type 'bool'>: <function Bool2Str at 0x7f35c3d8a2d0>, <type 'float'>: <function Float2Str at 0x7f35c3d8a550>, <type 'int'>: <function Thing2Str at 0x7f35c3d8a450>, <type 'long'>: <function Thing2Str at 0x7f35c3d8a450>, <type 'NoneType'>: <function None2NULL at 0x7f35c3d8a5d0>, <type 'set'>: <function Set2Str at 0x7f35c3d8a3d0>, <type 'str'>: <function Thing2Literal at 0x7f35c3d8a650>, <type 'unicode'>: <function Unicode2Str at 0x7f35c3d8a4d0>} |
cursorclass | <class 'MySQLdb.cursors.Cursor'> |
k | <type 'datetime.timedelta'> |
kwargs | {'db': u'fdf', 'host': u'webapps-db-test.ecmwf.int', 'passwd': '', 'user': u'ecmwf'} |
kwargs2 | {'client_flag': 196608, 'conv': {0: <class 'decimal.Decimal'>, 1: <type 'int'>, 2: <type 'int'>, 3: <type 'long'>, 4: <type 'float'>, 5: <type 'float'>, 7: <function mysql_timestamp_converter at 0x7f35c8e3f3d0>, 8: <type 'long'>, 9: <type 'int'>, 10: <function Date_or_None at 0x7f35c8e3f250>, 11: <function TimeDelta_or_None at 0x7f35c8e3f150>, 12: <function DateTime_or_None at 0x7f35c8e3f0d0>, 13: <type 'int'>, 15: [(128, <type 'str'>)], 246: <class 'decimal.Decimal'>, 248: <function Str2Set at 0x7f35c3d8a350>, 249: [(128, <type 'str'>)], 250: [(128, <type 'str'>)], 251: [(128, <type 'str'>)], 252: [(128, <type 'str'>)], 253: [(128, <type 'str'>)], 254: [(128, <type 'str'>)], <class 'decimal.Decimal'>: <function Decimal2Literal at 0x7f35c3d8a6d0>, <type 'array.array'>: <function array2Str at 0x7f35c3d8a7d0>, <type 'datetime.date'>: <function Thing2Literal at 0x7f35c3d8a650>, <type 'datetime.datetime'>: <function DateTime2literal at 0x7f35c8e3f2d0>, <type 'datetime.timedelta'>: <function DateTimeDelta2literal at 0x7f35c8e3f350>, <type 'bool'>: <function Bool2Str at 0x7f35c3d8a2d0>, <type 'float'>: <function Float2Str at 0x7f35c3d8a550>, <type 'int'>: <function Thing2Str at 0x7f35c3d8a450>, <type 'long'>: <function Thing2Str at 0x7f35c3d8a450>, <type 'NoneType'>: <function None2NULL at 0x7f35c3d8a5d0>, <type 'set'>: <function Set2Str at 0x7f35c3d8a3d0>, <type 'str'>: <function Thing2Literal at 0x7f35c3d8a650>, <type 'unicode'>: <function Unicode2Str at 0x7f35c3d8a4d0>}, 'db': u'fdf', 'host': u'webapps-db-test.ecmwf.int', 'passwd': '', 'user': u'ecmwf'} |
n | '3' |
proxy | <built-in function proxy> |
self | <_mysql.connection closed at 564c4cde7d60> |
sql_mode | '' |
use_unicode | False |
v | <function DateTimeDelta2literal at 0x7f35c8e3f350> |
AnonymousUser
No GET data
No POST data
No FILES data
No cookie data
Variable | Value |
---|---|
HTTP_ACCEPT | '*/*' |
HTTP_CONNECTION | 'close' |
HTTP_HOST | 'apps-dev.ecmwf.int' |
HTTP_REFERER | 'https://apps-dev.ecmwf.int/datasets/history/tigge-lam-prod' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '107.21.176.63' |
HTTP_X_FORWARDED_HOST | 'apps-dev.ecmwf.int' |
HTTP_X_FORWARDED_PORT | '443' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_REAL_IP | '107.21.176.63' |
PATH_INFO | u'/datasets/history/tigge-lam-prod/' |
QUERY_STRING | '' |
REMOTE_ADDR | '107.21.176.63' |
REQUEST_METHOD | 'GET' |
REQUEST_URI | '/datasets/history/tigge-lam-prod/' |
SCRIPT_NAME | u'' |
SERVER_NAME | 'django-59b7855c75-dhd8c' |
SERVER_PORT | '8001' |
SERVER_PROTOCOL | 'HTTP/1.1' |
uwsgi.node | 'django-59b7855c75-dhd8c' |
uwsgi.version | '2.0.23' |
wsgi.errors | <open file 'wsgi_errors', mode 'w' at 0x7f35ccf62390> |
wsgi.file_wrapper | '' |
wsgi.input | <uwsgi._Input object at 0x7f35c380cb90> |
wsgi.multiprocess | True |
wsgi.multithread | False |
wsgi.run_once | False |
wsgi.url_scheme | 'https' |
wsgi.version | (1, 0) |
settings.webmars_api
Setting | Value |
---|---|
ABSOLUTE_URL_OVERRIDES | {} |
ADMINS | [] |
ALLOWED_HOSTS | [u'.ecmwf.int'] |
APPEND_SLASH | True |
AUTHENTICATION_BACKENDS | ('common.auth.backends.KeycloakOpenIdConnect', 'common.auth.backends.TokenBackend') |
AUTH_PASSWORD_VALIDATORS | u'********************' |
AUTH_USER_MODEL | u'auth.User' |
CACHES | {u'default': {u'BACKEND': u'django.core.cache.backends.locmem.LocMemCache'}} |
CACHE_MIDDLEWARE_ALIAS | u'default' |
CACHE_MIDDLEWARE_KEY_PREFIX | u'********************' |
CACHE_MIDDLEWARE_SECONDS | 600 |
COLLECT_STATISTICS | False |
COMPRESSORS | {'css': u'compressor.css.CssCompressor', 'js': u'compressor.js.JsCompressor'} |
COMPRESS_CACHEABLE_PRECOMPILERS | () |
COMPRESS_CACHE_BACKEND | u'default' |
COMPRESS_CACHE_KEY_FUNCTION | u'********************' |
COMPRESS_CLEAN_CSS_ARGUMENTS | u'' |
COMPRESS_CLEAN_CSS_BINARY | u'cleancss' |
COMPRESS_CLOSURE_COMPILER_ARGUMENTS | u'' |
COMPRESS_CLOSURE_COMPILER_BINARY | u'java -jar compiler.jar' |
COMPRESS_CSS_HASHING_METHOD | u'mtime' |
COMPRESS_DATA_URI_MAX_SIZE | 1024 |
COMPRESS_DEBUG_TOGGLE | None |
COMPRESS_ENABLED | False |
COMPRESS_FILTERS | {u'css': [u'compressor.filters.css_default.CssAbsoluteFilter'], u'js': [u'compressor.filters.jsmin.JSMinFilter']} |
COMPRESS_JINJA2_GET_ENVIRONMENT | <function JINJA2_GET_ENVIRONMENT at 0x7f35c9d59e50> |
COMPRESS_MINT_DELAY | 30 |
COMPRESS_MTIME_DELAY | 10 |
COMPRESS_OFFLINE | False |
COMPRESS_OFFLINE_CONTEXT | {u'STATIC_URL': '/api/static/'} |
COMPRESS_OFFLINE_MANIFEST | u'manifest.json' |
COMPRESS_OFFLINE_TIMEOUT | 31536000 |
COMPRESS_OUTPUT_DIR | u'CACHE' |
COMPRESS_PARSER | u'compressor.parser.AutoSelectParser' |
COMPRESS_PRECOMPILERS | () |
COMPRESS_REBUILD_TIMEOUT | 2592000 |
COMPRESS_ROOT | u'/data/django/staticfiles' |
COMPRESS_STORAGE | u'compressor.storage.CompressorFileStorage' |
COMPRESS_TEMPLATE_FILTER_CONTEXT | {u'STATIC_URL': '/api/static/'} |
COMPRESS_URL | '/api/static/' |
COMPRESS_URL_PLACEHOLDER | u'/__compressor_url_placeholder__/' |
COMPRESS_VERBOSE | False |
COMPRESS_YUGLIFY_BINARY | u'yuglify' |
COMPRESS_YUGLIFY_CSS_ARGUMENTS | u'--terminal' |
COMPRESS_YUGLIFY_JS_ARGUMENTS | u'--terminal' |
COMPRESS_YUI_BINARY | u'java -jar yuicompressor.jar' |
COMPRESS_YUI_CSS_ARGUMENTS | u'' |
COMPRESS_YUI_JS_ARGUMENTS | u'' |
CONFIGURATION | 'settings.webmars_api.Default' |
CSRF_COOKIE_AGE | 31449600 |
CSRF_COOKIE_DOMAIN | None |
CSRF_COOKIE_HTTPONLY | False |
CSRF_COOKIE_NAME | u'csrftoken' |
CSRF_COOKIE_PATH | u'/' |
CSRF_COOKIE_SECURE | False |
CSRF_FAILURE_VIEW | u'django.views.csrf.csrf_failure' |
CSRF_HEADER_NAME | u'HTTP_X_CSRFTOKEN' |
CSRF_TRUSTED_ORIGINS | [] |
DATABASES | {u'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, u'ENGINE': u'django.db.backends.postgresql_psycopg2', u'HOST': u'postgresql-0.postgresql', u'NAME': u'django', 'OPTIONS': {}, u'PASSWORD': u'********************', 'PORT': '', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, u'USER': u'django'}} |
DATABASE_ROUTERS | [] |
DATA_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
DATA_UPLOAD_MAX_NUMBER_FIELDS | 1000 |
DATETIME_FORMAT | u'N j, Y, P' |
DATETIME_INPUT_FORMATS | [u'%Y-%m-%d %H:%M:%S', u'%Y-%m-%d %H:%M:%S.%f', u'%Y-%m-%d %H:%M', u'%Y-%m-%d', u'%m/%d/%Y %H:%M:%S', u'%m/%d/%Y %H:%M:%S.%f', u'%m/%d/%Y %H:%M', u'%m/%d/%Y', u'%m/%d/%y %H:%M:%S', u'%m/%d/%y %H:%M:%S.%f', u'%m/%d/%y %H:%M', u'%m/%d/%y'] |
DATE_FORMAT | u'N j, Y' |
DATE_INPUT_FORMATS | [u'%Y-%m-%d', u'%m/%d/%Y', u'%m/%d/%y', u'%b %d %Y', u'%b %d, %Y', u'%d %b %Y', u'%d %b, %Y', u'%B %d %Y', u'%B %d, %Y', u'%d %B %Y', u'%d %B, %Y'] |
DEBUG | True |
DEBUG_PROPAGATE_EXCEPTIONS | False |
DECIMAL_SEPARATOR | u'.' |
DEFAULT_CHARSET | u'utf-8' |
DEFAULT_CONTENT_TYPE | u'text/html' |
DEFAULT_EXCEPTION_REPORTER_FILTER | u'django.views.debug.SafeExceptionReporterFilter' |
DEFAULT_FILE_STORAGE | u'django.core.files.storage.FileSystemStorage' |
DEFAULT_FROM_EMAIL | u'webmaster@localhost' |
DEFAULT_INDEX_TABLESPACE | u'' |
DEFAULT_TABLESPACE | u'' |
DISALLOWED_USER_AGENTS | [] |
DOTENV_LOADED | None |
ECCHARTS_ACCESS_POLICIES | ['ecmwf', 'forecaster', 'wrep'] |
EMAIL_BACKEND | u'django.core.mail.backends.smtp.EmailBackend' |
EMAIL_HOST | u'localhost' |
EMAIL_HOST_PASSWORD | u'********************' |
EMAIL_HOST_USER | u'' |
EMAIL_PORT | 25 |
EMAIL_SSL_CERTFILE | None |
EMAIL_SSL_KEYFILE | u'********************' |
EMAIL_SUBJECT_PREFIX | u'[Django] ' |
EMAIL_TIMEOUT | None |
EMAIL_USE_SSL | False |
EMAIL_USE_TLS | False |
EMS_ADMIN_POLICIES | [u'cd_applications_group', u'forecast_delivery_team', u'user_services_section', u'web2013', u'web_development', u'web_group', u'web_services_group'] |
FILE_CHARSET | u'utf-8' |
FILE_UPLOAD_DIRECTORY_PERMISSIONS | None |
FILE_UPLOAD_HANDLERS | [u'django.core.files.uploadhandler.MemoryFileUploadHandler', u'django.core.files.uploadhandler.TemporaryFileUploadHandler'] |
FILE_UPLOAD_MAX_MEMORY_SIZE | 2621440 |
FILE_UPLOAD_PERMISSIONS | None |
FILE_UPLOAD_TEMP_DIR | None |
FIRST_DAY_OF_WEEK | 0 |
FIXTURE_DIRS | [] |
FORCE_SCRIPT_NAME | None |
FORMAT_MODULE_PATH | None |
IGNORABLE_404_URLS | [] |
INSTALLED_APPS | ['django.contrib.admin', 'django.contrib.admindocs', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.humanize', 'django.contrib.messages', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.staticfiles', 'compressor', 'django_filters', 'django_nose', 'markup_deprecated', 'mptt', 'rest_framework', 'social_django', 'common.auth.apps.Config', 'common.profile.apps.Config', 'common.utils.apps.Config', 'frontend.apps.Config', 'api.apps.Config', 'api_activity.apps.Config', 'research_experiments.apps.Config', 'service_monitoring_api.apps.Config', 'tigge.apps.Config', 'webmars.activity.apps.Config', 'webmars.catalogue.apps.Config', 'webmars.datasets.apps.Config', 'webmars.webmars_common.apps.Config'] |
INTERNAL_IPS | [] |
LANGUAGES | [(u'af', u'Afrikaans'), (u'ar', u'Arabic'), (u'ast', u'Asturian'), (u'az', u'Azerbaijani'), (u'bg', u'Bulgarian'), (u'be', u'Belarusian'), (u'bn', u'Bengali'), (u'br', u'Breton'), (u'bs', u'Bosnian'), (u'ca', u'Catalan'), (u'cs', u'Czech'), (u'cy', u'Welsh'), (u'da', u'Danish'), (u'de', u'German'), (u'dsb', u'Lower Sorbian'), (u'el', u'Greek'), (u'en', u'English'), (u'en-au', u'Australian English'), (u'en-gb', u'British English'), (u'eo', u'Esperanto'), (u'es', u'Spanish'), (u'es-ar', u'Argentinian Spanish'), (u'es-co', u'Colombian Spanish'), (u'es-mx', u'Mexican Spanish'), (u'es-ni', u'Nicaraguan Spanish'), (u'es-ve', u'Venezuelan Spanish'), (u'et', u'Estonian'), (u'eu', u'Basque'), (u'fa', u'Persian'), (u'fi', u'Finnish'), (u'fr', u'French'), (u'fy', u'Frisian'), (u'ga', u'Irish'), (u'gd', u'Scottish Gaelic'), (u'gl', u'Galician'), (u'he', u'Hebrew'), (u'hi', u'Hindi'), (u'hr', u'Croatian'), (u'hsb', u'Upper Sorbian'), (u'hu', u'Hungarian'), (u'ia', u'Interlingua'), (u'id', u'Indonesian'), (u'io', u'Ido'), (u'is', u'Icelandic'), (u'it', u'Italian'), (u'ja', u'Japanese'), (u'ka', u'Georgian'), (u'kk', u'Kazakh'), (u'km', u'Khmer'), (u'kn', u'Kannada'), (u'ko', u'Korean'), (u'lb', u'Luxembourgish'), (u'lt', u'Lithuanian'), (u'lv', u'Latvian'), (u'mk', u'Macedonian'), (u'ml', u'Malayalam'), (u'mn', u'Mongolian'), (u'mr', u'Marathi'), (u'my', u'Burmese'), (u'nb', u'Norwegian Bokm\xe5l'), (u'ne', u'Nepali'), (u'nl', u'Dutch'), (u'nn', u'Norwegian Nynorsk'), (u'os', u'Ossetic'), (u'pa', u'Punjabi'), (u'pl', u'Polish'), (u'pt', u'Portuguese'), (u'pt-br', u'Brazilian Portuguese'), (u'ro', u'Romanian'), (u'ru', u'Russian'), (u'sk', u'Slovak'), (u'sl', u'Slovenian'), (u'sq', u'Albanian'), (u'sr', u'Serbian'), (u'sr-latn', u'Serbian Latin'), (u'sv', u'Swedish'), (u'sw', u'Swahili'), (u'ta', u'Tamil'), (u'te', u'Telugu'), (u'th', u'Thai'), (u'tr', u'Turkish'), (u'tt', u'Tatar'), (u'udm', u'Udmurt'), (u'uk', u'Ukrainian'), (u'ur', u'Urdu'), (u'vi', u'Vietnamese'), (u'zh-hans', u'Simplified Chinese'), (u'zh-hant', u'Traditional Chinese')] |
LANGUAGES_BIDI | [u'he', u'ar', u'fa', u'ur'] |
LANGUAGE_CODE | 'en-us' |
LANGUAGE_COOKIE_AGE | None |
LANGUAGE_COOKIE_DOMAIN | None |
LANGUAGE_COOKIE_NAME | u'django_language' |
LANGUAGE_COOKIE_PATH | u'/' |
LOCALE_PATHS | [] |
LOGGING | {'disable_existing_loggers': False, 'formatters': {'default': {'()': 'pythonjsonlogger.jsonlogger.JsonFormatter', 'format': '%(asctime)s %(process)s %(processName)s %(threadName)s %(levelname)s %(name)s %(message)s'}}, 'handlers': {'console': {'class': 'logging.StreamHandler', 'formatter': 'default', 'level': 'DEBUG'}}, 'loggers': {'PIL': {'handlers': ['console'], 'level': 'WARN', 'propagate': False}, 'celery': {'handlers': ['console'], 'level': 'WARN', 'propagate': False}, 'chardet': {'handlers': ['console'], 'level': 'INFO', 'propagate': False}, 'django': {'handlers': ['console'], 'level': 'INFO', 'propagate': False}, 'kombu': {'handlers': ['console'], 'level': 'INFO', 'propagate': False}, 'matplotlib': {'handlers': ['console'], 'level': 'INFO', 'propagate': False}, 'newrelic': {'handlers': ['console'], 'level': 'WARN', 'propagate': False}, 'pika': {'handlers': ['console'], 'level': 'WARN', 'propagate': False}, 'requests': {'handlers': ['console'], 'level': 'WARN', 'propagate': False}, 'selenium': {'handlers': ['console'], 'level': 'WARN', 'propagate': False}, 'urllib3': {'handlers': ['console'], 'level': 'WARN', 'propagate': False}}, 'root': {'handlers': ['console'], 'level': 'DEBUG'}, 'version': 1} |
LOGGING_CONFIG | u'logging.config.dictConfig' |
LOGIN_REDIRECT_URL | u'https://accounts-test.ecmwf.int/auth/realms/ecmwf/account' |
LOGIN_URL | '/api/sso/login/openid-connect/' |
LOGOUT_REDIRECT_URL | '/api/auth/logged-out/' |
MANAGERS | [] |
MEDIA_ROOT | '' |
MEDIA_URL | '' |
MESSAGE_STORAGE | u'django.contrib.messages.storage.fallback.FallbackStorage' |
MIDDLEWARE | ['common.auth.middleware.HandleCORSPreflightMiddleware', 'common.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'common.auth.middleware.RemoteAddressMiddleware', 'common.auth.middleware.TokenMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'common.soa.middleware.ServicesMiddleware', 'common.logging.middleware.LoggerMiddleware', 'common.utils.middleware.TraceMiddleware'] |
MIDDLEWARE_CLASSES | [u'django.middleware.common.CommonMiddleware', u'django.middleware.csrf.CsrfViewMiddleware'] |
MIGRATION_MODULES | {} |
MONTH_DAY_FORMAT | u'F j' |
NUMBER_GROUPING | 0 |
PASSWORD_HASHERS | u'********************' |
PASSWORD_RESET_TIMEOUT_DAYS | u'********************' |
PREPEND_WWW | False |
PROJECT_ROOT | '/code/apps/settings' |
REGISTRATION_URL | u'https://accounts-test.ecmwf.int/auth/realms/ecmwf/protocol/openid-connect/registrations?client_id=apps&response_type=code&scope=openid%20email&' |
ROOT_URLCONF | 'urls.webmars_api' |
SECRET_KEY | u'********************' |
SECURE_BROWSER_XSS_FILTER | False |
SECURE_CONTENT_TYPE_NOSNIFF | False |
SECURE_HSTS_INCLUDE_SUBDOMAINS | False |
SECURE_HSTS_SECONDS | 0 |
SECURE_PROXY_SSL_HEADER | ('HTTP_X_HTTPS', 'on') |
SECURE_REDIRECT_EXEMPT | [] |
SECURE_SSL_HOST | None |
SECURE_SSL_REDIRECT | False |
SERVER_EMAIL | u'root@localhost' |
SESSION_CACHE_ALIAS | u'default' |
SESSION_COOKIE_AGE | 1209600 |
SESSION_COOKIE_DOMAIN | u'.ecmwf.int' |
SESSION_COOKIE_HTTPONLY | True |
SESSION_COOKIE_NAME | u'django-webmars-api-dev-bol' |
SESSION_COOKIE_PATH | u'/' |
SESSION_COOKIE_SAMESITE | u'None' |
SESSION_COOKIE_SECURE | False |
SESSION_ENGINE | u'django.contrib.sessions.backends.db' |
SESSION_EXPIRE_AT_BROWSER_CLOSE | False |
SESSION_FILE_PATH | None |
SESSION_SAVE_EVERY_REQUEST | False |
SESSION_SERIALIZER | u'django.contrib.sessions.serializers.JSONSerializer' |
SETTINGS_MODULE | 'settings.webmars_api' |
SHORT_DATETIME_FORMAT | u'm/d/Y P' |
SHORT_DATE_FORMAT | u'm/d/Y' |
SIGNING_BACKEND | u'django.core.signing.TimestampSigner' |
SILENCED_SYSTEM_CHECKS | [] |
SITE_ID | 1 |
SOCIAL_AUTH_ADMIN_USER_SEARCH_FIELDS | ['username', 'first_name', 'email'] |
SOCIAL_AUTH_ALLOWED_REDIRECT_HOSTS | ['apps.ecmwf.local'] |
SOCIAL_AUTH_CLEAN_USERNAMES | False |
SOCIAL_AUTH_OPENID_CONNECT_KEY | u'********************' |
SOCIAL_AUTH_OPENID_CONNECT_OIDC_ENDPOINT | u'https://accounts-test.ecmwf.int/auth/realms/ecmwf' |
SOCIAL_AUTH_OPENID_CONNECT_SECRET | u'********************' |
SOCIAL_AUTH_PIPELINE | ('common.auth.pipeline.social_details', 'common.auth.pipeline.truncate_long_user_fields', 'common.auth.pipeline.social_uid', 'social_core.pipeline.social_auth.auth_allowed', 'common.auth.pipeline.social_user', 'common.auth.pipeline.create_user', 'social_core.pipeline.social_auth.associate_user', 'social_core.pipeline.social_auth.load_extra_data', 'common.auth.pipeline.update_django_user', 'common.auth.pipeline.session_state', 'common.auth.pipeline.debug') |
SOCIAL_AUTH_SANITIZE_REDIRECTS | False |
SOCIAL_AUTH_SESSION_EXPIRATION | True |
SOCIAL_AUTH_SLUGIFY_USERNAMES | False |
SOCIAL_AUTH_STORAGE | 'social_django.models.DjangoStorage' |
SOCIAL_AUTH_STRATEGY | 'common.auth.strategy.DjangoStrategy' |
SOCIAL_AUTH_UID_LENGTH | 150 |
SOCIAL_AUTH_URL_NAMESPACE | 'social' |
SOCIAL_AUTH_USERNAME_IS_FULL_EMAIL | False |
SOCIAL_AUTH_USER_FIELDS | ['username'] |
STATICFILES_DIRS | [] |
STATICFILES_FINDERS | ('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder', 'compressor.finders.CompressorFinder') |
STATICFILES_STORAGE | u'django.contrib.staticfiles.storage.StaticFilesStorage' |
STATIC_ROOT | '/data/django/staticfiles' |
STATIC_URL | '/api/static/' |
TEMPLATES | [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/tmp/cache/django/templates', './settings/templates'], 'OPTIONS': {'context_processors': ('django.contrib.auth.context_processors.auth', 'django.template.context_processors.debug', 'django.template.context_processors.media', 'django.template.context_processors.static', 'django.template.context_processors.request', 'django.contrib.messages.context_processors.messages', 'social_django.context_processors.backends', 'social_django.context_processors.login_redirect', 'common.auth.context.user', 'common.utils.context_processors.sitemenu_processor'), 'loaders': ('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader')}}] |
TEST_NON_SERIALIZED_APPS | [] |
TEST_RUNNER | 'django_nose.NoseTestSuiteRunner' |
THOUSAND_SEPARATOR | u',' |
TIME_FORMAT | u'P' |
TIME_INPUT_FORMATS | [u'%H:%M:%S', u'%H:%M:%S.%f', u'%H:%M'] |
TIME_ZONE | 'UTC' |
USE_ETAGS | False |
USE_I18N | False |
USE_L10N | True |
USE_THOUSAND_SEPARATOR | False |
USE_TZ | True |
USE_X_FORWARDED_HOST | True |
USE_X_FORWARDED_PORT | False |
WSGI_APPLICATION | 'wsgi.application' |
X_FRAME_OPTIONS | u'SAMEORIGIN' |
YEAR_MONTH_FORMAT | u'F Y' |
You're seeing this error because you have DEBUG = True
in your
Django settings file. Change that to False
, and Django will
display a standard page generated by the handler for this status code.