diff options
| author | Adam Chainz <adam@adamj.eu> | 2016-11-22 11:56:22 +0000 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-11-22 18:27:19 -0500 |
| commit | 10d49b96e667d3936c169e2bead2cf93748451af (patch) | |
| tree | ab4dac978e1e74c39c00838ffae6026420b3aac2 /django | |
| parent | b1a9041535db5d03dab7f205669f0ab7a47de854 (diff) | |
Added tests for contrib.sitemaps.ping_google().
Diffstat (limited to 'django')
| -rw-r--r-- | django/contrib/sitemaps/__init__.py | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/django/contrib/sitemaps/__init__.py b/django/contrib/sitemaps/__init__.py index 8d779ca2bd..5721c8861d 100644 --- a/django/contrib/sitemaps/__init__.py +++ b/django/contrib/sitemaps/__init__.py @@ -21,6 +21,15 @@ def ping_google(sitemap_url=None, ping_url=PING_URL): for this site -- e.g., '/sitemap.xml'. If sitemap_url is not provided, this function will attempt to deduce it by using urls.reverse(). """ + sitemap_full_url = _get_sitemap_full_url(sitemap_url) + params = urlencode({'sitemap': sitemap_full_url}) + urlopen('%s?%s' % (ping_url, params)) + + +def _get_sitemap_full_url(sitemap_url): + if not django_apps.is_installed('django.contrib.sites'): + raise ImproperlyConfigured("ping_google requires django.contrib.sites, which isn't installed.") + if sitemap_url is None: try: # First, try to get the "index" sitemap URL. @@ -35,13 +44,9 @@ def ping_google(sitemap_url=None, ping_url=PING_URL): if sitemap_url is None: raise SitemapNotFound("You didn't provide a sitemap_url, and the sitemap URL couldn't be auto-detected.") - if not django_apps.is_installed('django.contrib.sites'): - raise ImproperlyConfigured("ping_google requires django.contrib.sites, which isn't installed.") Site = django_apps.get_model('sites.Site') current_site = Site.objects.get_current() - url = "http://%s%s" % (current_site.domain, sitemap_url) - params = urlencode({'sitemap': url}) - urlopen("%s?%s" % (ping_url, params)) + return 'http://%s%s' % (current_site.domain, sitemap_url) class Sitemap(object): |
