mirror of
https://github.com/pretix/pretix.git
synced 2026-05-09 15:54:03 +00:00
Use inspect instead of TypeError for backwards-compatible APIs
This commit is contained in:
@@ -1,3 +1,4 @@
|
|||||||
|
import inspect
|
||||||
import logging
|
import logging
|
||||||
import smtplib
|
import smtplib
|
||||||
import warnings
|
import warnings
|
||||||
@@ -177,9 +178,9 @@ def mail(email: str, subject: str, template: Union[str, LazyI18nString],
|
|||||||
body_plain += "\r\n"
|
body_plain += "\r\n"
|
||||||
|
|
||||||
try:
|
try:
|
||||||
try:
|
if 'position' in inspect.signature(renderer.render).parameters:
|
||||||
body_html = renderer.render(content_plain, signature, str(subject), order, position)
|
body_html = renderer.render(content_plain, signature, str(subject), order, position)
|
||||||
except TypeError:
|
else:
|
||||||
# Backwards compatibility
|
# Backwards compatibility
|
||||||
warnings.warn('E-mail renderer called without position argument because position argument is not '
|
warnings.warn('E-mail renderer called without position argument because position argument is not '
|
||||||
'supported.',
|
'supported.',
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import inspect
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
@@ -513,9 +514,9 @@ class PaymentStep(QuestionsViewMixin, CartMixin, TemplateFlowStep):
|
|||||||
if not provider.is_enabled or not self._is_allowed(provider, self.request):
|
if not provider.is_enabled or not self._is_allowed(provider, self.request):
|
||||||
continue
|
continue
|
||||||
fee = provider.calculate_fee(self._total_order_value)
|
fee = provider.calculate_fee(self._total_order_value)
|
||||||
try:
|
if 'total' in inspect.signature(provider.payment_form_render).parameters:
|
||||||
form = provider.payment_form_render(self.request, self._total_order_value + fee)
|
form = provider.payment_form_render(self.request, self._total_order_value + fee)
|
||||||
except TypeError:
|
else:
|
||||||
form = provider.payment_form_render(self.request)
|
form = provider.payment_form_render(self.request)
|
||||||
providers.append({
|
providers.append({
|
||||||
'provider': provider,
|
'provider': provider,
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import inspect
|
||||||
import mimetypes
|
import mimetypes
|
||||||
import os
|
import os
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
@@ -306,9 +307,9 @@ class OrderPaymentStart(EventViewMixin, OrderDetailMixin, TemplateView):
|
|||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
def form(self):
|
def form(self):
|
||||||
try:
|
if 'total' in inspect.signature(self.payment.payment_provider.payment_form_render).parameters:
|
||||||
return self.payment.payment_provider.payment_form_render(self.request, self.payment.amount)
|
return self.payment.payment_provider.payment_form_render(self.request, self.payment.amount)
|
||||||
except TypeError:
|
else:
|
||||||
return self.payment.payment_provider.payment_form_render(self.request)
|
return self.payment.payment_provider.payment_form_render(self.request)
|
||||||
|
|
||||||
@cached_property
|
@cached_property
|
||||||
@@ -521,9 +522,9 @@ class OrderPayChangeMethod(EventViewMixin, OrderDetailMixin, TemplateView):
|
|||||||
continue
|
continue
|
||||||
current_fee = sum(f.value for f in self.open_fees) or Decimal('0.00')
|
current_fee = sum(f.value for f in self.open_fees) or Decimal('0.00')
|
||||||
fee = provider.calculate_fee(pending_sum - current_fee)
|
fee = provider.calculate_fee(pending_sum - current_fee)
|
||||||
try:
|
if 'total' in inspect.signature(provider.payment_form_render).parameters:
|
||||||
form = provider.payment_form_render(self.request, abs(pending_sum + fee - current_fee))
|
form = provider.payment_form_render(self.request, abs(pending_sum + fee - current_fee))
|
||||||
except TypeError:
|
else:
|
||||||
form = provider.payment_form_render(self.request)
|
form = provider.payment_form_render(self.request)
|
||||||
providers.append({
|
providers.append({
|
||||||
'provider': provider,
|
'provider': provider,
|
||||||
|
|||||||
Reference in New Issue
Block a user