app/soc/logic/helper/convert_db.py
author Sverre Rabbelier <srabbelier@gmail.com>
Sat, 07 Mar 2009 18:16:54 +0000
changeset 1721 9acf4fe1b9bb
parent 1603 ec08b2b00439
child 2068 f5e8fbbd3bea
permissions -rw-r--r--
Adjust the total_popularity after ranging This way 'off the scale' orgs (many applicants, with only few mentors available) will not pull the total amount of allocated slots down as much as before. Patch by: Sverre Rabbelier

#!/usr/bin/python2.5
#
# Copyright 2008 the Melange authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

"""Converts the DB from an old scheme to a new one.
"""

__authors__ = [
    '"Sverre Rabbelier" <sverre@rabbelier.nl>',
  ]


from google.appengine.api import users

from django import http

from soc.models import user as user_model
from soc.logic import accounts
from soc.logic.models.user import logic as user_logic


def convert_user_accounts(*args, **kwargs):
  """Converts all current user accounts to normalized form.
  """

  data = user_logic.getAll(user_model.User.all())

  for user in data:
    normalized = accounts.normalizeAccount(user.account)
    if user.account != normalized:
      user.account = normalized
      user.put()

  return http.HttpResponse('Done')