1
0
mirror of https://github.com/django/django.git synced 2025-04-16 21:34:37 +00:00

magic-removal: Merged to [1686]

git-svn-id: http://code.djangoproject.com/svn/django/branches/magic-removal@1687 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2005-12-16 05:05:10 +00:00
parent a01eab5049
commit b5be4a4fcc
8 changed files with 43 additions and 24 deletions

View File

@ -199,7 +199,7 @@ td ul.errorlist li { margin:0 !important; }
/* ACTION ICONS */
.addlink { padding-left:12px; background:url(../img/admin/icon_addlink.gif) 0 .2em no-repeat; }
.changelink { padding-left:12px; background:url(../img/admin/icon_changelink.gif) 0 .2em no-repeat; }
.deletelink { padding-left:12px; background:url(../img/admin/icon_deletelink.gif) 0 50% no-repeat; }
.deletelink { padding-left:12px; background:url(../img/admin/icon_deletelink.gif) 0 .2em no-repeat; }
a.deletelink:link, a.deletelink:visited { color:#CC3434; }
a.deletelink:hover { color:#993333; }

View File

@ -303,7 +303,7 @@ class _FileCache(_SimpleCache):
os.remove(fname)
else:
return pickle.load(f)
except (IOError, OSError, pickle.PickleError):
except (IOError, OSError, EOFError, pickle.PickleError):
pass
return default

View File

@ -2,6 +2,7 @@
from django.core.template import resolve_variable, Library
from django.conf.settings import DATE_FORMAT, TIME_FORMAT
from django.utils.translation import gettext
import re
import random as random_module
@ -351,7 +352,7 @@ def divisibleby(value, arg):
"Returns true if the value is devisible by the argument"
return int(value) % int(arg) == 0
def yesno(value, arg=_("yes,no,maybe")):
def yesno(value, arg=None):
"""
Given a string mapping values for true, false and (optionally) None,
returns one of those strings accoding to the value:
@ -365,7 +366,9 @@ def yesno(value, arg=_("yes,no,maybe")):
``None`` ``"yeah,no"`` ``"no"`` (converts None to False
if no mapping for None is given.
========== ====================== ==================================
"""
"""
if arg is None:
arg = gettext('yes,no,maybe')
bits = arg.split(',')
if len(bits) < 2:
return value # Invalid arg.
@ -470,4 +473,4 @@ register.filter(urlize)
register.filter(urlizetrunc)
register.filter(wordcount)
register.filter(wordwrap)
register.filter(yesno)
register.filter(yesno)

View File

@ -31,21 +31,24 @@
import os, sys, thread, time
RUN_RELOADER = True
reloadFiles = []
def reloader_thread():
mtimes = {}
win = (sys.platform == "win32")
while RUN_RELOADER:
for filename in filter(lambda v: v, map(lambda m: getattr(m, "__file__", None), sys.modules.values())) + reloadFiles:
for filename in filter(lambda v: v, map(lambda m: getattr(m, "__file__", None), sys.modules.values())):
if filename.endswith(".pyc") or filename.endswith("*.pyo"):
filename = filename[:-1]
if not os.path.exists(filename):
continue # File might be in an egg, so it can't be reloaded.
if filename.endswith(".pyc"):
filename = filename[:-1]
mtime = os.stat(filename).st_mtime
stat = os.stat(filename)
mtime = stat.st_mtime
if win:
mtime -= stat.st_ctime
if filename not in mtimes:
mtimes[filename] = mtime
continue
if mtime > mtimes[filename]:
if mtime != mtimes[filename]:
sys.exit(3) # force reload
time.sleep(1)

View File

@ -1,6 +1,7 @@
from django import models
from django.core.xheaders import populate_xheaders
from django.core import template_loader, formfields, meta
from django.core.template import loader
from django.core import formfields, meta
from django.views.auth.login import redirect_to_login
from django.core.extensions import DjangoContext as Context
from django.core.paginator import ObjectPaginator, InvalidPage
@ -8,7 +9,7 @@ from django.utils.httpwrappers import HttpResponse, HttpResponseRedirect
from django.core.exceptions import Http404, ObjectDoesNotExist, ImproperlyConfigured
def create_object(request, app_label, module_name, template_name=None,
template_loader=template_loader, extra_context={},
template_loader=loader, extra_context={},
post_save_redirect=None, login_required=False, follow=None):
"""
Generic object-creation function.
@ -70,7 +71,7 @@ def create_object(request, app_label, module_name, template_name=None,
return HttpResponse(t.render(c))
def update_object(request, app_label, module_name, object_id=None, slug=None,
slug_field=None, template_name=None, template_loader=template_loader,
slug_field=None, template_name=None, template_loader=loader,
extra_lookup_kwargs={}, extra_context={}, post_save_redirect=None,
login_required=False, follow=None):
"""
@ -145,7 +146,7 @@ def update_object(request, app_label, module_name, object_id=None, slug=None,
def delete_object(request, app_label, module_name, post_delete_redirect,
object_id=None, slug=None, slug_field=None, template_name=None,
template_loader=template_loader, extra_lookup_kwargs={},
template_loader=loader, extra_lookup_kwargs={},
extra_context={}, login_required=False):
"""
Generic object-delete function.

View File

@ -1,4 +1,4 @@
from django.core import template_loader
from django.core.template import loader
from django.core.exceptions import Http404, ObjectDoesNotExist
from django.core.extensions import DjangoContext as Context
from django.core.xheaders import populate_xheaders
@ -7,7 +7,7 @@ from django.utils.httpwrappers import HttpResponse
import datetime, time
def archive_index(request, app_label, module_name, date_field, num_latest=15,
template_name=None, template_loader=template_loader,
template_name=None, template_loader=loader,
extra_lookup_kwargs={}, extra_context={}, allow_empty=False):
"""
Generic top-level archive of date-based objects.
@ -50,7 +50,7 @@ def archive_index(request, app_label, module_name, date_field, num_latest=15,
return HttpResponse(t.render(c))
def archive_year(request, year, app_label, module_name, date_field,
template_name=None, template_loader=template_loader,
template_name=None, template_loader=loader,
extra_lookup_kwargs={}, extra_context={}):
"""
Generic yearly archive view.
@ -87,7 +87,7 @@ def archive_year(request, year, app_label, module_name, date_field,
return HttpResponse(t.render(c))
def archive_month(request, year, month, app_label, module_name, date_field,
month_format='%b', template_name=None, template_loader=template_loader,
month_format='%b', template_name=None, template_loader=loader,
extra_lookup_kwargs={}, extra_context={}):
"""
Generic monthly archive view.
@ -136,7 +136,7 @@ def archive_month(request, year, month, app_label, module_name, date_field,
def archive_day(request, year, month, day, app_label, module_name, date_field,
month_format='%b', day_format='%d', template_name=None,
template_loader=template_loader, extra_lookup_kwargs={},
template_loader=loader, extra_lookup_kwargs={},
extra_context={}, allow_empty=False):
"""
Generic daily archive view.
@ -200,7 +200,7 @@ def archive_today(request, **kwargs):
def object_detail(request, year, month, day, app_label, module_name, date_field,
month_format='%b', day_format='%d', object_id=None, slug=None,
slug_field=None, template_name=None, template_name_field=None,
template_loader=template_loader, extra_lookup_kwargs={},
template_loader=loader, extra_lookup_kwargs={},
extra_context={}):
"""
Generic detail view from year/month/day/slug or year/month/day/id structure.

View File

@ -1,5 +1,5 @@
from django import models
from django.core import template_loader
from django.core.template import loader
from django.utils.httpwrappers import HttpResponse
from django.core.xheaders import populate_xheaders
from django.core.extensions import DjangoContext as Context
@ -7,7 +7,7 @@ from django.core.paginator import ObjectPaginator, InvalidPage
from django.core.exceptions import Http404, ObjectDoesNotExist
def object_list(request, app_label, module_name, paginate_by=None, allow_empty=False,
template_name=None, template_loader=template_loader,
template_name=None, template_loader=loader,
extra_lookup_kwargs={}, extra_context={}):
"""
Generic list of objects.
@ -80,7 +80,7 @@ def object_list(request, app_label, module_name, paginate_by=None, allow_empty=F
def object_detail(request, app_label, module_name, object_id=None, slug=None,
slug_field=None, template_name=None, template_name_field=None,
template_loader=template_loader, extra_lookup_kwargs={},
template_loader=loader, extra_lookup_kwargs={},
extra_context={}):
"""
Generic list of objects.

View File

@ -32,6 +32,18 @@ its setup.py utility. If it's not on your path, you can find it in
``site-packages/django/bin``; consider symlinking to it from some place
on your path, such as /usr/local/bin.)
.. admonition:: Where should this code live?
If your background is in PHP, you're probably used to putting code under the
Web server's document root (in a place such as ``/var/www``). With Django,
you don't do that. It's not a good idea to put any of this Python code within
your Web server's document root, because it risks the possibility that
people may be able to view your code over the Web. That's not good for
security.
Put your code in some directory **outside** of the document root, such as
``/home/mycode``.
A project is a collection of settings for an instance of Django -- including
database configuration, Django-specific options and application-specific
settings. Let's look at what ``startproject`` created::