Bladeren bron

Pylint house-keeping

master
David Winterbottom 13 jaren geleden
bovenliggende
commit
436f608aa6

+ 41
- 24
oscar/apps/voucher/abstract_models.py Bestand weergeven

@@ -16,28 +16,36 @@ class AbstractVoucher(models.Model):
16 16
     (c) Once per customer
17 17
     """
18 18
     name = models.CharField(_("Name"), max_length=128,
19
-        help_text=_("""This will be shown in the checkout and basket once the voucher is entered"""))
20
-    code = models.CharField(_("Code"), max_length=128, db_index=True, unique=True,
19
+        help_text=_("This will be shown in the checkout and basket "
20
+                    "once the voucher is entered"))
21
+    code = models.CharField(_("Code"), max_length=128,
22
+                            db_index=True, unique=True,
21 23
         help_text=_("""Case insensitive / No spaces allowed"""))
22
-    offers = models.ManyToManyField('offer.ConditionalOffer', related_name='vouchers', verbose_name=_("Offers"),
23
-                                    limit_choices_to={'offer_type': "Voucher"})
24
+    offers = models.ManyToManyField(
25
+        'offer.ConditionalOffer', related_name='vouchers',
26
+        verbose_name=_("Offers"), limit_choices_to={'offer_type': "Voucher"})
24 27
 
25
-    SINGLE_USE, MULTI_USE, ONCE_PER_CUSTOMER = ('Single use', 'Multi-use', 'Once per customer')
28
+    SINGLE_USE, MULTI_USE, ONCE_PER_CUSTOMER = (
29
+        'Single use', 'Multi-use', 'Once per customer')
26 30
     USAGE_CHOICES = (
27 31
         (SINGLE_USE, _("Can be used once by one customer")),
28 32
         (MULTI_USE, _("Can be used multiple times by multiple customers")),
29 33
         (ONCE_PER_CUSTOMER, _("Can only be used once per customer")),
30 34
     )
31
-    usage = models.CharField(_("Usage"), max_length=128, choices=USAGE_CHOICES, default=MULTI_USE)
35
+    usage = models.CharField(_("Usage"), max_length=128,
36
+                             choices=USAGE_CHOICES, default=MULTI_USE)
32 37
 
33 38
     start_date = models.DateField(_('Start Date'))
34 39
     end_date = models.DateField(_('End Date'))
35 40
 
36 41
     # Audit information
37
-    num_basket_additions = models.PositiveIntegerField(_("Times added to basket"), default=0)
42
+    num_basket_additions = models.PositiveIntegerField(
43
+        _("Times added to basket"), default=0)
38 44
     num_orders = models.PositiveIntegerField(_("Times on orders"), default=0)
39
-    total_discount = models.DecimalField(_("Total discount"), decimal_places=2, max_digits=12, default=Decimal('0.00'))
40
-    
45
+    total_discount = models.DecimalField(
46
+        _("Total discount"), decimal_places=2, max_digits=12,
47
+        default=Decimal('0.00'))
48
+
41 49
     date_created = models.DateField(auto_now_add=True)
42 50
 
43 51
     class Meta:
@@ -50,8 +58,10 @@ class AbstractVoucher(models.Model):
50 58
         return self.name
51 59
 
52 60
     def clean(self):
53
-        if self.start_date and self.end_date and self.start_date > self.end_date:
54
-            raise exceptions.ValidationError(_('End date should be later than start date'))
61
+        if (self.start_date and self.end_date and
62
+            self.start_date > self.end_date):
63
+            raise exceptions.ValidationError(
64
+                _('End date should be later than start date'))
55 65
 
56 66
     def save(self, *args, **kwargs):
57 67
         self.code = self.code.upper()
@@ -68,8 +78,9 @@ class AbstractVoucher(models.Model):
68 78
     def is_available_to_user(self, user=None):
69 79
         """
70 80
         Test whether this voucher is available to the passed user.
71
-        
72
-        Returns a tuple of a boolean for whether it is successulf, and a message
81
+
82
+        Returns a tuple of a boolean for whether it is successulf, and a
83
+        message
73 84
         """
74 85
         is_available, message = False, ''
75 86
         if self.usage == self.SINGLE_USE:
@@ -81,13 +92,16 @@ class AbstractVoucher(models.Model):
81 92
         elif self.usage == self.ONCE_PER_CUSTOMER:
82 93
             if not user.is_authenticated():
83 94
                 is_available = False
84
-                message = _("This voucher is only available to signed in users")
95
+                message = _(
96
+                    "This voucher is only available to signed in users")
85 97
             else:
86
-                is_available = self.applications.filter(voucher=self, user=user).count() == 0
98
+                is_available = self.applications.filter(
99
+                    voucher=self, user=user).count() == 0
87 100
                 if not is_available:
88
-                    message = _("You have already used this voucher in a previous order")
101
+                    message = _("You have already used this voucher in "
102
+                                "a previous order")
89 103
         return is_available, message
90
-    
104
+
91 105
     def record_usage(self, order, user):
92 106
         """
93 107
         Records a usage of this voucher in an order.
@@ -109,17 +123,20 @@ class AbstractVoucher(models.Model):
109 123
     @property
110 124
     def benefit(self):
111 125
         return self.offers.all()[0].benefit
112
-        
113
-        
126
+
127
+
114 128
 class AbstractVoucherApplication(models.Model):
115 129
     """
116 130
     For tracking how often a voucher has been used
117 131
     """
118
-    voucher = models.ForeignKey('voucher.Voucher', related_name="applications", verbose_name=_("Voucher"))
119
-
120
-    # It is possible for an anonymous user to apply a voucher so we need to allow
121
-    # the user to be nullable
122
-    user = models.ForeignKey('auth.User', blank=True, null=True, verbose_name=_("User"))
132
+    voucher = models.ForeignKey(
133
+        'voucher.Voucher', related_name="applications",
134
+        verbose_name=_("Voucher"))
135
+
136
+    # It is possible for an anonymous user to apply a voucher so we need to
137
+    # allow the user to be nullable
138
+    user = models.ForeignKey('auth.User', blank=True, null=True,
139
+                             verbose_name=_("User"))
123 140
     order = models.ForeignKey('order.Order', verbose_name=_("Order"))
124 141
     date_created = models.DateField(_("Date Creted"), auto_now_add=True)
125 142
 

+ 9
- 11
oscar/apps/voucher/admin.py Bestand weergeven

@@ -4,27 +4,25 @@ from django.db.models import get_model
4 4
 Voucher = get_model('voucher', 'Voucher')
5 5
 VoucherApplication = get_model('voucher', 'VoucherApplication')
6 6
 
7
-    
7
+
8 8
 class VoucherAdmin(admin.ModelAdmin):
9
-    list_display = ('name', 'code', 'usage', 'num_basket_additions', 'num_orders', 'total_discount')    
9
+    list_display = ('name', 'code', 'usage', 'num_basket_additions',
10
+                    'num_orders', 'total_discount')
10 11
     readonly_fields = ('num_basket_additions', 'num_orders', 'total_discount')
11 12
     fieldsets = (
12 13
         (None, {
13
-            'fields': ('name', 'code', 'usage', 'start_date', 'end_date')
14
-        }),
14
+            'fields': ('name', 'code', 'usage', 'start_date', 'end_date')}),
15 15
         ('Benefit', {
16
-            'fields': ('offers',)
17
-        }),
16
+            'fields': ('offers',)}),
18 17
         ('Usage', {
19
-            'fields': ('num_basket_additions', 'num_orders', 'total_discount')
20
-        }),
21
-        
18
+            'fields': ('num_basket_additions', 'num_orders',
19
+                       'total_discount')}),
22 20
     )
23
-    
21
+
24 22
 
25 23
 class VoucherApplicationAdmin(admin.ModelAdmin):
26 24
     list_display = ('voucher', 'user', 'order', 'date_created')
27
-    readonly_fields = ('voucher', 'user', 'order')        
25
+    readonly_fields = ('voucher', 'user', 'order')
28 26
 
29 27
 
30 28
 admin.site.register(Voucher, VoucherAdmin)

+ 2
- 1
oscar/apps/voucher/models.py Bestand weergeven

@@ -1,4 +1,5 @@
1
-from oscar.apps.voucher.abstract_models import AbstractVoucher, AbstractVoucherApplication
1
+from oscar.apps.voucher.abstract_models import (
2
+    AbstractVoucher, AbstractVoucherApplication)
2 3
 
3 4
 
4 5
 class Voucher(AbstractVoucher):

+ 5
- 4
oscar/apps/voucher/reports.py Bestand weergeven

@@ -6,8 +6,10 @@ from django.utils.translation import ugettext_lazy as _
6 6
 from oscar.core.loading import get_class
7 7
 
8 8
 ReportGenerator = get_class('dashboard.reports.reports', 'ReportGenerator')
9
-ReportCSVFormatter = get_class('dashboard.reports.reports', 'ReportCSVFormatter')
10
-ReportHTMLFormatter = get_class('dashboard.reports.reports', 'ReportHTMLFormatter')
9
+ReportCSVFormatter = get_class(
10
+    'dashboard.reports.reports', 'ReportCSVFormatter')
11
+ReportHTMLFormatter = get_class(
12
+    'dashboard.reports.reports', 'ReportHTMLFormatter')
11 13
 Voucher = get_model('voucher', 'Voucher')
12 14
 
13 15
 
@@ -41,8 +43,7 @@ class VoucherReportGenerator(ReportGenerator):
41 43
 
42 44
     formatters = {
43 45
         'CSV_formatter': VoucherReportCSVFormatter,
44
-        'HTML_formatter': VoucherReportHTMLFormatter
45
-    }
46
+        'HTML_formatter': VoucherReportHTMLFormatter}
46 47
 
47 48
     def generate(self):
48 49
         vouchers = Voucher._default_manager.all()

+ 2
- 1
oscar/test/__init__.py Bestand weergeven

@@ -65,7 +65,8 @@ class ClientTestCase(TestCase):
65 65
         self.assertEqual(httplib.OK, response.status_code)
66 66
 
67 67
     def assertInContext(self, response, key):
68
-        self.assertTrue(key in response.context, "Context should contain a variable '%s'" % key)
68
+        self.assertTrue(key in response.context,
69
+                        "Context should contain a variable '%s'" % key)
69 70
 
70 71
 
71 72
 class WebTestCase(WebTest):

+ 9
- 7
oscar/test/decorators.py Bestand weergeven

@@ -1,15 +1,17 @@
1 1
 def dataProvider(fn_data_provider):
2 2
     """
3
-    Data provider decorator, allows another callable to provide the data for the test.  
4
-    This is a nice feature from PHPUnit which is very useful.  Am sticking with the JUnit style
5
-    naming as unittest does this already.
6
-    
7
-    Implementation based on http://melp.nl/2011/02/phpunit-style-dataprovider-in-python-unit-test/#more-525
3
+    Data provider decorator, allows another callable to provide the data for
4
+    the test.  This is a nice feature from PHPUnit which is very useful.  Am
5
+    sticking with the JUnit style naming as unittest does this already.
6
+
7
+    Implementation based on
8
+    http://melp.nl/2011/02/phpunit-style-dataprovider-in-python-unit-test/#more-525
8 9
     """
9 10
     def test_decorator(test_method):
10 11
         def execute_test_method_with_each_data_set(self):
11 12
             for data in fn_data_provider():
12
-                if len(data) == 2 and isinstance(data[0], tuple) and isinstance(data[1], dict):
13
+                if (len(data) == 2 and isinstance(data[0], tuple) and
14
+                    isinstance(data[1], dict)):
13 15
                     # Both args and kwargs being provided
14 16
                     args, kwargs = data[:]
15 17
                 else:
@@ -19,4 +21,4 @@ def dataProvider(fn_data_provider):
19 21
                 except AssertionError, e:
20 22
                     self.fail("%s (Provided data: %s, %s)" % (e, args, kwargs))
21 23
         return execute_test_method_with_each_data_set
22
-    return test_decorator
24
+    return test_decorator

+ 19
- 14
oscar/test/helpers.py Bestand weergeven

@@ -8,7 +8,8 @@ Basket = get_class('basket.models', 'Basket')
8 8
 Free = get_class('shipping.methods', 'Free')
9 9
 Voucher = get_class('voucher.models', 'Voucher')
10 10
 OrderCreator = get_class('order.utils', 'OrderCreator')
11
-OrderTotalCalculator = get_class('checkout.calculators', 'OrderTotalCalculator')
11
+OrderTotalCalculator = get_class('checkout.calculators',
12
+                                 'OrderTotalCalculator')
12 13
 Partner, StockRecord = get_classes('partner.models', ('Partner',
13 14
                                                       'StockRecord'))
14 15
 (ProductClass,
@@ -26,13 +27,14 @@ Partner, StockRecord = get_classes('partner.models', ('Partner',
26 27
                                          'Condition', 'Benefit'))
27 28
 
28 29
 
29
-def create_product(price=None, title="Dummy title", product_class="Dummy item class",
30
+def create_product(price=None, title="Dummy title",
31
+                   product_class="Dummy item class",
30 32
         partner="Dummy partner", partner_sku=None, upc=None, num_in_stock=10,
31 33
         attributes=None, **kwargs):
32 34
     """
33 35
     Helper method for creating products that are used in tests.
34 36
     """
35
-    ic,_ = ProductClass._default_manager.get_or_create(name=product_class)
37
+    ic, __ = ProductClass._default_manager.get_or_create(name=product_class)
36 38
     item = Product._default_manager.create(title=title, product_class=ic,
37 39
                                            upc=upc, **kwargs)
38 40
     if price is not None or partner_sku or num_in_stock is not None:
@@ -41,20 +43,24 @@ def create_product(price=None, title="Dummy title", product_class="Dummy item cl
41 43
         if price is None:
42 44
             price = D('10.00')
43 45
 
44
-        partner,_ = Partner._default_manager.get_or_create(name=partner)
46
+        partner, __ = Partner._default_manager.get_or_create(name=partner)
45 47
         StockRecord._default_manager.create(product=item, partner=partner,
46 48
                                             partner_sku=partner_sku,
47
-                                            price_excl_tax=price, num_in_stock=num_in_stock)
49
+                                            price_excl_tax=price,
50
+                                            num_in_stock=num_in_stock)
48 51
     if attributes:
49 52
         for key, value in attributes.items():
50
-            attr,_ = ProductAttribute.objects.get_or_create(name=key, code=key)
51
-            ProductAttributeValue.objects.create(product=item, attribute=attr, value=value)
53
+            attr, __ = ProductAttribute.objects.get_or_create(
54
+                name=key, code=key)
55
+            ProductAttributeValue.objects.create(
56
+                product=item, attribute=attr, value=value)
52 57
 
53 58
     return item
54 59
 
55 60
 
56
-def create_order(number=None, basket=None, user=None, shipping_address=None, shipping_method=None,
57
-        billing_address=None, total_incl_tax=None, total_excl_tax=None, **kwargs):
61
+def create_order(number=None, basket=None, user=None, shipping_address=None,
62
+                 shipping_method=None, billing_address=None,
63
+                 total_incl_tax=None, total_excl_tax=None, **kwargs):
58 64
     """
59 65
     Helper method for creating an order for testing
60 66
     """
@@ -87,7 +93,8 @@ def create_offer():
87 93
     """
88 94
     Helper method for creating an offer
89 95
     """
90
-    range = Range.objects.create(name="All products range", includes_all_products=True)
96
+    range = Range.objects.create(name="All products range",
97
+                                 includes_all_products=True)
91 98
     condition = Condition.objects.create(range=range,
92 99
                                          type=Condition.COUNT,
93 100
                                          value=1)
@@ -98,8 +105,7 @@ def create_offer():
98 105
         name='Dummy offer',
99 106
         offer_type='Site',
100 107
         condition=condition,
101
-        benefit=benefit
102
-    )
108
+        benefit=benefit)
103 109
     return offer
104 110
 
105 111
 
@@ -111,7 +117,6 @@ def create_voucher():
111 117
         name="Test voucher",
112 118
         code="test",
113 119
         start_date=datetime.date.today(),
114
-        end_date=datetime.date.today() + datetime.timedelta(days=12)
115
-    )
120
+        end_date=datetime.date.today() + datetime.timedelta(days=12))
116 121
     voucher.offers.add(create_offer())
117 122
     return voucher

+ 4
- 2
oscar/views/generic.py Bestand weergeven

@@ -15,7 +15,8 @@ class PostActionMixin(object):
15 15
         if 'action' in self.request.POST:
16 16
             model = self.get_object()
17 17
             # The do_* method is required to do what it needs to with the model
18
-            # it is passed, and then to assign the HTTP response to self.response.
18
+            # it is passed, and then to assign the HTTP response to
19
+            # self.response.
19 20
             method_name = "do_%s" % self.request.POST['action'].lower()
20 21
             if hasattr(self, method_name):
21 22
                 getattr(self, method_name)(model)
@@ -70,7 +71,8 @@ class BulkEditMixin(object):
70 71
         ids = map(int, ids)
71 72
         if not ids:
72 73
             messages.error(
73
-                self.request, _("You need to select some %ss") % self.get_checkbox_object_name())
74
+                self.request,
75
+                _("You need to select some %ss") % self.get_checkbox_object_name())
74 76
             return HttpResponseRedirect(self.get_error_url(request))
75 77
 
76 78
         objects = self.get_objects(ids)

Laden…
Annuleren
Opslaan