From 107f7684dfcbcc3d2b35c88d9f7e2c6631221868 Mon Sep 17 00:00:00 2001 From: Dmitriy Shesterkin Date: Mon, 19 Jun 2017 14:17:46 +0300 Subject: [PATCH] def lambda dthandler to def --- src/commons/forms.py | 3 ++- src/commons/models.py | 3 --- src/commons/paginator.py | 15 +++++++++------ src/commons/pdf_tools.py | 9 +++++++-- src/commons/utils.py | 10 +++++++--- src/commons/views.py | 1 - src/commons/xls/xls_to_response.py | 4 +++- src/customer/views/bank_accounts_ajax.py | 4 ++-- src/docs/views/base_views.py | 4 ++-- 9 files changed, 32 insertions(+), 21 deletions(-) delete mode 100644 src/commons/models.py delete mode 100644 src/commons/views.py diff --git a/src/commons/forms.py b/src/commons/forms.py index 5ed7543..7c51287 100644 --- a/src/commons/forms.py +++ b/src/commons/forms.py @@ -18,7 +18,8 @@ class _MySuperForm(object): # Список условно-обязательных полей, у которых нужно установить атрибут required=False. # Полезно, когда какие-то поля становятся обязательны к заполнению в зависимости от значения других полей. - conditional_fields = [] #TODO мигрировать на unset_required + # TODO мигрировать на unset_required + conditional_fields = [] # Список полей, у которых нужно сбросить признак обязательности: required=False. # Полезно, когда в базовой форме определяются какие-то поля, которые в одних унаследованных формах обязательны, diff --git a/src/commons/models.py b/src/commons/models.py deleted file mode 100644 index 71a8362..0000000 --- a/src/commons/models.py +++ /dev/null @@ -1,3 +0,0 @@ -from django.db import models - -# Create your models here. diff --git a/src/commons/paginator.py b/src/commons/paginator.py index c615ade..d4c5374 100644 --- a/src/commons/paginator.py +++ b/src/commons/paginator.py @@ -9,14 +9,15 @@ from commons.utils import safe_int # допустимые значения `per_page` -_ALLOW_PER_PAGE = (10, 20, 50, 75, 100,) # по умолчанию +# по умолчанию +_ALLOW_PER_PAGE = (10, 20, 50, 75, 100,) ALLOW_PER_PAGE = getattr(settings, 'ALLOW_PER_PAGE', _ALLOW_PER_PAGE) class PaginationForm(forms.Form): """Форма для пагинатора со списком допустимых значений `per_page`.""" - per_page = forms.ChoiceField(label=u'записей на странице', choices=zip(ALLOW_PER_PAGE, ALLOW_PER_PAGE), - required=False) + per_page = forms.ChoiceField(label=u'записей на странице', + choices=zip(ALLOW_PER_PAGE, ALLOW_PER_PAGE), required=False) def save_per_page_value(func): @@ -32,7 +33,8 @@ def save_per_page_value(func): per_page = safe_int(request.POST[key]) if per_page in ALLOW_PER_PAGE: if hasattr(output, 'set_cookie'): - max_age = 365*24*60*60 # год + # год + max_age = 365 * 24 * 60 * 60 output.set_cookie(key, per_page, max_age) return output return wrapper @@ -60,7 +62,8 @@ def pagination(request, object_list, page_num=None, form_class=PaginationForm): """Создает и возвращает объект django.core.paginator.Paginator и, если form_class!=None, форму со списком допустимых значений `per_page`. """ - per_page = get_per_page_value(request) # кол-во записей на странице + # кол-во записей на странице + per_page = get_per_page_value(request) # пагинатор paginator = Paginator(object_list, per_page) page_num = max(1, safe_int(page_num, 1)) @@ -71,5 +74,5 @@ def pagination(request, object_list, page_num=None, form_class=PaginationForm): # форма form = None if form_class: - form = PaginationForm(initial={'per_page': per_page,}) + form = PaginationForm(initial={'per_page': per_page}) return objects, form diff --git a/src/commons/pdf_tools.py b/src/commons/pdf_tools.py index 62b128b..7a5e7e1 100644 --- a/src/commons/pdf_tools.py +++ b/src/commons/pdf_tools.py @@ -9,7 +9,9 @@ from django.http import HttpResponse # TODO: merge with src/commons/xls/xls_to_response.py => common def def pdf_to_response(content, filename=None): - """Выводит content в django.http.HttpResponse, который и возвращает.""" + """ + Выводит content в django.http.HttpResponse, который и возвращает. + """ response = HttpResponse(content, content_type='application/pdf') if filename: filename = filename.replace('"', "''") @@ -20,7 +22,10 @@ def pdf_to_response(content, filename=None): def render_pdf_to_string(request, template_name, dictionary=None): - """Рендерит html шаблон в pdf. Возвращает строку, в которой содержится сгенерированный pdf.""" + """ + Рендерит html шаблон в pdf. Возвращает строку, + в которой содержится сгенерированный pdf. + """ template = get_template(template_name) html = template.render(Context(dictionary)) diff --git a/src/commons/utils.py b/src/commons/utils.py index f6b24d1..a1cefbe 100644 --- a/src/commons/utils.py +++ b/src/commons/utils.py @@ -3,7 +3,9 @@ import datetime # convert datetime to json -dthandler = lambda obj: obj.isoformat() if isinstance(obj, datetime.datetime) or isinstance(obj, datetime.date) else None +def dthandler(): + return lambda obj: obj.isoformat() if \ + isinstance(obj, datetime.datetime) or isinstance(obj, datetime.date) else None def safe_int(value, default=None): @@ -15,5 +17,7 @@ def safe_int(value, default=None): def only_numerics(value): - """Убирает из переданной строки все не цифровые символы.""" - return u''.join(c for c in value if c.isdigit()) + """ + Убирает из переданной строки все не цифровые символы. + """ + return u''.join(c for c in value if c.isdigit()) diff --git a/src/commons/views.py b/src/commons/views.py deleted file mode 100644 index 60f00ef..0000000 --- a/src/commons/views.py +++ /dev/null @@ -1 +0,0 @@ -# Create your views here. diff --git a/src/commons/xls/xls_to_response.py b/src/commons/xls/xls_to_response.py index 75567b0..b50523f 100644 --- a/src/commons/xls/xls_to_response.py +++ b/src/commons/xls/xls_to_response.py @@ -4,7 +4,9 @@ from django.http import HttpResponse def xls_to_response(content, filename=None): - """Выводит content в django.http.HttpResponse, который и возвращает.""" + """ + Выводит content в django.http.HttpResponse, который и возвращает. + """ response = HttpResponse(content, content_type='application/ms-excel') if filename: filename = filename.replace('"', "''") diff --git a/src/customer/views/bank_accounts_ajax.py b/src/customer/views/bank_accounts_ajax.py index 26057bb..092ed63 100644 --- a/src/customer/views/bank_accounts_ajax.py +++ b/src/customer/views/bank_accounts_ajax.py @@ -31,7 +31,7 @@ def bank_accounts_list_ajax(request): a['edit_url'] = reverse('customer_bank_accounts_edit', kwargs={'id': a['pk']}) a['delete_url'] = reverse('customer_bank_accounts_delete', kwargs={'id': a['pk']}) - data = json.dumps(list(accounts), default=dthandler) + data = json.dumps(list(accounts), default=dthandler()) return HttpResponse(data, content_type='application/json') @@ -54,7 +54,7 @@ def bank_accounts_get_ajax(request, id): account = get_object_or_404(models.BankAccount.objects.values(*fields_list), pk=id, company=request.user.profile) - data = json.dumps(account, default=dthandler) + data = json.dumps(account, default=dthandler()) return HttpResponse(data, content_type='application/json') diff --git a/src/docs/views/base_views.py b/src/docs/views/base_views.py index 44fe175..ce153e8 100644 --- a/src/docs/views/base_views.py +++ b/src/docs/views/base_views.py @@ -599,7 +599,7 @@ class BaseViews(object): 'form_errors': non_field_errors, # ошибки формы } if form.is_valid() and result: - data['message'] = {'title': 'Инфо', 'msg': 'Письмо отправлено.',} + data['message'] = {'title': 'Инфо', 'msg': 'Письмо отправлено.'} return HttpResponse(json.dumps(data), content_type='application/json') @@ -608,7 +608,7 @@ class BaseViews(object): if not self.request.is_ajax(): return HttpResponseBadRequest() obj = self.get_obj(kwargs['id'], only_form_fields=True) - data = json.dumps(obj, default=dthandler) + data = json.dumps(obj, default=dthandler()) return HttpResponse(data, content_type='application/json') # -----------------------------------------------------------------------------