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

Unified Diff: examples/games/scummvm/nacl-scumm/AppEngineMount.py

Issue 37213005: Update scummvm to 1.6.0, also make it a packaged app. (Closed) Base URL: https://naclports.googlecode.com/svn/trunk/src
Patch Set: use default .scummvmrc to have games automatically "loaded" Created 7 years, 2 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
Index: examples/games/scummvm/nacl-scumm/AppEngineMount.py
diff --git a/examples/games/scummvm/nacl-scumm/AppEngineMount.py b/examples/games/scummvm/nacl-scumm/AppEngineMount.py
deleted file mode 100644
index d9fb467ec2cde5c79b5c92a4b21985ea2f357b6f..0000000000000000000000000000000000000000
--- a/examples/games/scummvm/nacl-scumm/AppEngineMount.py
+++ /dev/null
@@ -1,151 +0,0 @@
-"""
-Copyright (c) 2011 The Native Client Authors. All rights reserved.
-Use of this source code is governed by a BSD-style license that can be
-found in the LICENSE file.
-"""
-
-import cgi
-import datetime
-import urllib
-import wsgiref.handlers
-import os
-import logging
-
-from google.appengine.ext import db
-from google.appengine.api import users
-from google.appengine.ext import webapp
-from google.appengine.ext.webapp.util import run_wsgi_app
-from google.appengine.ext.webapp import template
-from google.appengine.ext.webapp import Request
-from google.appengine.ext.db import Key
-
-
-"""
-This script is an example server backend for use with the App Engine
-mount type in nacl-mounts.
-"""
-
-
-class File(db.Model):
- owner = db.UserProperty()
- filename = db.StringProperty()
- data = db.BlobProperty()
-
-
-class MainPage(webapp.RequestHandler):
- def get(self):
- # Require the user to login.
- user = users.get_current_user()
- if not user:
- self.redirect(users.create_login_url(self.request.uri))
- return
-
- template_values = {
- }
- path = os.path.join(os.path.dirname(__file__), 'index.html')
- self.response.out.write(template.render(path, template_values))
-
-
-def FileKey(filename, user):
- if not user:
- u_id = -1
- else:
- u_id = user.user_id()
- return Key.from_path('File', '%s_%s' % (filename, u_id))
-
-
-class FileHandlingPage(webapp.RequestHandler):
- def post(self):
- user = users.get_current_user()
-
- split = self.request.path.rsplit('/', 1)
- assert (len(split) > 1)
- method = split[1]
-
- self.response.headers['Content-Type'] = 'application/octet-stream'
-
- if method == 'read':
- filename = self.request.get(u'filename')
- assert filename
- k = FileKey(filename, user)
- f = File.get(k)
- if f:
- self.response.out.write(f.data)
- self.response.out.write('1')
- else:
- self.response.out.write('0')
-
- elif method == 'write':
- self.response.out.write('1')
- data = self.request.get(u'data')
- filename = self.request.get(u'filename')
- assert filename
- assert data
- def create_or_update(filename, data, owner):
- k = FileKey(filename, user)
- f = File.get(k)
- if not f:
- f = File(key=k)
- f.owner = owner
- f.filename = filename
- f.data = data
- return f
-
- f = db.run_in_transaction(create_or_update, filename, data, user)
-
- def db_put(file):
- f.put()
-
- db.run_in_transaction(db_put, f)
-
- elif method == 'list':
- prefix = self.request.get(u'prefix')
- assert prefix
- # First make sure that the file is there
- k = FileKey(prefix, user)
- f = File.get(k)
- if not f:
- return
- q = File.all()
- q.filter('owner =', user)
- q.filter('filename >', prefix)
- q.filter('filename <', prefix + u'ffff')
- prefixslash = prefix
- if prefixslash[-1] != '/':
- prefixslash += '/'
- depth = len(prefixslash.split('/'))
- results = q.fetch(limit=100)
- for r in results:
- # make sure the file is directly under prefixslash
- if len(r.filename.split('/')) != depth:
- continue
- self.response.out.write('%s\n' % r.filename)
-
- elif method == 'remove':
- filename = self.request.get(u'filename')
- assert filename
- k = FileKey(filename, user)
- try:
- db.delete(k)
- self.response.out.write('1')
- except:
- self.response.out.write('0')
- return
-
- else:
- assert False
-
-
-application = webapp.WSGIApplication([
- ('/', MainPage),
- ('/_file/.*', FileHandlingPage),
-
-], debug=True)
-
-
-def main():
- run_wsgi_app(application)
-
-
-if __name__ == '__main__':
- main()

Powered by Google App Engine
This is Rietveld 408576698