Ошибка типа: неподдерживаемый тип для компонента timedelta секунд: список - PullRequest
0 голосов
/ 03 октября 2019

Я устанавливаю CAS (центральный сервер аутентификации) через https://github.com/jbittel/django-mama-cas и получаю сообщение об ошибке при попытке создать заявку из-за

stderr: TypeError: неподдерживаемый тип дляКомпонент timedelta секунд: список

Я искал, как преобразовать значение объекта модели django в целочисленное значение для функции timedelta (), но мне самому не повезло в этом разобраться.

def create_ticket(self, ticket=None, **kwargs):
        """
        Create a new ``Ticket``. Additional arguments are passed to the
        ``create()`` function. Return the newly created ``Ticket``.
        """
        if not ticket:
            ticket = self.create_ticket_str()
        if 'service' in kwargs:
            kwargs['service'] = clean_service_url(kwargs['service'])
        if 'expires' not in kwargs:
            expires = now() + timedelta(seconds=self.model.TICKET_EXPIRE)
            kwargs['expires'] = expires
        t = self.create(ticket=ticket, **kwargs)
        logger.debug("Created %s %s" % (t.name, t.ticket))
        return t

Ожидаемые результаты: CAS регистрирует меня и перенаправляет обратно в приложение с поддержкой CAS.

Фактические результаты: внутренняя ошибка сервера (500)

App 29175 stderr: [ pid=29175, time=2019-10-03 19:08:25,610 ]: Internal Server Error: /login
App 29175 stderr: Traceback (most recent call last):
App 29175 stderr:   File "/opt/rh/httpd24/root/var/www/public/cas_container/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
App 29175 stderr:     response = get_response(request)
App 29175 stderr:   File "/opt/rh/httpd24/root/var/www/public/cas_container/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
App 29175 stderr:     response = self.process_exception_by_middleware(e, request)
App 29175 stderr:   File "/opt/rh/httpd24/root/var/www/public/cas_container/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
App 29175 stderr:     response = wrapped_callback(request, *callback_args, **callback_kwargs)
App 29175 stderr:   File "/opt/rh/httpd24/root/var/www/public/cas_container/lib/python3.6/site-packages/django/views/generic/base.py", line 71, in view
App 29175 stderr:     return self.dispatch(request, *args, **kwargs)
App 29175 stderr:   File "/opt/rh/httpd24/root/var/www/public/cas_container/lib/python3.6/site-packages/django/utils/decorators.py", line 45, in _wrapper
App 29175 stderr:     return bound_method(*args, **kwargs)
App 29175 stderr:   File "/opt/rh/httpd24/root/var/www/public/cas_container/lib/python3.6/site-packages/django/utils/decorators.py", line 142, in _wrapped_view
App 29175 stderr:     response = view_func(request, *args, **kwargs)
App 29175 stderr:   File "/opt/rh/httpd24/root/var/www/public/cas_container/lib/python3.6/site-packages/mama_cas/mixins.py", line 28, in dispatch
App 29175 stderr:     return super(CsrfProtectMixin, self).dispatch(request, *args, **kwargs)
App 29175 stderr:   File "/opt/rh/httpd24/root/var/www/public/cas_container/lib/python3.6/site-packages/django/utils/decorators.py", line 45, in _wrapper
App 29175 stderr:     return bound_method(*args, **kwargs)
App 29175 stderr:   File "/opt/rh/httpd24/root/var/www/public/cas_container/lib/python3.6/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func
App 29175 stderr:     response = view_func(request, *args, **kwargs)
App 29175 stderr:   File "/opt/rh/httpd24/root/var/www/public/cas_container/lib/python3.6/site-packages/mama_cas/mixins.py", line 13, in dispatch
App 29175 stderr:     return super(NeverCacheMixin, self).dispatch(request, *args, **kwargs)
App 29175 stderr:   File "/opt/rh/httpd24/root/var/www/public/cas_container/lib/python3.6/site-packages/django/views/generic/base.py", line 97, in dispatch
App 29175 stderr:     return handler(request, *args, **kwargs)
App 29175 stderr:   File "/opt/rh/httpd24/root/var/www/public/cas_container/lib/python3.6/site-packages/django/views/generic/edit.py", line 142, in post
App 29175 stderr:     return self.form_valid(form)
App 29175 stderr:   File "/opt/rh/httpd24/root/var/www/public/cas_container/lib/python3.6/site-packages/mama_cas/views.py", line 148, in form_valid
App 29175 stderr:     st = ServiceTicket.objects.create_ticket(service=service, user=self.request.user, primary=True)
App 29175 stderr:   File "/opt/rh/httpd24/root/var/www/public/cas_container/lib/python3.6/site-packages/mama_cas/models.py", line 52, in create_ticket
App 29175 stderr:     expires = now() + timedelta(seconds=self.model.TICKET_EXPIRE)
App 29175 stderr: TypeError: unsupported type for timedelta seconds component: list
...