From: Bret Taylor Date: Thu, 4 Feb 2010 07:51:20 +0000 (-0800) Subject: Simplify JavaScript path ordering patch X-Git-Tag: v1.0.0~76^2~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4daeb8d880204f5baa64fc958654da9dff60ae0e;p=thirdparty%2Ftornado.git Simplify JavaScript path ordering patch --- diff --git a/tornado/web.py b/tornado/web.py index fd3bd5dd0..6a55d2a47 100644 --- a/tornado/web.py +++ b/tornado/web.py @@ -347,25 +347,18 @@ class RequestHandler(object): head_part = module.html_head() if head_part: html_heads.append(_utf8(head_part)) if js_files: - paths = {} + # Maintain order of JavaScript files given by modules + paths = [] + unique_paths = set() for path in js_files: if not path.startswith("/") and not path.startswith("http:"): - paths[path] = self.static_url(path) - else: - paths[path] = path - - used_paths = set() - resolved_paths = [] - for path in js_files: - resolved = paths[path] - if resolved in used_paths: - continue - used_paths.add(resolved) - resolved_paths.append(resolved) - + path = self.static_url(path) + if path not in unique_paths: + paths.append(path) + unique_paths.add(path) js = ''.join('' - for p in resolved_paths) + for p in paths) sloc = html.rindex('') html = html[:sloc] + js + '\n' + html[sloc:] if js_embed: