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

Side by Side Diff: app/handlers/package_uploaders.py

Issue 816693002: Add string versions of User/Pickled objects to datastore models (Closed) Base URL: https://github.com/dart-lang/pub-dartlang.git@master
Patch Set: Use db.Text(encoding="utf-8") Created 6 years 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 unified diff | Download patch
« no previous file with comments | « app/handlers/api/package_versions.py ('k') | app/handlers/package_versions.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 # Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 # for details. All rights reserved. Use of this source code is governed by a 2 # for details. All rights reserved. Use of this source code is governed by a
3 # BSD-style license that can be found in the LICENSE file. 3 # BSD-style license that can be found in the LICENSE file.
4 4
5 from google.appengine.api import oauth 5 from google.appengine.api import oauth
6 from google.appengine.api import users 6 from google.appengine.api import users
7 7
8 import handlers 8 import handlers
9 import models 9 import models
10 10
(...skipping 13 matching lines...) Expand all
24 Only other uploaders may add new uploaders.""" 24 Only other uploaders may add new uploaders."""
25 25
26 package = handlers.request().package 26 package = handlers.request().package
27 user_to_add = users.User(email) 27 user_to_add = users.User(email)
28 if package.has_uploader(user_to_add): 28 if package.has_uploader(user_to_add):
29 handlers.http_error( 29 handlers.http_error(
30 400, "User '%s' is already an uploader for package '%s'." % 30 400, "User '%s' is already an uploader for package '%s'." %
31 (email, package.name)) 31 (email, package.name))
32 32
33 package.uploaders.append(user_to_add) 33 package.uploaders.append(user_to_add)
34 package.temp_synchronize_uploaders_to_uploaderemails()
34 package.put() 35 package.put()
35 package.invalidate_cache() 36 package.invalidate_cache()
36 return handlers.json_success( 37 return handlers.json_success(
37 "'%s' added as an uploader for package '%s'." % 38 "'%s' added as an uploader for package '%s'." %
38 (email, package.name)) 39 (email, package.name))
39 40
40 @handlers.json_action 41 @handlers.json_action
41 @handlers.requires_uploader 42 @handlers.requires_uploader
42 @models.transactional 43 @models.transactional
43 def delete(self, package_id, id, format): 44 def delete(self, package_id, id, format):
(...skipping 11 matching lines...) Expand all
55 (user_to_delete.nickname(), package.name)) 56 (user_to_delete.nickname(), package.name))
56 57
57 if len(package.uploaders) == 1: 58 if len(package.uploaders) == 1:
58 handlers.http_error( 59 handlers.http_error(
59 400, ("Package '%s' only has one uploader, so that uploader " + 60 400, ("Package '%s' only has one uploader, so that uploader " +
60 "can't be removed.") % package.name) 61 "can't be removed.") % package.name)
61 62
62 email_to_delete = user_to_delete.email().lower() 63 email_to_delete = user_to_delete.email().lower()
63 package.uploaders = [uploader for uploader in package.uploaders 64 package.uploaders = [uploader for uploader in package.uploaders
64 if uploader.email().lower() != email_to_delete] 65 if uploader.email().lower() != email_to_delete]
66 package.temp_synchronize_uploaders_to_uploaderemails()
65 package.put() 67 package.put()
66 package.invalidate_cache() 68 package.invalidate_cache()
67 return handlers.json_success( 69 return handlers.json_success(
68 "'%s' is no longer an uploader for package '%s'." % 70 "'%s' is no longer an uploader for package '%s'." %
69 (id, package.name)) 71 (id, package.name))
OLDNEW
« no previous file with comments | « app/handlers/api/package_versions.py ('k') | app/handlers/package_versions.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698