commit
65c4ac3b24
|
@ -6,9 +6,11 @@ from django.utils.six.moves.urllib.request import urlopen
|
|||
|
||||
PING_URL = "http://www.google.com/webmasters/tools/ping"
|
||||
|
||||
|
||||
class SitemapNotFound(Exception):
|
||||
pass
|
||||
|
||||
|
||||
def ping_google(sitemap_url=None, ping_url=PING_URL):
|
||||
"""
|
||||
Alerts Google that the sitemap for the current site has been updated.
|
||||
|
@ -35,6 +37,7 @@ def ping_google(sitemap_url=None, ping_url=PING_URL):
|
|||
params = urlencode({'sitemap': url})
|
||||
urlopen("%s?%s" % (ping_url, params))
|
||||
|
||||
|
||||
class Sitemap(object):
|
||||
# This limit is defined by Google. See the index documentation at
|
||||
# http://sitemaps.org/protocol.php#index.
|
||||
|
@ -105,11 +108,13 @@ class Sitemap(object):
|
|||
self.latest_lastmod = latest_lastmod
|
||||
return urls
|
||||
|
||||
|
||||
class FlatPageSitemap(Sitemap):
|
||||
def items(self):
|
||||
current_site = Site.objects.get_current()
|
||||
return current_site.flatpage_set.filter(registration_required=False)
|
||||
|
||||
|
||||
class GenericSitemap(Sitemap):
|
||||
priority = None
|
||||
changefreq = None
|
||||
|
|
|
@ -19,6 +19,7 @@ __all__ = ('SelectDateWidget',)
|
|||
|
||||
RE_DATE = re.compile(r'(\d{4})-(\d\d?)-(\d\d?)$')
|
||||
|
||||
|
||||
def _parse_date_fmt():
|
||||
fmt = get_format('DATE_FORMAT')
|
||||
escaped = False
|
||||
|
@ -39,6 +40,7 @@ def _parse_date_fmt():
|
|||
#if not self.first_select: self.first_select = 'day'
|
||||
return output
|
||||
|
||||
|
||||
class SelectDateWidget(Widget):
|
||||
"""
|
||||
A Widget that splits date input into three <select> boxes.
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
# Originally from https://bitbucket.org/ned/jslex
|
||||
import re
|
||||
|
||||
|
||||
class Tok(object):
|
||||
"""
|
||||
A specification for a token class.
|
||||
|
@ -15,6 +16,7 @@ class Tok(object):
|
|||
self.regex = regex
|
||||
self.next = next
|
||||
|
||||
|
||||
def literals(choices, prefix="", suffix=""):
|
||||
"""
|
||||
Create a regex from a space-separated list of literal `choices`.
|
||||
|
|
|
@ -11,6 +11,7 @@ background = dict((color_names[x], '4%s' % x) for x in range(8))
|
|||
RESET = '0'
|
||||
opt_dict = {'bold': '1', 'underscore': '4', 'blink': '5', 'reverse': '7', 'conceal': '8'}
|
||||
|
||||
|
||||
def colorize(text='', opts=(), **kwargs):
|
||||
"""
|
||||
Returns your text, enclosed in ANSI graphics codes.
|
||||
|
@ -55,6 +56,7 @@ def colorize(text='', opts=(), **kwargs):
|
|||
text = '%s\x1b[%sm' % (text or '', RESET)
|
||||
return '%s%s' % (('\x1b[%sm' % ';'.join(code_list)), text or '')
|
||||
|
||||
|
||||
def make_style(opts=(), **kwargs):
|
||||
"""
|
||||
Returns a function with default parameters for colorize()
|
||||
|
@ -132,6 +134,7 @@ PALETTES = {
|
|||
}
|
||||
DEFAULT_PALETTE = DARK_PALETTE
|
||||
|
||||
|
||||
def parse_color_setting(config_string):
|
||||
"""Parse a DJANGO_COLORS environment variable to produce the system palette
|
||||
|
||||
|
|
|
@ -19,6 +19,7 @@ from sphinx.util.nodes import set_source_info
|
|||
simple_option_desc_re = re.compile(
|
||||
r'([-_a-zA-Z0-9]+)(\s*.*?)(?=,\s+(?:/|-|--)|$)')
|
||||
|
||||
|
||||
def setup(app):
|
||||
app.add_crossref_type(
|
||||
directivename="setting",
|
||||
|
|
|
@ -4,7 +4,7 @@ install-script = scripts/rpm-install.sh
|
|||
|
||||
[flake8]
|
||||
exclude=./django/utils/dictconfig.py,./django/contrib/comments/*,./django/utils/unittest.py,./tests/comment_tests/*,./django/test/_doctest.py,./django/utils/six.py,./django/conf/app_template/*
|
||||
ignore=E124,E125,E127,E128,E226,E241,E251,E302,E501,E261,W601
|
||||
ignore=E124,E125,E127,E128,E226,E251,E302,E501,E261,W601
|
||||
|
||||
[metadata]
|
||||
license-file = LICENSE
|
||||
|
|
|
@ -26,6 +26,7 @@ UNICODE_FILENAME = 'test-0123456789_中文_Orléans.jpg'
|
|||
MEDIA_ROOT = sys_tempfile.mkdtemp()
|
||||
UPLOAD_TO = os.path.join(MEDIA_ROOT, 'test_upload')
|
||||
|
||||
|
||||
@override_settings(MEDIA_ROOT=MEDIA_ROOT)
|
||||
class FileUploadTests(TestCase):
|
||||
@classmethod
|
||||
|
|
|
@ -8,11 +8,12 @@ from django.template import Template
|
|||
from django.test import TestCase
|
||||
from django.test.utils import override_settings
|
||||
|
||||
|
||||
class TestException(Exception):
|
||||
pass
|
||||
|
||||
# A middleware base class that tracks which methods have been called
|
||||
|
||||
# A middleware base class that tracks which methods have been called
|
||||
class TestMiddleware(object):
|
||||
def __init__(self):
|
||||
self.process_request_called = False
|
||||
|
@ -38,28 +39,32 @@ class TestMiddleware(object):
|
|||
def process_exception(self, request, exception):
|
||||
self.process_exception_called = True
|
||||
|
||||
# Middleware examples that do the right thing
|
||||
|
||||
# Middleware examples that do the right thing
|
||||
class RequestMiddleware(TestMiddleware):
|
||||
def process_request(self, request):
|
||||
super(RequestMiddleware, self).process_request(request)
|
||||
return HttpResponse('Request Middleware')
|
||||
|
||||
|
||||
class ViewMiddleware(TestMiddleware):
|
||||
def process_view(self, request, view_func, view_args, view_kwargs):
|
||||
super(ViewMiddleware, self).process_view(request, view_func, view_args, view_kwargs)
|
||||
return HttpResponse('View Middleware')
|
||||
|
||||
|
||||
class ResponseMiddleware(TestMiddleware):
|
||||
def process_response(self, request, response):
|
||||
super(ResponseMiddleware, self).process_response(request, response)
|
||||
return HttpResponse('Response Middleware')
|
||||
|
||||
|
||||
class TemplateResponseMiddleware(TestMiddleware):
|
||||
def process_template_response(self, request, response):
|
||||
super(TemplateResponseMiddleware, self).process_template_response(request, response)
|
||||
return TemplateResponse(request, Template('Template Response Middleware'))
|
||||
|
||||
|
||||
class ExceptionMiddleware(TestMiddleware):
|
||||
def process_exception(self, request, exception):
|
||||
super(ExceptionMiddleware, self).process_exception(request, exception)
|
||||
|
@ -67,27 +72,30 @@ class ExceptionMiddleware(TestMiddleware):
|
|||
|
||||
|
||||
# Sample middlewares that raise exceptions
|
||||
|
||||
class BadRequestMiddleware(TestMiddleware):
|
||||
def process_request(self, request):
|
||||
super(BadRequestMiddleware, self).process_request(request)
|
||||
raise TestException('Test Request Exception')
|
||||
|
||||
|
||||
class BadViewMiddleware(TestMiddleware):
|
||||
def process_view(self, request, view_func, view_args, view_kwargs):
|
||||
super(BadViewMiddleware, self).process_view(request, view_func, view_args, view_kwargs)
|
||||
raise TestException('Test View Exception')
|
||||
|
||||
|
||||
class BadTemplateResponseMiddleware(TestMiddleware):
|
||||
def process_template_response(self, request, response):
|
||||
super(BadTemplateResponseMiddleware, self).process_template_response(request, response)
|
||||
raise TestException('Test Template Response Exception')
|
||||
|
||||
|
||||
class BadResponseMiddleware(TestMiddleware):
|
||||
def process_response(self, request, response):
|
||||
super(BadResponseMiddleware, self).process_response(request, response)
|
||||
raise TestException('Test Response Exception')
|
||||
|
||||
|
||||
class BadExceptionMiddleware(TestMiddleware):
|
||||
def process_exception(self, request, exception):
|
||||
super(BadExceptionMiddleware, self).process_exception(request, exception)
|
||||
|
|
Loading…
Reference in New Issue