PEP8 clean-up

This commit is contained in:
Florent Lebreton
2013-11-20 15:52:21 +01:00
parent 7666e781e5
commit 5c7f1d7037
12 changed files with 57 additions and 47 deletions

View File

@@ -4,11 +4,12 @@
""" """
import json import json
from django.db import models from django.db import models
from django.core import validators
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from .forms import (JSignatureField as JSignatureFormField, from .forms import (
JSignatureField as JSignatureFormField,
JSIGNATURE_EMPTY_VALUES) JSIGNATURE_EMPTY_VALUES)
class JSignatureField(models.Field): class JSignatureField(models.Field):
""" """
A model field handling a signature captured with jSignature A model field handling a signature captured with jSignature

View File

@@ -10,6 +10,7 @@ from .widgets import JSignatureWidget
JSIGNATURE_EMPTY_VALUES = validators.EMPTY_VALUES + ('[]', ) JSIGNATURE_EMPTY_VALUES = validators.EMPTY_VALUES + ('[]', )
class JSignatureField(Field): class JSignatureField(Field):
""" """
A field handling a signature capture field with with jSignature A field handling a signature capture field with with jSignature
@@ -18,8 +19,8 @@ class JSignatureField(Field):
def to_python(self, value): def to_python(self, value):
""" """
Validates that the input can be red as a JSON object. Returns a Python Validates that the input can be red as a JSON object.
datetime.date object. Returns a Python list (JSON object unserialized).
""" """
if value in JSIGNATURE_EMPTY_VALUES: if value in JSIGNATURE_EMPTY_VALUES:
return None return None

View File

@@ -7,6 +7,7 @@ from django.db import models
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
from .fields import JSignatureField from .fields import JSignatureField
class JSignatureFieldsMixin(models.Model): class JSignatureFieldsMixin(models.Model):
""" Mixin class providing fields to store a signature with jSignature """ """ Mixin class providing fields to store a signature with jSignature """
signature = JSignatureField( signature = JSignatureField(
@@ -24,7 +25,7 @@ class JSignatureFieldsMixin(models.Model):
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
is_new = self.pk is None is_new = self.pk is None
original = not is_new and self.__class__.objects.get(pk=self.pk) or None original = not is_new and self.__class__.objects.get(pk=self.pk)
if self.signature: if self.signature:
if is_new or self.signature != original.signature: if is_new or self.signature != original.signature:

View File

@@ -1,12 +1,19 @@
from django.conf import settings from django.conf import settings
JSIGNATURE_WIDTH = getattr(settings, 'JSIGNATURE_WIDTH', 'ratio') JSIGNATURE_WIDTH = getattr(
JSIGNATURE_HEIGHT = getattr(settings, 'JSIGNATURE_HEIGHT', 'ratio') settings, 'JSIGNATURE_WIDTH', 'ratio')
JSIGNATURE_COLOR = getattr(settings, 'JSIGNATURE_COLOR', '#000') JSIGNATURE_HEIGHT = getattr(
JSIGNATURE_BACKGROUND_COLOR = getattr(settings, 'JSIGNATURE_BACKGROUND_COLOR', '#FFF') settings, 'JSIGNATURE_HEIGHT', 'ratio')
JSIGNATURE_DECOR_COLOR = getattr(settings, 'JSIGNATURE_DECOR_COLOR', '#DDD') JSIGNATURE_COLOR = getattr(
JSIGNATURE_LINE_WIDTH = getattr(settings, 'JSIGNATURE_LINE_WIDTH', 0) settings, 'JSIGNATURE_COLOR', '#000')
JSIGNATURE_UNDO_BUTTON = getattr(settings, 'JSIGNATURE_UNDO_BUTTON', False) JSIGNATURE_BACKGROUND_COLOR = getattr(
settings, 'JSIGNATURE_BACKGROUND_COLOR', '#FFF')
JSIGNATURE_DECOR_COLOR = getattr(
settings, 'JSIGNATURE_DECOR_COLOR', '#DDD')
JSIGNATURE_LINE_WIDTH = getattr(
settings, 'JSIGNATURE_LINE_WIDTH', 0)
JSIGNATURE_UNDO_BUTTON = getattr(
settings, 'JSIGNATURE_UNDO_BUTTON', False)
JSIGNATURE_DEFAULT_CONFIG = { JSIGNATURE_DEFAULT_CONFIG = {
'width': JSIGNATURE_WIDTH, 'width': JSIGNATURE_WIDTH,

View File

@@ -1,9 +1,7 @@
import json import json
import django
from django.test import SimpleTestCase from django.test import SimpleTestCase
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from ..widgets import JSignatureWidget
from ..fields import JSignatureField from ..fields import JSignatureField
from ..forms import JSignatureField as JSignatureFormField from ..forms import JSignatureField as JSignatureFormField
@@ -44,4 +42,5 @@ class JSignatureFieldTest(SimpleTestCase):
def test_formfield(self): def test_formfield(self):
f = JSignatureField() f = JSignatureField()
self.assertTrue(issubclass(f.formfield().__class__, JSignatureFormField)) cls = f.formfield().__class__
self.assertTrue(issubclass(cls, JSignatureFormField))

View File

@@ -1,5 +1,3 @@
import json
import django
from django.test import SimpleTestCase from django.test import SimpleTestCase
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError

View File

@@ -1,11 +1,8 @@
import json from datetime import date
import django
from datetime import datetime, date
from django.conf import settings from django.conf import settings
from django.db.models import loading from django.db.models import loading
from django.test import SimpleTestCase from django.test import SimpleTestCase
from django.core.management import call_command from django.core.management import call_command
from django.core.exceptions import ValidationError
from .models import JSignatureTestModel from .models import JSignatureTestModel
@@ -41,7 +38,8 @@ class JSignatureFieldsMixinTest(SimpleTestCase):
# If signature changes, signature date must be updated too # If signature changes, signature date must be updated too
new_signature_value = [{"x": [5, 6], "y": [7, 8]}] new_signature_value = [{"x": [5, 6], "y": [7, 8]}]
i = JSignatureTestModel(signature=signature_value, signature_date=date(2013, 1, 1)) i = JSignatureTestModel(signature=signature_value,
signature_date=date(2013, 1, 1))
i.save() i.save()
i.signature_date = date(2013, 1, 1) i.signature_date = date(2013, 1, 1)
i.signature = new_signature_value i.signature = new_signature_value

View File

@@ -1,5 +1,6 @@
""" Provides a dummy model implementing JSignatureFieldsMixin """ """ Provides a dummy model implementing JSignatureFieldsMixin """
from ..mixins import JSignatureFieldsMixin from ..mixins import JSignatureFieldsMixin
class JSignatureTestModel(JSignatureFieldsMixin): class JSignatureTestModel(JSignatureFieldsMixin):
pass pass

View File

@@ -6,9 +6,11 @@ from django.test import SimpleTestCase
from ..utils import draw_signature from ..utils import draw_signature
DUMMY_VALUE = [{"x":[205,210],"y":[59,63]},{"x":[205,207],"y":[67,64]}] DUMMY_VALUE = [{"x": [205, 210], "y": [59, 63]},
{"x": [205, 207], "y": [67, 64]}]
DUMMY_STR_VALUE = json.dumps(DUMMY_VALUE) DUMMY_STR_VALUE = json.dumps(DUMMY_VALUE)
class UtilsTest(SimpleTestCase): class UtilsTest(SimpleTestCase):
def test_inputs(self): def test_inputs(self):

View File

@@ -1,5 +1,4 @@
import json import json
import django
from django.test import SimpleTestCase from django.test import SimpleTestCase
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError

View File

@@ -3,13 +3,12 @@
https://github.com/zivezab/django-autograph/blob/master/autograph/utils.py https://github.com/zivezab/django-autograph/blob/master/autograph/utils.py
""" """
import json import json
import cStringIO
from itertools import chain from itertools import chain
from tempfile import NamedTemporaryFile
from PIL import Image, ImageDraw, ImageOps from PIL import Image, ImageDraw, ImageOps
AA = 5 # super sampling gor antialiasing AA = 5 # super sampling gor antialiasing
def draw_signature(data, as_file=False): def draw_signature(data, as_file=False):
""" Draw signature based on lines stored in json_string. """ Draw signature based on lines stored in json_string.
`data` can be a json object (list in fact) or a json string `data` can be a json object (list in fact) or a json string
@@ -32,7 +31,8 @@ def draw_signature(data, as_file=False):
draw = ImageDraw.Draw(im) draw = ImageDraw.Draw(im)
for line in drawing: for line in drawing:
len_line = len(line['x']) len_line = len(line['x'])
points = [(line['x'][i]*AA, line['y'][i]*AA) for i in range(0, len_line)] points = [(line['x'][i]*AA, line['y'][i]*AA)
for i in range(0, len_line)]
draw.line(points, fill="#000", width=2*AA) draw.line(points, fill="#000", width=2*AA)
im = ImageOps.expand(im) im = ImageOps.expand(im)
# Smart crop # Smart crop
@@ -48,4 +48,3 @@ def draw_signature(data, as_file=False):
ret = im ret = im
return ret return ret

View File

@@ -12,6 +12,7 @@ from jsignature.settings import JSIGNATURE_DEFAULT_CONFIG
JSIGNATURE_EMPTY_VALUES = validators.EMPTY_VALUES + ('[]', ) JSIGNATURE_EMPTY_VALUES = validators.EMPTY_VALUES + ('[]', )
class JSignatureWidget(HiddenInput): class JSignatureWidget(HiddenInput):
""" """
A widget handling a signature capture field with with jSignature A widget handling a signature capture field with with jSignature
@@ -67,9 +68,12 @@ class JSignatureWidget(HiddenInput):
hidden_input = super(JSignatureWidget, self).render(name, value, attrs) hidden_input = super(JSignatureWidget, self).render(name, value, attrs)
div = u'<div id="%s" class="jsign-container"></div>' % jsign_id div = u'<div id="%s" class="jsign-container"></div>' % jsign_id
clr = u'<input type="button" value="%s" class="btn">' % _('Reset') clr = u'<input type="button" value="%s" class="btn">' % _('Reset')
js = u'$("#%s").jSignature(%s);' % (jsign_id, json.dumps(jsignature_config)) js = u'$("#%s").jSignature(%s);' % (
js += u'$("#%s").jSignature("setData", %s,"native");' % (jsign_id, value) jsign_id, json.dumps(jsignature_config))
js += u'$("#%s").jSignature("setData", %s,"native");' % (
jsign_id, value)
js = u'<script type="text/javascript">%s</script>' % js js = u'<script type="text/javascript">%s</script>' % js
out = u'<div class="jsign-wrapper">%s%s%s%s</div>' % (hidden_input, div, clr, js) out = u'<div class="jsign-wrapper">%s%s%s%s</div>' % (
hidden_input, div, clr, js)
return mark_safe(out) return mark_safe(out)