Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(235)

Unified Diff: styleguide/c++/chromium-cpp/main.py

Issue 589413003: Add a document describing which C++11 features we allow. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « styleguide/c++/chromium-cpp/index.yaml ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: styleguide/c++/chromium-cpp/main.py
diff --git a/styleguide/c++/chromium-cpp/main.py b/styleguide/c++/chromium-cpp/main.py
new file mode 100755
index 0000000000000000000000000000000000000000..9017296e5a22871a488c264419329e2ca5edd805
--- /dev/null
+++ b/styleguide/c++/chromium-cpp/main.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+#
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+from google.appengine.api import memcache
+from google.appengine.api import urlfetch
+import webapp2
+
+import base64
+
+"""A simple appengine app that hosts .html files in src/styleguide/c++ from
+chromium's git repo."""
+
+
+class MainHandler(webapp2.RequestHandler):
+ def get(self):
+ handler = GitilesMirrorHandler()
+ handler.initialize(self.request, self.response)
+ return handler.get("c++11.html")
+
+
+BASE = 'https://chromium.googlesource.com/chromium/src.git/' \
+ '+/master/styleguide/c++/%s?format=TEXT'
+class GitilesMirrorHandler(webapp2.RequestHandler):
+ def get(self, resource):
+ if '..' in resource: # No path traversal.
+ self.response.write(':-(')
+ return
+
+ url = BASE % resource
+ contents = memcache.get(url)
+ if not contents or self.request.get('bust'):
+ result = urlfetch.fetch(url)
+ if result.status_code != 200:
+ self.response.write('http error %d' % result.status_code)
+ return
+ contents = base64.b64decode(result.content)
+ memcache.set(url, contents, time=5*60) # seconds
+
+ if resource.endswith('.css'):
+ self.response.headers['Content-Type'] = 'text/css'
+ self.response.write(contents)
+
+
+app = webapp2.WSGIApplication([
+ ('/', MainHandler),
+ ('/(\S+\.(?:css|html))', GitilesMirrorHandler),
+], debug=True)
« no previous file with comments | « styleguide/c++/chromium-cpp/index.yaml ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698