Commits

Mark Lavin committed 28b48cc

Enforce default SELECTABLE_MAX_LIMIT to reduce future hasattr/getattr calls.

Comments (0)

Files changed (2)

selectable/forms/base.py

 
 __all__ = ('BaseLookupForm', )
 
-DEFAULT_LIMIT = getattr(settings, 'SELECTABLE_MAX_LIMIT', 25)
-
 
 class BaseLookupForm(forms.Form):
     term = forms.CharField(required=False)
     def clean_limit(self):
         "Ensure given limit is less than default if defined"
         limit = self.cleaned_data.get('limit', None)
-        if DEFAULT_LIMIT and (not limit or limit > DEFAULT_LIMIT):
-            limit = DEFAULT_LIMIT
+        if (settings.SELECTABLE_MAX_LIMIT is not None and 
+            (not limit or limit > settings.SELECTABLE_MAX_LIMIT)):
+            limit = settings.SELECTABLE_MAX_LIMIT
         return limit

selectable/models.py

-from django.db import models
+from django.conf import settings
 
-# Create your models here.
+# Set default settings
+if not hasattr(settings, 'SELECTABLE_MAX_LIMIT'):
+    settings.SELECTABLE_MAX_LIMIT = 25
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.