From 0c37a8d5238a62f4bca5737398ba53d10e4f1f29 Mon Sep 17 00:00:00 2001 From: Jeremy Kersten Date: Mon, 1 Feb 2016 18:44:25 +0100 Subject: [PATCH] [FIX] website: rename sitemap-1 to sitemap if only one file. Old code was duplicating the sitemap if less than LOC_PER_SITEMAP urls --- addons/website/controllers/main.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/addons/website/controllers/main.py b/addons/website/controllers/main.py index 712aa271a45..28d46d30669 100644 --- a/addons/website/controllers/main.py +++ b/addons/website/controllers/main.py @@ -105,7 +105,7 @@ class Website(openerp.addons.web.controllers.main.Home): content = None def create_sitemap(url, content): - ira.create(cr, uid, dict( + return ira.create(cr, uid, dict( datas=content.encode('base64'), mimetype=mimetype, type='binary', @@ -129,7 +129,6 @@ class Website(openerp.addons.web.controllers.main.Home): ira.unlink(cr, uid, sitemap_ids, context=context) pages = 0 - first_page = None locs = request.website.sudo(user=request.website.user_id.id).enumerate_pages() while True: values = { @@ -139,23 +138,21 @@ class Website(openerp.addons.web.controllers.main.Home): urls = iuv.render(cr, uid, 'website.sitemap_locs', values, context=context) if urls.strip(): page = iuv.render(cr, uid, 'website.sitemap_xml', dict(content=urls), context=context) - if not first_page: - first_page = page pages += 1 - create_sitemap('/sitemap-%d.xml' % pages, page) + last = create_sitemap('/sitemap-%d.xml' % pages, page) else: break if not pages: return request.not_found() elif pages == 1: - content = first_page + ira.write(cr, uid, last, dict(url="/sitemap.xml", name="/sitemap.xml"), context=context) else: # Sitemaps must be split in several smaller files with a sitemap index content = iuv.render(cr, uid, 'website.sitemap_index_xml', dict( pages=range(1, pages + 1), url_root=request.httprequest.url_root, ), context=context) - create_sitemap('/sitemap.xml', content) + create_sitemap('/sitemap.xml', content) return request.make_response(content, [('Content-Type', mimetype)])