| <type 'exceptions.KeyboardInterrupt'> | Python 2.5.1: /home/wstearns/opt/bin/python Thu Nov 20 06:18:51 2008 |
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.
| /home/.opie/wstearns/wstearns.com/build/bdist.freebsd-6.2-RELEASE-amd64/egg/flup/server/fcgi_base.py in run(self=<flup.server.fcgi_base.Request object at 0xb7b4aeec>) |
| 556 """Runs the handler, flushes the streams, and ends the request.""" |
| 557 try: |
| 558 protocolStatus, appStatus = self.server.handler(self) |
| 559 except: |
| 560 traceback.print_exc(file=self.stderr) |
| /home/.opie/wstearns/wstearns.com/build/bdist.freebsd-6.2-RELEASE-amd64/egg/flup/server/fcgi_base.py in handler(self=<flup.server.fcgi_fork.WSGIServer object at 0xb7b4a8ac>, req=<flup.server.fcgi_base.Request object at 0xb7b4aeec>) |
| 1114 try: |
| 1115 try: |
| 1116 result = self.application(environ, start_response) |
| 1117 try: |
| 1118 for data in result: |
| /home/wstearns/opt/lib/python2.5/site-packages/django/core/handlers/wsgi.py in __call__(self=<django.core.handlers.wsgi.WSGIHandler object at 0xb7b38f4c>, environ={'DOCUMENT_ROOT': '/home/wstearns/wstearns.com', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': 'Accept: application/xhtml+xml,text/html;q=0.9,text/plain;', 'HTTP_ACCEPT_CHARSET': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'HTTP_ACCEPT_ENCODING': 'gzip', 'HTTP_ACCEPT_LANGUAGE': 'en-us,en;q=0.5', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'close', 'HTTP_HOST': 'wstearns.com', 'HTTP_PRAGMA': 'no-cache', ...}, start_response=<function start_response at 0xb7b4d6bc>) |
| 203 response = http.HttpResponseBadRequest() |
| 204 else: |
| 205 response = self.get_response(request) |
| 206 |
| 207 # Apply response middleware |
| response undefined, self = <django.core.handlers.wsgi.WSGIHandler object at 0xb7b38f4c>, self.get_response = <bound method WSGIHandler.get_response of <djang....handlers.wsgi.WSGIHandler object at 0xb7b38f4c>>, request = <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDic...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}> |
| /home/wstearns/opt/lib/python2.5/site-packages/django/core/handlers/base.py in get_response(self=<django.core.handlers.wsgi.WSGIHandler object at 0xb7b38f4c>, request=<WSGIRequest GET:<QueryDict: {}>, POST:<QueryDic...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}>) |
| 62 # Apply request middleware |
| 63 for middleware_method in self._request_middleware: |
| 64 response = middleware_method(request) |
| 65 if response: |
| 66 return response |
| response = None, middleware_method = <bound method UrlMiddleware.process_request of <...leware.url.UrlMiddleware instance at 0xb7a8fd6c>>, request = <WSGIRequest GET:<QueryDict: {}>, POST:<QueryDic...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}> |
| /home/wstearns/django_projects/byteflow/apps/middleware/url.py in process_request(self=<middleware.url.UrlMiddleware instance at 0xb7a8fd6c>, request=<WSGIRequest GET:<QueryDict: {}>, POST:<QueryDic...gi.url_scheme': 'http', 'wsgi.version': (1, 0)}>) |
| 74 if hasattr(settings, "APPEND_SLASH") and not settings.APPEND_SLASH: |
| 75 # if the url is not found, try with(out) the trailing slash |
| 76 if not self._urlExists(old_url[1]): |
| 77 |
| 78 if old_url[1][-1] == "/": |
| self = <middleware.url.UrlMiddleware instance at 0xb7a8fd6c>, self._urlExists = <bound method UrlMiddleware._urlExists of <middleware.url.UrlMiddleware instance at 0xb7a8fd6c>>, old_url = ['wstearns.com', u'/blog/tag/windows/'] |
| /home/wstearns/django_projects/byteflow/apps/middleware/url.py in _urlExists(self=<middleware.url.UrlMiddleware instance at 0xb7a8fd6c>, path=u'/blog/tag/windows/') |
| 106 def _urlExists(self, path): |
| 107 try: |
| 108 if resolve(path) is None: raise Http404 # None?!? You mean 404... |
| 109 return True |
| 110 except Http404: |
| global resolve = <function resolve at 0xb7a8e064>, path = u'/blog/tag/windows/', builtin None = None, global Http404 = <class 'django.http.Http404'> |
| /home/wstearns/opt/lib/python2.5/site-packages/django/core/urlresolvers.py in resolve(path=u'/blog/tag/windows/', urlconf=None) |
| 290 |
| 291 def resolve(path, urlconf=None): |
| 292 return get_resolver(urlconf).resolve(path) |
| 293 |
| 294 def reverse(viewname, urlconf=None, args=None, kwargs=None): |
| global get_resolver = <function get_resolver at 0xb7a86f7c>, urlconf = None, ).resolve undefined, path = u'/blog/tag/windows/' |
| /home/wstearns/opt/lib/python2.5/site-packages/django/core/urlresolvers.py in resolve(self=<RegexURLResolver urls ^/>, path=u'/blog/tag/windows/') |
| 231 for pattern in self.urlconf_module.urlpatterns: |
| 232 try: |
| 233 sub_match = pattern.resolve(new_path) |
| 234 except Resolver404, e: |
| 235 tried.extend([(pattern.regex.pattern + ' ' + t) for t in e.args[0]['tried']]) |
| sub_match = None, pattern = <RegexURLResolver blog.urls ^blog/>, pattern.resolve = <bound method RegexURLResolver.resolve of <RegexURLResolver blog.urls ^blog/>>, new_path = u'blog/tag/windows/' |
| /home/wstearns/opt/lib/python2.5/site-packages/django/core/urlresolvers.py in resolve(self=<RegexURLResolver blog.urls ^blog/>, path=u'blog/tag/windows/') |
| 229 if match: |
| 230 new_path = path[match.end():] |
| 231 for pattern in self.urlconf_module.urlpatterns: |
| 232 try: |
| 233 sub_match = pattern.resolve(new_path) |
| pattern undefined, self = <RegexURLResolver blog.urls ^blog/>, self.urlconf_module = <module 'blog.urls' from '/home/wstearns/django_projects/byteflow/apps/blog/urls.pyc'>, self.urlconf_module.urlpatterns = [<RegexURLPattern post_detail ^(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/(?P<slug>[-\w]+)/$>, <RegexURLPattern day_archive ^(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/$>, <RegexURLPattern month_archive ^(?P<year>\d{4})/(?P<month>\d{2})/$>, <RegexURLPattern year_archive ^(?P<year>\d{4})/$>, <RegexURLPattern post_by_tag ^tag/(?P<tag>[\w \.\-\+]+)/$>, <RegexURLPattern post_list ^$>, <RegexURLPattern comment_edit ^comment-edit/(?P<object_id>\d+)/$>, <RegexURLPattern comment_delete ^comment-delete/(?P<object_id>\d+)/$>, <RegexURLPattern comment_preview ^preview/$>, <RegexURLPattern processed_js ^processed_js/$>, <RegexURLPattern wysiwyg_js ^wysiwyg_js/$>, <RegexURLPattern featured_posts ^featured/$>] |
| /home/wstearns/opt/lib/python2.5/site-packages/django/core/urlresolvers.py in _get_urlconf_module(self=<RegexURLResolver blog.urls ^blog/>) |
| 249 except AttributeError: |
| 250 try: |
| 251 self._urlconf_module = __import__(self.urlconf_name, {}, {}, ['']) |
| 252 except Exception, e: |
| 253 # Either an invalid urlconf_name, such as "foo.bar.", or some |
| self = <RegexURLResolver blog.urls ^blog/>, self._urlconf_module = <module 'blog.urls' from '/home/wstearns/django_projects/byteflow/apps/blog/urls.pyc'>, builtin __import__ = <built-in function __import__>, self.urlconf_name = 'blog.urls' |
| /home/wstearns/django_projects/byteflow/apps/blog/urls.py in |
| 11 |
| 12 info_dict_year = { |
| 13 'queryset': Post.objects.all(), |
| 14 'date_field': 'date', |
| 15 'template_name': 'blog/post_archive_year.html', |
| Post = None, Post.objects undefined |
| /home/wstearns/opt/lib/python2.5/site-packages/django/db/models/manager.py in all(self=<blog.managers.PublicPostManager object at 0xb74fa40c>) |
| 65 |
| 66 def all(self): |
| 67 return self.get_query_set() |
| 68 |
| 69 def count(self): |
| self = <blog.managers.PublicPostManager object at 0xb74fa40c>, self.get_query_set = <bound method PublicPostManager.get_query_set of...managers.PublicPostManager object at 0xb74fa40c>> |
| /home/wstearns/django_projects/byteflow/apps/blog/managers.py in get_query_set(self=<blog.managers.PublicPostManager object at 0xb74fa40c>) |
| 24 class PublicPostManager(PostManager): |
| 25 def get_query_set(self): |
| 26 qs = super(PostManager, self).get_query_set().filter(is_draft=False) |
| 27 qs = qs.extra( |
| 28 select= SELECT_SQL, |
| qs undefined, builtin super = <type 'super'>, global PostManager = <class 'blog.managers.PostManager'>, self = <blog.managers.PublicPostManager object at 0xb74fa40c>, ).get_query_set = <bound method PublicPostManager.get_query_set of...managers.PublicPostManager object at 0xb74fa40c>>, ).filter undefined, is_draft undefined, builtin False = False |
| /home/wstearns/opt/lib/python2.5/site-packages/django/db/models/query.py in filter(self=[<Post: Already missed a day!>, <Post: Post per ...new Domain>, <Post: Perl, because someone asked>], *args=(), **kwargs={'is_draft': False}) |
| 372 set. |
| 373 """ |
| 374 return self._filter_or_exclude(False, *args, **kwargs) |
| 375 |
| 376 def exclude(self, *args, **kwargs): |
| self = [<Post: Already missed a day!>, <Post: Post per ...new Domain>, <Post: Perl, because someone asked>], self._filter_or_exclude = <bound method QuerySet._filter_or_exclude of [<P...ew Domain>, <Post: Perl, because someone asked>]>, builtin False = False, args = (), kwargs = {'is_draft': False} |
| /home/wstearns/opt/lib/python2.5/site-packages/django/db/models/query.py in _filter_or_exclude(self=[<Post: Already missed a day!>, <Post: Post per ...new Domain>, <Post: Perl, because someone asked>], negate=False, *args=(), **kwargs={'is_draft': False}) |
| 390 clone.query.add_q(~Q(*args, **kwargs)) |
| 391 else: |
| 392 clone.query.add_q(Q(*args, **kwargs)) |
| 393 return clone |
| 394 |
| clone = [<Post: Already missed a day!>, <Post: Post per ...new Domain>, <Post: Perl, because someone asked>], clone.query = <django.db.models.sql.query.Query object at 0xb747204c>, clone.query.add_q = <bound method Query.add_q of <django.db.models.sql.query.Query object at 0xb747204c>>, global Q = <class 'django.db.models.query_utils.Q'>, args = (), kwargs = {'is_draft': False} |
| /home/wstearns/opt/lib/python2.5/site-packages/django/db/models/sql/query.py in add_q(self=<django.db.models.sql.query.Query object at 0xb747204c>, q_object=<django.db.models.query_utils.Q object at 0xb747220c>, used_aliases=set([])) |
| 1074 else: |
| 1075 self.add_filter(child, connector, q_object.negated, |
| 1076 can_reuse=used_aliases) |
| 1077 connector = q_object.connector |
| 1078 if q_object.negated: |
| can_reuse undefined, used_aliases = set([]) |
| /home/wstearns/opt/lib/python2.5/site-packages/django/db/models/sql/query.py in add_filter(self=<django.db.models.sql.query.Query object at 0xb747204c>, filter_expr=('is_draft', False), connector='AND', negate=False, trim=False, can_reuse=set([])) |
| 966 try: |
| 967 field, target, opts, join_list, last = self.setup_joins(parts, opts, |
| 968 alias, True, allow_many, can_reuse=can_reuse) |
| 969 except MultiJoin, e: |
| 970 self.split_exclude(filter_expr, LOOKUP_SEP.join(parts[:e.level])) |
| alias = 'blog_post', builtin True = True, allow_many = True, can_reuse = set([]) |
| /home/wstearns/opt/lib/python2.5/site-packages/django/db/models/sql/query.py in setup_joins(self=<django.db.models.sql.query.Query object at 0xb747204c>, names=['is_draft'], opts=<Options for Post>, alias='blog_post', dupe_multis=True, allow_many=True, allow_explicit_fk=False, can_reuse=set([])) |
| 1103 |
| 1104 try: |
| 1105 field, model, direct, m2m = opts.get_field_by_name(name) |
| 1106 except FieldDoesNotExist: |
| 1107 for f in opts.fields: |
| field undefined, model undefined, direct undefined, m2m undefined, opts = <Options for Post>, opts.get_field_by_name = <bound method Options.get_field_by_name of <Options for Post>>, name = 'is_draft' |
| /home/wstearns/opt/lib/python2.5/site-packages/django/db/models/options.py in get_field_by_name(self=<Options for Post>, name='is_draft') |
| 252 return self._name_map[name] |
| 253 except AttributeError: |
| 254 cache = self.init_name_map() |
| 255 return cache[name] |
| 256 except KeyError: |
| cache undefined, self = <Options for Post>, self.init_name_map = <bound method Options.init_name_map of <Options for Post>> |
| /home/wstearns/opt/lib/python2.5/site-packages/django/db/models/options.py in init_name_map(self=<Options for Post>) |
| 279 for f, model in self.get_m2m_with_model(): |
| 280 cache[f.name] = (f, model, True, True) |
| 281 for f, model in self.get_all_related_m2m_objects_with_model(): |
| 282 cache[f.field.related_query_name()] = (f, model, False, True) |
| 283 for f, model in self.get_all_related_objects_with_model(): |
| f = <django.contrib.contenttypes.generic.GenericRelation object at 0xb74fa34c>, model = None, self = <Options for Post>, self.get_all_related_m2m_objects_with_model = <bound method Options.get_all_related_m2m_objects_with_model of <Options for Post>> |
| /home/wstearns/opt/lib/python2.5/site-packages/django/db/models/options.py in get_all_related_m2m_objects_with_model(self=<Options for Post>) |
| 352 cache = self._related_many_to_many_cache |
| 353 except AttributeError: |
| 354 cache = self._fill_related_many_to_many_cache() |
| 355 return cache.items() |
| 356 |
| cache undefined, self = <Options for Post>, self._fill_related_many_to_many_cache = <bound method Options._fill_related_many_to_many_cache of <Options for Post>> |
| /home/wstearns/opt/lib/python2.5/site-packages/django/db/models/options.py in _fill_related_many_to_many_cache(self=<Options for Post>) |
| 366 else: |
| 367 cache[obj] = model |
| 368 for klass in get_models(): |
| 369 for f in klass._meta.local_many_to_many: |
| 370 if f.rel and not isinstance(f.rel.to, str) and self == f.rel.to._meta: |
| klass undefined, global get_models = <bound method AppCache.get_models of <django.db.models.loading.AppCache object at 0xb77d9acc>> |
| /home/wstearns/opt/lib/python2.5/site-packages/django/db/models/loading.py in get_models(self=<django.db.models.loading.AppCache object at 0xb77d9acc>, app_mod=None) |
| 132 Otherwise returns a list of all installed models. |
| 133 """ |
| 134 self._populate() |
| 135 if app_mod: |
| 136 return self.app_models.get(app_mod.__name__.split('.')[-2], {}).values() |
| self = <django.db.models.loading.AppCache object at 0xb77d9acc>, self._populate = <bound method AppCache._populate of <django.db.models.loading.AppCache object at 0xb77d9acc>> |
| /home/wstearns/opt/lib/python2.5/site-packages/django/db/models/loading.py in _populate(self=<django.db.models.loading.AppCache object at 0xb77d9acc>) |
| 53 if app_name in self.handled: |
| 54 continue |
| 55 self.load_app(app_name, True) |
| 56 if not self.nesting_level: |
| 57 for app_name in self.postponed: |
| self = <django.db.models.loading.AppCache object at 0xb77d9acc>, self.load_app = <bound method AppCache.load_app of <django.db.models.loading.AppCache object at 0xb77d9acc>>, app_name = 'robots', builtin True = True |
| /home/wstearns/opt/lib/python2.5/site-packages/django/db/models/loading.py in load_app(self=<django.db.models.loading.AppCache object at 0xb77d9acc>, app_name='robots', can_postpone=True) |
| 68 self.handled[app_name] = None |
| 69 self.nesting_level += 1 |
| 70 mod = __import__(app_name, {}, {}, ['models']) |
| 71 self.nesting_level -= 1 |
| 72 if not hasattr(mod, 'models'): |
| mod undefined, builtin __import__ = <built-in function __import__>, app_name = 'robots' |
| /home/wstearns/django_projects/byteflow/apps/robots/models.py in |
| 2 from django.core import validators |
| 3 from django.contrib.admin.views.doc import simplify_regex |
| 4 from django.contrib.sites.models import Site |
| 5 from django.utils.translation import ugettext_lazy as _ |
| 6 from django.utils.text import get_text_list |
| django undefined, simplify_regex undefined |
| /home/wstearns/opt/lib/python2.5/site-packages/django/contrib/admin/views/doc.py in |
| 2 from django.template import RequestContext |
| 3 from django.conf import settings |
| 4 from django.contrib.admin.views.decorators import staff_member_required |
| 5 from django.db import models |
| 6 from django.shortcuts import render_to_response |
| django undefined, template undefined, templatetags undefined |
| /home/wstearns/opt/lib/python2.5/site-packages/django/templatetags/__init__.py in |
| 3 for a in settings.INSTALLED_APPS: |
| 4 try: |
| 5 __path__.extend(__import__(a + '.templatetags', {}, {}, ['']).__path__) |
| 6 except ImportError: |
| 7 pass |
| __path__ = None, __path__.extend undefined, builtin __import__ = <built-in function __import__>, a = None, ).__path__ undefined |
| /home/wstearns/django_projects/byteflow/apps/tagging/templatetags/__init__.py in |
<type 'exceptions.KeyboardInterrupt'>: