(2006, "Access denied for user 'ecmwf'@'k8s-bol-webapps-test-worker-013.ecmwf.int' (using password: NO)")
Request Method: | GET |
---|---|
Request URL: | https://apps-dev.ecmwf.int/datasets/history/s2s-prod/ |
Django Version: | 1.10.8 |
Exception Type: | OperationalError |
Exception Value: | (2006, "Access denied for user 'ecmwf'@'k8s-bol-webapps-test-worker-013.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 20:49:23 +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-013.ecmwf.int' (using password: NO)") |
get_response | <bound method WSGIHandler._get_response of <django.core.handlers.wsgi.WSGIHandler object at 0x7f0db3087ed0>> |
request | <WSGIRequest: GET '/datasets/history/s2s-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 0x7f0dab2bbdd0> |
callback_args | () |
callback_kwargs | {'dataset_url': u's2s-prod'} |
e | OperationalError(2006, "Access denied for user 'ecmwf'@'k8s-bol-webapps-test-worker-013.ecmwf.int' (using password: NO)") |
middleware_method | <bound method TokenMiddleware.process_view of <common.auth.middleware.TokenMiddleware object at 0x7f0dab56af10>> |
request | <WSGIRequest: GET '/datasets/history/s2s-prod/'> |
resolver | <RegexURLResolver 'urls.webmars_api' (None:None) ^/> |
resolver_match | ResolverMatch(func=tigge.views.history, args=(), kwargs={'dataset_url': u's2s-prod'}, url_name=history, app_names=[], namespaces=['history']) |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f0db3087ed0> |
wrapped_callback | <function history at 0x7f0dab2bbdd0> |
/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 0x7f0dab2bbdd0> |
callback_args | () |
callback_kwargs | {'dataset_url': u's2s-prod'} |
e | OperationalError(2006, "Access denied for user 'ecmwf'@'k8s-bol-webapps-test-worker-013.ecmwf.int' (using password: NO)") |
middleware_method | <bound method TokenMiddleware.process_view of <common.auth.middleware.TokenMiddleware object at 0x7f0dab56af10>> |
request | <WSGIRequest: GET '/datasets/history/s2s-prod/'> |
resolver | <RegexURLResolver 'urls.webmars_api' (None:None) ^/> |
resolver_match | ResolverMatch(func=tigge.views.history, args=(), kwargs={'dataset_url': u's2s-prod'}, url_name=history, app_names=[], namespaces=['history']) |
response | None |
self | <django.core.handlers.wsgi.WSGIHandler object at 0x7f0db3087ed0> |
wrapped_callback | <function history at 0x7f0dab2bbdd0> |
./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: s2s-prod> |
dataset_url | u's2s-prod' |
fieldcount | <FieldCount: FieldCount object> |
fieldcounts | {u'ammc:00': {datetime.date(2015, 1, 4): {'count': 163804, 'days': [4, 0], 'freq': u'w'}}, u'anso:00': {datetime.date(2021, 5, 1): {'count': 84370, 'days': [1, 2, 3, 4, 5, 6, 0], 'freq': u'w'}}, u'babj:00': {datetime.date(2015, 1, 1): {'count': 22654, 'days': [1, 2, 3, 4, 5, 6, 0], 'freq': u'w'}, datetime.date(2016, 9, 18): {'count': 24850, 'days': [1, 2, 3, 4, 5, 6, 0], 'freq': u'w'}, datetime.date(2019, 11, 11): {'count': 27010, 'days': [1, 4], 'freq': u'w'}}, u'cwao:00': {datetime.date(2016, 1, 7): {'count': 55840, 'days': [4], 'freq': u'w'}, datetime.date(2020, 2, 6): {'count': 61888, 'days': [4], 'freq': u'w'}}, u'ecmf:00': {datetime.date(2015, 1, 1): {'count': 155292, 'days': [4], 'freq': u'w'}, datetime.date(2015, 3, 16): {'count': 155292, 'days': [1, 4], 'freq': u'w'}, datetime.date(2015, 5, 14): {'count': 221736, 'days': [1, 4], 'freq': u'w'}, datetime.date(2016, 10, 3): {'count': 243309, 'days': [1, 4], 'freq': u'w'}, datetime.date(2020, 1, 2): {'count': 264423, 'days': [1, 4], 'freq': u'w'}, datetime.date(2020, 11, 12): {'count': 278499, 'days': [1, 4], 'freq': u'w'}}, u'egrr:00': {datetime.date(2015, 12, 1): {'count': 18558, 'days': [1, 2, 3, 4, 5, 6, 0], 'freq': u'w'}}, u'isac:00': {datetime.date(2015, 11, 9): {'count': 80711, 'days': [1], 'freq': u'w'}, datetime.date(2017, 1, 19): {'count': 80711, 'days': [4], 'freq': u'w'}, datetime.date(2017, 6, 8): {'count': 96785, 'days': [4], 'freq': u'w'}}, u'kwbc:00': {datetime.date(2015, 3, 10): {'count': 64132, 'days': [1, 2, 3, 4, 5, 6, 0], 'freq': u'w'}}, u'lfpw:00': {datetime.date(2015, 5, 1): {'count': 270322, 'days': [1], 'freq': u'm'}, datetime.date(2016, 3, 3): {'count': 143121, 'days': [4], 'freq': u'w'}, datetime.date(2020, 10, 22): {'count': 131694, 'days': [4], 'freq': u'w'}}, u'rjtd:12': {datetime.date(2015, 1, 6): {'count': 66068, 'days': [2, 3], 'freq': u'w'}, datetime.date(2017, 3, 22): {'count': 128166, 'days': [3], 'freq': u'w'}}, u'rks... <trimmed 5118 bytes string> |
request | <WSGIRequest: GET '/datasets/history/s2s-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: s2s-prod> |
date | None |
date_p | None |
event_name | None |
events | {} |
fieldcounts | {u'ammc:00': {datetime.date(2015, 1, 4): {'count': 163804, 'days': [4, 0], 'freq': u'w'}}, u'anso:00': {datetime.date(2021, 5, 1): {'count': 84370, 'days': [1, 2, 3, 4, 5, 6, 0], 'freq': u'w'}}, u'babj:00': {datetime.date(2015, 1, 1): {'count': 22654, 'days': [1, 2, 3, 4, 5, 6, 0], 'freq': u'w'}, datetime.date(2016, 9, 18): {'count': 24850, 'days': [1, 2, 3, 4, 5, 6, 0], 'freq': u'w'}, datetime.date(2019, 11, 11): {'count': 27010, 'days': [1, 4], 'freq': u'w'}}, u'cwao:00': {datetime.date(2016, 1, 7): {'count': 55840, 'days': [4], 'freq': u'w'}, datetime.date(2020, 2, 6): {'count': 61888, 'days': [4], 'freq': u'w'}}, u'ecmf:00': {datetime.date(2015, 1, 1): {'count': 155292, 'days': [4], 'freq': u'w'}, datetime.date(2015, 3, 16): {'count': 155292, 'days': [1, 4], 'freq': u'w'}, datetime.date(2015, 5, 14): {'count': 221736, 'days': [1, 4], 'freq': u'w'}, datetime.date(2016, 10, 3): {'count': 243309, 'days': [1, 4], 'freq': u'w'}, datetime.date(2020, 1, 2): {'count': 264423, 'days': [1, 4], 'freq': u'w'}, datetime.date(2020, 11, 12): {'count': 278499, 'days': [1, 4], 'freq': u'w'}}, u'egrr:00': {datetime.date(2015, 12, 1): {'count': 18558, 'days': [1, 2, 3, 4, 5, 6, 0], 'freq': u'w'}}, u'isac:00': {datetime.date(2015, 11, 9): {'count': 80711, 'days': [1], 'freq': u'w'}, datetime.date(2017, 1, 19): {'count': 80711, 'days': [4], 'freq': u'w'}, datetime.date(2017, 6, 8): {'count': 96785, 'days': [4], 'freq': u'w'}}, u'kwbc:00': {datetime.date(2015, 3, 10): {'count': 64132, 'days': [1, 2, 3, 4, 5, 6, 0], 'freq': u'w'}}, u'lfpw:00': {datetime.date(2015, 5, 1): {'count': 270322, 'days': [1], 'freq': u'm'}, datetime.date(2016, 3, 3): {'count': 143121, 'days': [4], 'freq': u'w'}, datetime.date(2020, 10, 22): {'count': 131694, 'days': [4], 'freq': u'w'}}, u'rjtd:12': {datetime.date(2015, 1, 6): {'count': 66068, 'days': [2, 3], 'freq': u'w'}, datetime.date(2017, 3, 22): {'count': 128166, 'days': [3], 'freq': u'w'}}, u'rks... <trimmed 5118 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: s2s-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 0x7f0db02e73d0>, 8: <type 'long'>, 9: <type 'int'>, 10: <function Date_or_None at 0x7f0db02e7250>, 11: <function TimeDelta_or_None at 0x7f0db02e7150>, 12: <function DateTime_or_None at 0x7f0db02e70d0>, 13: <type 'int'>, 15: [(128, <type 'str'>)], 246: <class 'decimal.Decimal'>, 248: <function Str2Set at 0x7f0daaab0b50>, 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 0x7f0daaab0ed0>, <type 'array.array'>: <function array2Str at 0x7f0daaab1050>, <type 'datetime.date'>: <function Thing2Literal at 0x7f0daaab0e50>, <type 'datetime.datetime'>: <function DateTime2literal at 0x7f0db02e72d0>, <type 'datetime.timedelta'>: <function DateTimeDelta2literal at 0x7f0db02e7350>, <type 'bool'>: <function Bool2Str at 0x7f0daaab0ad0>, <type 'float'>: <function Float2Str at 0x7f0daaab0d50>, <type 'int'>: <function Thing2Str at 0x7f0daaab0c50>, <type 'long'>: <function Thing2Str at 0x7f0daaab0c50>, <type 'NoneType'>: <function None2NULL at 0x7f0daaab0dd0>, <type 'set'>: <function Set2Str at 0x7f0daaab0bd0>, <type 'str'>: <function Thing2Literal at 0x7f0daaab0e50>, <type 'unicode'>: <function Unicode2Str at 0x7f0daaab0cd0>} |
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 0x7f0db02e73d0>, 8: <type 'long'>, 9: <type 'int'>, 10: <function Date_or_None at 0x7f0db02e7250>, 11: <function TimeDelta_or_None at 0x7f0db02e7150>, 12: <function DateTime_or_None at 0x7f0db02e70d0>, 13: <type 'int'>, 15: [(128, <type 'str'>)], 246: <class 'decimal.Decimal'>, 248: <function Str2Set at 0x7f0daaab0b50>, 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 0x7f0daaab0ed0>, <type 'array.array'>: <function array2Str at 0x7f0daaab1050>, <type 'datetime.date'>: <function Thing2Literal at 0x7f0daaab0e50>, <type 'datetime.datetime'>: <function DateTime2literal at 0x7f0db02e72d0>, <type 'datetime.timedelta'>: <function DateTimeDelta2literal at 0x7f0db02e7350>, <type 'bool'>: <function Bool2Str at 0x7f0daaab0ad0>, <type 'float'>: <function Float2Str at 0x7f0daaab0d50>, <type 'int'>: <function Thing2Str at 0x7f0daaab0c50>, <type 'long'>: <function Thing2Str at 0x7f0daaab0c50>, <type 'NoneType'>: <function None2NULL at 0x7f0daaab0dd0>, <type 'set'>: <function Set2Str at 0x7f0daaab0bd0>, <type 'str'>: <function Thing2Literal at 0x7f0daaab0e50>, <type 'unicode'>: <function Unicode2Str at 0x7f0daaab0cd0>} |
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 0x7f0db02e73d0>, 8: <type 'long'>, 9: <type 'int'>, 10: <function Date_or_None at 0x7f0db02e7250>, 11: <function TimeDelta_or_None at 0x7f0db02e7150>, 12: <function DateTime_or_None at 0x7f0db02e70d0>, 13: <type 'int'>, 15: [(128, <type 'str'>)], 246: <class 'decimal.Decimal'>, 248: <function Str2Set at 0x7f0daaab0b50>, 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 0x7f0daaab0ed0>, <type 'array.array'>: <function array2Str at 0x7f0daaab1050>, <type 'datetime.date'>: <function Thing2Literal at 0x7f0daaab0e50>, <type 'datetime.datetime'>: <function DateTime2literal at 0x7f0db02e72d0>, <type 'datetime.timedelta'>: <function DateTimeDelta2literal at 0x7f0db02e7350>, <type 'bool'>: <function Bool2Str at 0x7f0daaab0ad0>, <type 'float'>: <function Float2Str at 0x7f0daaab0d50>, <type 'int'>: <function Thing2Str at 0x7f0daaab0c50>, <type 'long'>: <function Thing2Str at 0x7f0daaab0c50>, <type 'NoneType'>: <function None2NULL at 0x7f0daaab0dd0>, <type 'set'>: <function Set2Str at 0x7f0daaab0bd0>, <type 'str'>: <function Thing2Literal at 0x7f0daaab0e50>, <type 'unicode'>: <function Unicode2Str at 0x7f0daaab0cd0>} |
cursorclass | <class 'MySQLdb.cursors.Cursor'> |
k | 254 |
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 0x7f0db02e73d0>, 8: <type 'long'>, 9: <type 'int'>, 10: <function Date_or_None at 0x7f0db02e7250>, 11: <function TimeDelta_or_None at 0x7f0db02e7150>, 12: <function DateTime_or_None at 0x7f0db02e70d0>, 13: <type 'int'>, 15: [(128, <type 'str'>)], 246: <class 'decimal.Decimal'>, 248: <function Str2Set at 0x7f0daaab0b50>, 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 0x7f0daaab0ed0>, <type 'array.array'>: <function array2Str at 0x7f0daaab1050>, <type 'datetime.date'>: <function Thing2Literal at 0x7f0daaab0e50>, <type 'datetime.datetime'>: <function DateTime2literal at 0x7f0db02e72d0>, <type 'datetime.timedelta'>: <function DateTimeDelta2literal at 0x7f0db02e7350>, <type 'bool'>: <function Bool2Str at 0x7f0daaab0ad0>, <type 'float'>: <function Float2Str at 0x7f0daaab0d50>, <type 'int'>: <function Thing2Str at 0x7f0daaab0c50>, <type 'long'>: <function Thing2Str at 0x7f0daaab0c50>, <type 'NoneType'>: <function None2NULL at 0x7f0daaab0dd0>, <type 'set'>: <function Set2Str at 0x7f0daaab0bd0>, <type 'str'>: <function Thing2Literal at 0x7f0daaab0e50>, <type 'unicode'>: <function Unicode2Str at 0x7f0daaab0cd0>}, '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 55dd6ccb2c60> |
sql_mode | '' |
use_unicode | False |
v | [(128, <type 'str'>)] |
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/s2s-prod' |
HTTP_USER_AGENT | 'claudebot' |
HTTP_X_FORWARDED_FOR | '3.239.57.87' |
HTTP_X_FORWARDED_HOST | 'apps-dev.ecmwf.int' |
HTTP_X_FORWARDED_PORT | '443' |
HTTP_X_FORWARDED_PROTO | 'https' |
HTTP_X_REAL_IP | '3.239.57.87' |
PATH_INFO | u'/datasets/history/s2s-prod/' |
QUERY_STRING | '' |
REMOTE_ADDR | '3.239.57.87' |
REQUEST_METHOD | 'GET' |
REQUEST_URI | '/datasets/history/s2s-prod/' |
SCRIPT_NAME | u'' |
SERVER_NAME | 'django-59b7855c75-p54bw' |
SERVER_PORT | '8001' |
SERVER_PROTOCOL | 'HTTP/1.1' |
uwsgi.node | 'django-59b7855c75-p54bw' |
uwsgi.version | '2.0.23' |
wsgi.errors | <open file 'wsgi_errors', mode 'w' at 0x7f0db3cfb390> |
wsgi.file_wrapper | '' |
wsgi.input | <uwsgi._Input object at 0x7f0da867e310> |
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 0x7f0db0af2e50> |
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.