Removed Sobol's automatic use of eventlet. Adjusted imports project-wide to conform...
authorStephen Burrows <stephen.r.burrows@gmail.com>
Mon, 9 May 2011 14:26:26 +0000 (10:26 -0400)
committerStephen Burrows <stephen.r.burrows@gmail.com>
Mon, 9 May 2011 14:27:44 +0000 (10:27 -0400)
38 files changed:
philo/admin/base.py
philo/admin/collections.py
philo/admin/forms/attributes.py
philo/admin/forms/containers.py
philo/admin/nodes.py
philo/admin/pages.py
philo/admin/widgets.py
philo/contrib/julian/admin.py
philo/contrib/julian/models.py
philo/contrib/penfield/admin.py
philo/contrib/penfield/middleware.py
philo/contrib/penfield/models.py
philo/contrib/shipherd/admin.py
philo/contrib/shipherd/models.py
philo/contrib/sobol/admin.py
philo/contrib/sobol/forms.py
philo/contrib/sobol/models.py
philo/contrib/sobol/search.py
philo/contrib/sobol/utils.py
philo/contrib/waldo/forms.py
philo/contrib/waldo/models.py
philo/contrib/waldo/tokens.py
philo/forms/entities.py
philo/forms/fields.py
philo/loaders/database.py
philo/middleware.py
philo/models/base.py
philo/models/collections.py
philo/models/fields/__init__.py
philo/models/fields/entities.py
philo/models/nodes.py
philo/models/pages.py
philo/templatetags/containers.py
philo/templatetags/embed.py
philo/templatetags/nodes.py
philo/urls.py
philo/validators.py
philo/views.py

index 75fa336..3a9458e 100644 (file)
@@ -4,12 +4,13 @@ from django.contrib.contenttypes import generic
 from django.http import HttpResponse
 from django.utils import simplejson as json
 from django.utils.html import escape
 from django.http import HttpResponse
 from django.utils import simplejson as json
 from django.utils.html import escape
+from mptt.admin import MPTTModelAdmin
+
 from philo.models import Tag, Attribute
 from philo.models.fields.entities import ForeignKeyAttribute, ManyToManyAttribute
 from philo.admin.forms.attributes import AttributeForm, AttributeInlineFormSet
 from philo.admin.widgets import TagFilteredSelectMultiple
 from philo.forms.entities import EntityForm, proxy_fields_for_entity_model
 from philo.models import Tag, Attribute
 from philo.models.fields.entities import ForeignKeyAttribute, ManyToManyAttribute
 from philo.admin.forms.attributes import AttributeForm, AttributeInlineFormSet
 from philo.admin.widgets import TagFilteredSelectMultiple
 from philo.forms.entities import EntityForm, proxy_fields_for_entity_model
-from mptt.admin import MPTTModelAdmin
 
 
 COLLAPSE_CLASSES = ('collapse', 'collapse-closed', 'closed',)
 
 
 COLLAPSE_CLASSES = ('collapse', 'collapse-closed', 'closed',)
index d422b74..c2a9034 100644 (file)
@@ -1,4 +1,5 @@
 from django.contrib import admin
 from django.contrib import admin
+
 from philo.admin.base import COLLAPSE_CLASSES
 from philo.models import CollectionMember, Collection
 
 from philo.admin.base import COLLAPSE_CLASSES
 from philo.models import CollectionMember, Collection
 
index fc77d0f..5372ab3 100644 (file)
@@ -1,6 +1,7 @@
 from django.contrib.contenttypes.generic import BaseGenericInlineFormSet
 from django.contrib.contenttypes.models import ContentType
 from django.forms.models import ModelForm
 from django.contrib.contenttypes.generic import BaseGenericInlineFormSet
 from django.contrib.contenttypes.models import ContentType
 from django.forms.models import ModelForm
+
 from philo.models import Attribute
 
 
 from philo.models import Attribute
 
 
index 420ba17..246a954 100644 (file)
@@ -5,6 +5,7 @@ from django.db.models import Q
 from django.forms.models import ModelForm, BaseInlineFormSet, BaseModelFormSet
 from django.forms.formsets import TOTAL_FORM_COUNT
 from django.utils.datastructures import SortedDict
 from django.forms.models import ModelForm, BaseInlineFormSet, BaseModelFormSet
 from django.forms.formsets import TOTAL_FORM_COUNT
 from django.utils.datastructures import SortedDict
+
 from philo.admin.widgets import ModelLookupWidget
 from philo.models import Contentlet, ContentReference
 
 from philo.admin.widgets import ModelLookupWidget
 from philo.models import Contentlet, ContentReference
 
index e2a9c9d..853ba25 100644 (file)
@@ -1,7 +1,8 @@
 from django.contrib import admin
 from django.contrib import admin
+from mptt.admin import MPTTModelAdmin
+
 from philo.admin.base import EntityAdmin, TreeEntityAdmin, COLLAPSE_CLASSES
 from philo.models import Node, Redirect, File
 from philo.admin.base import EntityAdmin, TreeEntityAdmin, COLLAPSE_CLASSES
 from philo.models import Node, Redirect, File
-from mptt.admin import MPTTModelAdmin
 
 
 class NodeAdmin(TreeEntityAdmin):
 
 
 class NodeAdmin(TreeEntityAdmin):
index f9e96c0..fd8665b 100644 (file)
@@ -1,10 +1,11 @@
+from django import forms
 from django.conf import settings
 from django.contrib import admin
 from django.conf import settings
 from django.contrib import admin
-from django import forms
+
 from philo.admin.base import COLLAPSE_CLASSES, TreeAdmin
 from philo.admin.base import COLLAPSE_CLASSES, TreeAdmin
+from philo.admin.forms.containers import *
 from philo.admin.nodes import ViewAdmin
 from philo.models.pages import Page, Template, Contentlet, ContentReference
 from philo.admin.nodes import ViewAdmin
 from philo.models.pages import Page, Template, Contentlet, ContentReference
-from philo.admin.forms.containers import *
 
 
 class ContentletInline(admin.StackedInline):
 
 
 class ContentletInline(admin.StackedInline):
index fb13ac7..62a492b 100644 (file)
@@ -1,10 +1,10 @@
 from django import forms
 from django.conf import settings
 from django.contrib.admin.widgets import FilteredSelectMultiple, url_params_from_lookup_dict
 from django import forms
 from django.conf import settings
 from django.contrib.admin.widgets import FilteredSelectMultiple, url_params_from_lookup_dict
-from django.utils.translation import ugettext as _
+from django.utils.html import escape
 from django.utils.safestring import mark_safe
 from django.utils.text import truncate_words
 from django.utils.safestring import mark_safe
 from django.utils.text import truncate_words
-from django.utils.html import escape
+from django.utils.translation import ugettext as _
 
 
 class ModelLookupWidget(forms.TextInput):
 
 
 class ModelLookupWidget(forms.TextInput):
index 8f104e2..cf72682 100644 (file)
@@ -1,4 +1,5 @@
 from django.contrib import admin
 from django.contrib import admin
+
 from philo.admin import EntityAdmin, COLLAPSE_CLASSES
 from philo.contrib.julian.models import Location, Event, Calendar, CalendarView
 
 from philo.admin import EntityAdmin, COLLAPSE_CLASSES
 from philo.contrib.julian.models import Location, Event, Calendar, CalendarView
 
index 5c49c7e..550513c 100644 (file)
@@ -1,3 +1,6 @@
+import calendar
+import datetime
+
 from django.conf import settings
 from django.conf.urls.defaults import url, patterns, include
 from django.contrib.auth.models import User
 from django.conf import settings
 from django.conf.urls.defaults import url, patterns, include
 from django.contrib.auth.models import User
@@ -10,12 +13,12 @@ from django.db import models
 from django.db.models.query import QuerySet
 from django.http import HttpResponse, Http404
 from django.utils.encoding import force_unicode
 from django.db.models.query import QuerySet
 from django.http import HttpResponse, Http404
 from django.utils.encoding import force_unicode
+
 from philo.contrib.julian.feedgenerator import ICalendarFeed
 from philo.contrib.penfield.models import FeedView, FEEDS
 from philo.exceptions import ViewCanNotProvideSubpath
 from philo.models import Tag, Entity, Page, TemplateField
 from philo.utils import ContentTypeRegistryLimiter
 from philo.contrib.julian.feedgenerator import ICalendarFeed
 from philo.contrib.penfield.models import FeedView, FEEDS
 from philo.exceptions import ViewCanNotProvideSubpath
 from philo.models import Tag, Entity, Page, TemplateField
 from philo.utils import ContentTypeRegistryLimiter
-import datetime, calendar
 
 
 __all__ = ('register_location_model', 'unregister_location_model', 'Location', 'TimedModel', 'Event', 'Calendar', 'CalendarView',)
 
 
 __all__ = ('register_location_model', 'unregister_location_model', 'Location', 'TimedModel', 'Event', 'Calendar', 'CalendarView',)
index c70cf46..a897b97 100644 (file)
@@ -2,6 +2,7 @@ from django import forms
 from django.contrib import admin
 from django.core.urlresolvers import reverse
 from django.http import HttpResponseRedirect, QueryDict
 from django.contrib import admin
 from django.core.urlresolvers import reverse
 from django.http import HttpResponseRedirect, QueryDict
+
 from philo.admin import EntityAdmin, AddTagAdmin, COLLAPSE_CLASSES
 from philo.contrib.penfield.models import BlogEntry, Blog, BlogView, Newsletter, NewsletterArticle, NewsletterIssue, NewsletterView
 
 from philo.admin import EntityAdmin, AddTagAdmin, COLLAPSE_CLASSES
 from philo.contrib.penfield.models import BlogEntry, Blog, BlogView, Newsletter, NewsletterArticle, NewsletterIssue, NewsletterView
 
index b25a28b..8bcff40 100644 (file)
@@ -1,5 +1,6 @@
 from django.http import HttpResponse
 from django.utils.decorators import decorator_from_middleware
 from django.http import HttpResponse
 from django.utils.decorators import decorator_from_middleware
+
 from philo.contrib.penfield.exceptions import HttpNotAcceptable
 
 
 from philo.contrib.penfield.exceptions import HttpNotAcceptable
 
 
index a03bed8..6955069 100644 (file)
@@ -1,3 +1,5 @@
+from datetime import date, datetime
+
 from django.conf import settings
 from django.conf.urls.defaults import url, patterns, include
 from django.contrib.sites.models import Site, RequestSite
 from django.conf import settings
 from django.conf.urls.defaults import url, patterns, include
 from django.contrib.sites.models import Site, RequestSite
@@ -9,13 +11,14 @@ from django.utils import feedgenerator, tzinfo
 from django.utils.datastructures import SortedDict
 from django.utils.encoding import smart_unicode, force_unicode
 from django.utils.html import escape
 from django.utils.datastructures import SortedDict
 from django.utils.encoding import smart_unicode, force_unicode
 from django.utils.html import escape
-from datetime import date, datetime
+
 from philo.contrib.penfield.exceptions import HttpNotAcceptable
 from philo.contrib.penfield.middleware import http_not_acceptable
 from philo.contrib.penfield.validators import validate_pagination_count
 from philo.exceptions import ViewCanNotProvideSubpath
 from philo.models import Tag, Titled, Entity, MultiView, Page, register_value_model, TemplateField, Template
 from philo.utils import paginate
 from philo.contrib.penfield.exceptions import HttpNotAcceptable
 from philo.contrib.penfield.middleware import http_not_acceptable
 from philo.contrib.penfield.validators import validate_pagination_count
 from philo.exceptions import ViewCanNotProvideSubpath
 from philo.models import Tag, Titled, Entity, MultiView, Page, register_value_model, TemplateField, Template
 from philo.utils import paginate
+
 try:
        import mimeparse
 except:
 try:
        import mimeparse
 except:
index 93d21e5..be31a43 100644 (file)
@@ -1,4 +1,5 @@
 from django.contrib import admin
 from django.contrib import admin
+
 from philo.admin import TreeEntityAdmin, COLLAPSE_CLASSES, NodeAdmin, EntityAdmin
 from philo.models import Node
 from philo.contrib.shipherd.models import NavigationItem, Navigation
 from philo.admin import TreeEntityAdmin, COLLAPSE_CLASSES, NodeAdmin, EntityAdmin
 from philo.models import Node
 from philo.contrib.shipherd.models import NavigationItem, Navigation
index 654f5f8..3ff5c44 100644 (file)
@@ -1,12 +1,14 @@
 #encoding: utf-8
 #encoding: utf-8
+from UserDict import DictMixin
+
 from django.core.exceptions import ValidationError
 from django.core.urlresolvers import NoReverseMatch
 from django.core.validators import RegexValidator, MinValueValidator
 from django.db import models
 from django.forms.models import model_to_dict
 from django.core.exceptions import ValidationError
 from django.core.urlresolvers import NoReverseMatch
 from django.core.validators import RegexValidator, MinValueValidator
 from django.db import models
 from django.forms.models import model_to_dict
+
 from philo.models import TreeEntity, Node, TreeManager, Entity, TargetURLModel
 from philo.validators import RedirectValidator
 from philo.models import TreeEntity, Node, TreeManager, Entity, TargetURLModel
 from philo.validators import RedirectValidator
-from UserDict import DictMixin
 
 
 DEFAULT_NAVIGATION_DEPTH = 3
 
 
 DEFAULT_NAVIGATION_DEPTH = 3
index 87dd39a..f4636e7 100644 (file)
@@ -1,3 +1,5 @@
+from functools import update_wrapper
+
 from django.conf import settings
 from django.conf.urls.defaults import patterns, url
 from django.contrib import admin
 from django.conf import settings
 from django.conf.urls.defaults import patterns, url
 from django.contrib import admin
@@ -7,9 +9,9 @@ from django.http import HttpResponseRedirect, Http404
 from django.shortcuts import render_to_response
 from django.template import RequestContext
 from django.utils.translation import ugettext_lazy as _
 from django.shortcuts import render_to_response
 from django.template import RequestContext
 from django.utils.translation import ugettext_lazy as _
+
 from philo.admin import EntityAdmin
 from philo.contrib.sobol.models import Search, ResultURL, SearchView
 from philo.admin import EntityAdmin
 from philo.contrib.sobol.models import Search, ResultURL, SearchView
-from functools import update_wrapper
 
 
 class ResultURLInline(admin.TabularInline):
 
 
 class ResultURLInline(admin.TabularInline):
index e79d9e7..f9994a1 100644 (file)
@@ -1,4 +1,5 @@
 from django import forms
 from django import forms
+
 from philo.contrib.sobol.utils import SEARCH_ARG_GET_KEY
 
 
 from philo.contrib.sobol.utils import SEARCH_ARG_GET_KEY
 
 
index ee8187d..2cb1651 100644 (file)
@@ -1,3 +1,6 @@
+import datetime
+
+from django.conf import settings
 from django.conf.urls.defaults import patterns, url
 from django.contrib import messages
 from django.core.exceptions import ValidationError
 from django.conf.urls.defaults import patterns, url
 from django.contrib import messages
 from django.core.exceptions import ValidationError
@@ -5,6 +8,7 @@ from django.db import models
 from django.http import HttpResponseRedirect, Http404, HttpResponse
 from django.utils import simplejson as json
 from django.utils.datastructures import SortedDict
 from django.http import HttpResponseRedirect, Http404, HttpResponse
 from django.utils import simplejson as json
 from django.utils.datastructures import SortedDict
+
 from philo.contrib.sobol import registry
 from philo.contrib.sobol.forms import SearchForm
 from philo.contrib.sobol.utils import HASH_REDIRECT_GET_KEY, URL_REDIRECT_GET_KEY, SEARCH_ARG_GET_KEY, check_redirect_hash
 from philo.contrib.sobol import registry
 from philo.contrib.sobol.forms import SearchForm
 from philo.contrib.sobol.utils import HASH_REDIRECT_GET_KEY, URL_REDIRECT_GET_KEY, SEARCH_ARG_GET_KEY, check_redirect_hash
@@ -12,11 +16,13 @@ from philo.exceptions import ViewCanNotProvideSubpath
 from philo.models import MultiView, Page
 from philo.models.fields import SlugMultipleChoiceField
 from philo.validators import RedirectValidator
 from philo.models import MultiView, Page
 from philo.models.fields import SlugMultipleChoiceField
 from philo.validators import RedirectValidator
-import datetime
-try:
-       import eventlet
-except:
-       eventlet = False
+
+eventlet = None
+if getattr(settings, 'SOBOL_USE_EVENTLET', False):
+       try:
+               import eventlet
+       except:
+               pass
 
 
 class Search(models.Model):
 
 
 class Search(models.Model):
index 39b93c7..6cd577d 100644 (file)
@@ -1,4 +1,5 @@
 #encoding: utf-8
 #encoding: utf-8
+import datetime
 
 from django.conf import settings
 from django.contrib.sites.models import Site
 
 from django.conf import settings
 from django.contrib.sites.models import Site
@@ -9,12 +10,16 @@ from django.utils.http import urlquote_plus
 from django.utils.safestring import mark_safe
 from django.utils.text import capfirst
 from django.template import loader, Context, Template
 from django.utils.safestring import mark_safe
 from django.utils.text import capfirst
 from django.template import loader, Context, Template
-import datetime
+
 from philo.contrib.sobol.utils import make_tracking_querydict
 
 from philo.contrib.sobol.utils import make_tracking_querydict
 
-try:
-       from eventlet.green import urllib2
-except:
+
+if getattr(settings, 'SOBOL_USE_EVENTLET', False):
+       try:
+               from eventlet.green import urllib2
+       except:
+               import urllib2
+else:
        import urllib2
 
 
        import urllib2
 
 
index 3c5e537..5c52c81 100644 (file)
@@ -1,8 +1,9 @@
+from hashlib import sha1
+
 from django.conf import settings
 from django.http import QueryDict
 from django.utils.encoding import smart_str
 from django.utils.http import urlquote_plus, urlquote
 from django.conf import settings
 from django.http import QueryDict
 from django.utils.encoding import smart_str
 from django.utils.http import urlquote_plus, urlquote
-from hashlib import sha1
 
 
 SEARCH_ARG_GET_KEY = 'q'
 
 
 SEARCH_ARG_GET_KEY = 'q'
index 2ee64d0..4cc9874 100644 (file)
@@ -1,4 +1,5 @@
 from datetime import date
 from datetime import date
+
 from django import forms
 from django.conf import settings
 from django.contrib.auth import authenticate
 from django import forms
 from django.conf import settings
 from django.contrib.auth import authenticate
@@ -6,6 +7,7 @@ from django.contrib.auth.forms import AuthenticationForm, UserCreationForm
 from django.contrib.auth.models import User
 from django.core.exceptions import ValidationError
 from django.utils.translation import ugettext_lazy as _
 from django.contrib.auth.models import User
 from django.core.exceptions import ValidationError
 from django.utils.translation import ugettext_lazy as _
+
 from philo.contrib.waldo.tokens import REGISTRATION_TIMEOUT_DAYS
 
 
 from philo.contrib.waldo.tokens import REGISTRATION_TIMEOUT_DAYS
 
 
index f63cdb1..87cfafe 100644 (file)
@@ -1,3 +1,5 @@
+import urlparse
+
 from django import forms
 from django.conf.urls.defaults import url, patterns, include
 from django.contrib import messages
 from django import forms
 from django.conf.urls.defaults import url, patterns, include
 from django.contrib import messages
@@ -15,10 +17,10 @@ from django.utils.http import int_to_base36, base36_to_int
 from django.utils.translation import ugettext as _
 from django.views.decorators.cache import never_cache
 from django.views.decorators.csrf import csrf_protect
 from django.utils.translation import ugettext as _
 from django.views.decorators.cache import never_cache
 from django.views.decorators.csrf import csrf_protect
+
 from philo.models import MultiView, Page
 from philo.contrib.waldo.forms import WaldoAuthenticationForm, RegistrationForm, UserAccountForm
 from philo.contrib.waldo.tokens import registration_token_generator, email_token_generator
 from philo.models import MultiView, Page
 from philo.contrib.waldo.forms import WaldoAuthenticationForm, RegistrationForm, UserAccountForm
 from philo.contrib.waldo.tokens import registration_token_generator, email_token_generator
-import urlparse
 
 
 class LoginMultiView(MultiView):
 
 
 class LoginMultiView(MultiView):
index 80f0b11..858b073 100644 (file)
@@ -2,12 +2,12 @@
 Based on django.contrib.auth.tokens
 """
 
 Based on django.contrib.auth.tokens
 """
 
-
+from hashlib import sha1
 from datetime import date
 from datetime import date
+
 from django.conf import settings
 from django.utils.http import int_to_base36, base36_to_int
 from django.contrib.auth.tokens import PasswordResetTokenGenerator
 from django.conf import settings
 from django.utils.http import int_to_base36, base36_to_int
 from django.contrib.auth.tokens import PasswordResetTokenGenerator
-from hashlib import sha1
 
 
 REGISTRATION_TIMEOUT_DAYS = getattr(settings, 'WALDO_REGISTRATION_TIMEOUT_DAYS', 1)
 
 
 REGISTRATION_TIMEOUT_DAYS = getattr(settings, 'WALDO_REGISTRATION_TIMEOUT_DAYS', 1)
index e781128..5d34cce 100644 (file)
@@ -1,5 +1,6 @@
 from django.forms.models import ModelFormMetaclass, ModelForm, ModelFormOptions
 from django.utils.datastructures import SortedDict
 from django.forms.models import ModelFormMetaclass, ModelForm, ModelFormOptions
 from django.utils.datastructures import SortedDict
+
 from philo.utils import fattr
 
 
 from philo.utils import fattr
 
 
index b148947..8bb5ce3 100644 (file)
@@ -1,6 +1,7 @@
 from django import forms
 from django.core.exceptions import ValidationError
 from django.utils import simplejson as json
 from django import forms
 from django.core.exceptions import ValidationError
 from django.utils import simplejson as json
+
 from philo.validators import json_validator
 
 
 from philo.validators import json_validator
 
 
index 141aedd..71b93a6 100644 (file)
@@ -1,6 +1,7 @@
 from django.template import TemplateDoesNotExist
 from django.template.loader import BaseLoader
 from django.utils.encoding import smart_unicode
 from django.template import TemplateDoesNotExist
 from django.template.loader import BaseLoader
 from django.utils.encoding import smart_unicode
+
 from philo.models import Template
 
 
 from philo.models import Template
 
 
index 5ec3e77..4082d4b 100644 (file)
@@ -1,6 +1,7 @@
 from django.conf import settings
 from django.contrib.sites.models import Site
 from django.http import Http404
 from django.conf import settings
 from django.contrib.sites.models import Site
 from django.http import Http404
+
 from philo.models import Node, View
 
 
 from philo.models import Node, View
 
 
index cf420c7..466b60a 100644 (file)
@@ -1,18 +1,20 @@
+from UserDict import DictMixin
+
 from django import forms
 from django import forms
-from django.db import models
 from django.contrib.contenttypes.models import ContentType
 from django.contrib.contenttypes import generic
 from django.core.exceptions import ObjectDoesNotExist
 from django.core.validators import RegexValidator
 from django.contrib.contenttypes.models import ContentType
 from django.contrib.contenttypes import generic
 from django.core.exceptions import ObjectDoesNotExist
 from django.core.validators import RegexValidator
+from django.db import models
 from django.utils import simplejson as json
 from django.utils.encoding import force_unicode
 from django.utils import simplejson as json
 from django.utils.encoding import force_unicode
+from mptt.models import MPTTModel, MPTTModelBase, MPTTOptions
+
 from philo.exceptions import AncestorDoesNotExist
 from philo.models.fields import JSONField
 from philo.exceptions import AncestorDoesNotExist
 from philo.models.fields import JSONField
-from philo.utils import ContentTypeRegistryLimiter, ContentTypeSubclassLimiter
 from philo.signals import entity_class_prepared
 from philo.signals import entity_class_prepared
+from philo.utils import ContentTypeRegistryLimiter, ContentTypeSubclassLimiter
 from philo.validators import json_validator
 from philo.validators import json_validator
-from UserDict import DictMixin
-from mptt.models import MPTTModel, MPTTModelBase, MPTTOptions
 
 
 class Tag(models.Model):
 
 
 class Tag(models.Model):
index 539ecdb..3513cb4 100644 (file)
@@ -1,9 +1,10 @@
-from django.db import models
-from django.contrib.contenttypes.models import ContentType
 from django.contrib.contenttypes import generic
 from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.models import ContentType
+from django.db import models
+from django.template import add_to_builtins as register_templatetags
+
 from philo.models.base import value_content_type_limiter, register_value_model
 from philo.utils import fattr
 from philo.models.base import value_content_type_limiter, register_value_model
 from philo.utils import fattr
-from django.template import add_to_builtins as register_templatetags
 
 
 class Collection(models.Model):
 
 
 class Collection(models.Model):
index 1f9603e..eca3a12 100644 (file)
@@ -5,6 +5,7 @@ from django.db import models
 from django.utils import simplejson as json
 from django.utils.text import capfirst
 from django.utils.translation import ugettext_lazy as _
 from django.utils import simplejson as json
 from django.utils.text import capfirst
 from django.utils.translation import ugettext_lazy as _
+
 from philo.forms.fields import JSONFormField
 from philo.validators import TemplateValidator, json_validator
 #from philo.models.fields.entities import *
 from philo.forms.fields import JSONFormField
 from philo.validators import TemplateValidator, json_validator
 #from philo.models.fields.entities import *
index 6c407d0..68a4164 100644 (file)
@@ -15,15 +15,17 @@ Example::
        class ThingProxy(Thing):
                improvised = JSONAttribute(models.BooleanField)
 """
        class ThingProxy(Thing):
                improvised = JSONAttribute(models.BooleanField)
 """
+import datetime
 from itertools import tee
 from itertools import tee
+
 from django import forms
 from django.core.exceptions import FieldError
 from django.db import models
 from django.db.models.fields import NOT_PROVIDED
 from django.utils.text import capfirst
 from django import forms
 from django.core.exceptions import FieldError
 from django.db import models
 from django.db.models.fields import NOT_PROVIDED
 from django.utils.text import capfirst
-from philo.signals import entity_class_prepared
+
 from philo.models import ManyToManyValue, JSONValue, ForeignKeyValue, Attribute, Entity
 from philo.models import ManyToManyValue, JSONValue, ForeignKeyValue, Attribute, Entity
-import datetime
+from philo.signals import entity_class_prepared
 
 
 __all__ = ('JSONAttribute', 'ForeignKeyAttribute', 'ManyToManyAttribute')
 
 
 __all__ = ('JSONAttribute', 'ForeignKeyAttribute', 'ManyToManyAttribute')
index 99be196..b657795 100644 (file)
@@ -1,20 +1,21 @@
-from django.db import models
-from django.contrib.contenttypes.models import ContentType
+from inspect import getargspec
+
 from django.contrib.contenttypes import generic
 from django.contrib.contenttypes import generic
+from django.contrib.contenttypes.models import ContentType
 from django.contrib.sites.models import Site, RequestSite
 from django.contrib.sites.models import Site, RequestSite
-from django.http import HttpResponse, HttpResponseServerError, HttpResponseRedirect, Http404
 from django.core.exceptions import ValidationError
 from django.core.servers.basehttp import FileWrapper
 from django.core.urlresolvers import resolve, clear_url_caches, reverse, NoReverseMatch
 from django.core.exceptions import ValidationError
 from django.core.servers.basehttp import FileWrapper
 from django.core.urlresolvers import resolve, clear_url_caches, reverse, NoReverseMatch
+from django.db import models
+from django.http import HttpResponse, HttpResponseServerError, HttpResponseRedirect, Http404
 from django.template import add_to_builtins as register_templatetags
 from django.utils.encoding import smart_str
 from django.template import add_to_builtins as register_templatetags
 from django.utils.encoding import smart_str
-from inspect import getargspec
-from philo.exceptions import MIDDLEWARE_NOT_CONFIGURED
+
+from philo.exceptions import MIDDLEWARE_NOT_CONFIGURED, ViewCanNotProvideSubpath, ViewDoesNotProvideSubpaths
 from philo.models.base import TreeEntity, Entity, QuerySetMapper, register_value_model
 from philo.models.fields import JSONField
 from philo.utils import ContentTypeSubclassLimiter
 from philo.validators import RedirectValidator
 from philo.models.base import TreeEntity, Entity, QuerySetMapper, register_value_model
 from philo.models.fields import JSONField
 from philo.utils import ContentTypeSubclassLimiter
 from philo.validators import RedirectValidator
-from philo.exceptions import ViewCanNotProvideSubpath, ViewDoesNotProvideSubpaths, AncestorDoesNotExist
 from philo.signals import view_about_to_render, view_finished_rendering
 
 
 from philo.signals import view_about_to_render, view_finished_rendering
 
 
index 2221ee4..b69f3cf 100644 (file)
@@ -8,13 +8,14 @@ from django.http import HttpResponse
 from django.template import TemplateDoesNotExist, Context, RequestContext, Template as DjangoTemplate, add_to_builtins as register_templatetags, TextNode, VariableNode
 from django.template.loader_tags import BlockNode, ExtendsNode, BlockContext
 from django.utils.datastructures import SortedDict
 from django.template import TemplateDoesNotExist, Context, RequestContext, Template as DjangoTemplate, add_to_builtins as register_templatetags, TextNode, VariableNode
 from django.template.loader_tags import BlockNode, ExtendsNode, BlockContext
 from django.utils.datastructures import SortedDict
+
 from philo.models.base import TreeModel, register_value_model
 from philo.models.fields import TemplateField
 from philo.models.nodes import View
 from philo.models.base import TreeModel, register_value_model
 from philo.models.fields import TemplateField
 from philo.models.nodes import View
+from philo.signals import page_about_to_render_to_string, page_finished_rendering_to_string
 from philo.templatetags.containers import ContainerNode
 from philo.utils import fattr
 from philo.validators import LOADED_TEMPLATE_ATTR
 from philo.templatetags.containers import ContainerNode
 from philo.utils import fattr
 from philo.validators import LOADED_TEMPLATE_ATTR
-from philo.signals import page_about_to_render_to_string, page_finished_rendering_to_string
 
 
 class LazyContainerFinder(object):
 
 
 class LazyContainerFinder(object):
index c5fd445..f6def0a 100644 (file)
@@ -1,8 +1,8 @@
 from django import template
 from django.conf import settings
 from django import template
 from django.conf import settings
-from django.utils.safestring import SafeUnicode, mark_safe
-from django.core.exceptions import ObjectDoesNotExist
 from django.contrib.contenttypes.models import ContentType
 from django.contrib.contenttypes.models import ContentType
+from django.core.exceptions import ObjectDoesNotExist
+from django.utils.safestring import SafeUnicode, mark_safe
 
 
 register = template.Library()
 
 
 register = template.Library()
index eb4cd68..39b29e0 100644 (file)
@@ -1,7 +1,8 @@
 from django import template
 from django import template
-from django.contrib.contenttypes.models import ContentType
 from django.conf import settings
 from django.conf import settings
+from django.contrib.contenttypes.models import ContentType
 from django.template.loader_tags import ExtendsNode, BlockContext, BLOCK_CONTEXT_KEY, TextNode, BlockNode
 from django.template.loader_tags import ExtendsNode, BlockContext, BLOCK_CONTEXT_KEY, TextNode, BlockNode
+
 from philo.utils import LOADED_TEMPLATE_ATTR
 
 
 from philo.utils import LOADED_TEMPLATE_ATTR
 
 
index 5ae507d..00d9764 100644 (file)
@@ -4,6 +4,7 @@ from django.contrib.sites.models import Site
 from django.core.urlresolvers import reverse, NoReverseMatch
 from django.template.defaulttags import kwarg_re
 from django.utils.encoding import smart_str
 from django.core.urlresolvers import reverse, NoReverseMatch
 from django.template.defaulttags import kwarg_re
 from django.utils.encoding import smart_str
+
 from philo.exceptions import ViewCanNotProvideSubpath
 
 
 from philo.exceptions import ViewCanNotProvideSubpath
 
 
index 0363224..d4dfc7b 100644 (file)
@@ -1,4 +1,5 @@
 from django.conf.urls.defaults import patterns, url
 from django.conf.urls.defaults import patterns, url
+
 from philo.views import node_view
 
 
 from philo.views import node_view
 
 
index c8e5dc9..144699e 100644 (file)
@@ -1,10 +1,12 @@
-from django.utils.translation import ugettext_lazy as _
-from django.core.validators import RegexValidator
+import re
+
 from django.core.exceptions import ValidationError
 from django.core.exceptions import ValidationError
+from django.core.validators import RegexValidator
 from django.template import Template, Parser, Lexer, TOKEN_BLOCK, TOKEN_VAR, TemplateSyntaxError
 from django.utils import simplejson as json
 from django.utils.html import escape, mark_safe
 from django.template import Template, Parser, Lexer, TOKEN_BLOCK, TOKEN_VAR, TemplateSyntaxError
 from django.utils import simplejson as json
 from django.utils.html import escape, mark_safe
-import re
+from django.utils.translation import ugettext_lazy as _
+
 from philo.utils import LOADED_TEMPLATE_ATTR
 
 
 from philo.utils import LOADED_TEMPLATE_ATTR
 
 
index 598be36..28740fd 100644 (file)
@@ -2,6 +2,7 @@ from django.conf import settings
 from django.core.urlresolvers import resolve
 from django.http import Http404, HttpResponseRedirect
 from django.views.decorators.vary import vary_on_headers
 from django.core.urlresolvers import resolve
 from django.http import Http404, HttpResponseRedirect
 from django.views.decorators.vary import vary_on_headers
+
 from philo.exceptions import MIDDLEWARE_NOT_CONFIGURED
 
 
 from philo.exceptions import MIDDLEWARE_NOT_CONFIGURED