| Index: chrome/common/extensions/docs/server2/handler.py
|
| diff --git a/chrome/common/extensions/docs/server2/handler.py b/chrome/common/extensions/docs/server2/handler.py
|
| index f5b87eb5ee40f4c2afcd41b697c292d6933a0878..13f877f4106d0eb9c3733d70ae51af5f81963baa 100644
|
| --- a/chrome/common/extensions/docs/server2/handler.py
|
| +++ b/chrome/common/extensions/docs/server2/handler.py
|
| @@ -97,11 +97,12 @@ class Handler(webapp.RequestHandler):
|
| server_instance = ServerInstance.GetOrCreateOnline(channel)
|
|
|
| def run_cron_for_dir(d, path_prefix=''):
|
| - error = None
|
| + success = True
|
| start_time = time.time()
|
| files = [f for f in server_instance.content_cache.GetFromFileListing(d)
|
| if not f.endswith('/')]
|
| for f in files:
|
| + error = None
|
| path = '%s%s' % (path_prefix, f)
|
| try:
|
| response = MockResponse()
|
| @@ -113,21 +114,29 @@ class Handler(webapp.RequestHandler):
|
| if error:
|
| logging.error('cron/%s: error rendering %s: %s' % (
|
| channel, path, error))
|
| + success = False
|
| logging.info('cron/%s: rendering %s files took %s seconds' % (
|
| channel, len(files), time.time() - start_time))
|
| - return error
|
| + return success
|
|
|
| # Don't use "or" since we want to evaluate everything no matter what.
|
| - was_error = any((
|
| + success = any((
|
| + # Note: rendering the public templates will pull in all of the private
|
| + # templates.
|
| run_cron_for_dir(svn_constants.PUBLIC_TEMPLATE_PATH),
|
| - run_cron_for_dir(svn_constants.STATIC_PATH, path_prefix='static/')))
|
| -
|
| - if was_error:
|
| - self.response.status = 500
|
| - self.response.out.write('Failure')
|
| - else:
|
| + run_cron_for_dir(svn_constants.STATIC_PATH, path_prefix='static/'),
|
| + # Note: rendering the public templates will have pulled in the .js and
|
| + # manifest.json files (for listing examples on the API reference pages),
|
| + # but there are still images, CSS, etc.
|
| + run_cron_for_dir(svn_constants.EXAMPLES_PATH,
|
| + path_prefix='extensions/examples/')))
|
| +
|
| + if success:
|
| self.response.status = 200
|
| self.response.out.write('Success')
|
| + else:
|
| + self.response.status = 500
|
| + self.response.out.write('Failure')
|
|
|
| logging.info('cron/%s: finished' % channel)
|
|
|
| @@ -168,6 +177,11 @@ class Handler(webapp.RequestHandler):
|
|
|
| def get(self):
|
| path = self.request.path
|
| +
|
| + if path in ['favicon.ico', 'robots.txt']:
|
| + response.set_status(404)
|
| + return
|
| +
|
| if self._RedirectSpecialCases(path):
|
| return
|
|
|
|
|