View difference between Paste ID: yaQVzLiW and HyNT8QgG
SHOW: | | - or go back to the newest paste.
1
  def removeAdmin(self, data):
2
    for properties in data:
3
      logging.error(properties)
4
      if 'profile_key' not in properties:
5
        logging.warning("Missing key in '%s'", properties)
6
        continue
7
      profile_key = properties['profile_key']
8
      
9
      if 'program_key' not in properties:
10
        logging.warning("Missing key in '%s'", properties)
11
        continue
12
      program_key = properties['program_key']
13
      program_key_new = ndb.Key.from_old_key(program_key)
14
      profile = profile_key.get()
15
      if not profile:
16
          logging.warning("Invalid profile_key '%s'", profile_key)
17
          return
18
      @ndb.transactional
19
      def remove_admin_txn():
20
        #program_key_new=program_key
21
        logging.error(program_key)
22
	logging.error(profile_key)
23
        user = profile.key.parent() 
24
        #user=user_model.User.query(user_model.User.key.id() == profile.key.id()).get()
25
 
26
        if program_key_new in user.host_for:
27
	  user.host_for.remove(program_key_new)	
28
	  user.put()  	  
29
30
      remove_admin_txn()
31
32
    return True
33
34
ERROR    2014-03-01 23:54:23,641 gae_django.py:33] Exception in request:
35
Traceback (most recent call last):
36
  File "/home/kira111/shikher111-melange-soc/thirdparty/google_appengine/lib/django-1.5/django/core/handlers/base.py", line 115, in get_response
37
    response = callback(request, *callback_args, **callback_kwargs)
38
  File "/home/kira111/shikher111-melange-soc/build/soc/views/base.py", line 482, in __call__
39
    return self._dispatch(data, check, mutator)
40
  File "/home/kira111/shikher111-melange-soc/build/soc/views/base.py", line 439, in _dispatch
41
    return self.post(data, check, mutator)
42
  File "/home/kira111/shikher111-melange-soc/build/soc/modules/gsoc/views/program.py", line 388, in post
43
    if ProgramAdminsList(data.request, data, links.SOC_LINKER, urls.UrlNames).post():
44
  File "/home/kira111/shikher111-melange-soc/build/soc/modules/gsoc/views/program.py", line 303, in post
45
    return self.removeAdmin(parsed)
46
  File "/home/kira111/shikher111-melange-soc/build/soc/modules/gsoc/views/program.py", line 320, in removeAdmin
47
    program_key_new = ndb.Key.from_old_key(program_key)
48
  File "/home/kira111/shikher111-melange-soc/thirdparty/google_appengine/google/appengine/ext/ndb/key.py", line 583, in from_old_key
49
    return cls(urlsafe=str(old_key))
50
  File "/home/kira111/shikher111-melange-soc/thirdparty/google_appengine/google/appengine/ext/ndb/key.py", line 212, in __new__
51
    self.__reference = _ConstructReference(cls, **kwargs)
52
  File "/home/kira111/shikher111-melange-soc/thirdparty/google_appengine/google/appengine/ext/ndb/utils.py", line 136, in positional_wrapper
53
    return wrapped(*args, **kwds)
54
  File "/home/kira111/shikher111-melange-soc/thirdparty/google_appengine/google/appengine/ext/ndb/key.py", line 640, in _ConstructReference
55
    serialized = _DecodeUrlSafe(urlsafe)
56
  File "/home/kira111/shikher111-melange-soc/thirdparty/google_appengine/google/appengine/ext/ndb/key.py", line 790, in _DecodeUrlSafe
57
    return base64.b64decode(urlsafe.replace('-', '+').replace('_', '/'))
58
  File "/usr/lib/python2.7/base64.py", line 76, in b64decode
59
    raise TypeError(msg)
60
TypeError: Incorrect padding