app/soc/tasks/updates/module_conversion.py
author Lennard de Rijk <ljvderijk@gmail.com>
Thu, 01 Oct 2009 20:13:40 +0200
changeset 2997 a7cb53d213d7
parent 2996 9a62e3cad4a8
child 2998 9c34768346da
permissions -rw-r--r--
Added the Organization to GSoCOrganzation update.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2973
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     1
#!/usr/bin/python2.5
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     2
#
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     3
# Copyright 2009 the Melange authors.
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     4
#
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     5
# Licensed under the Apache License, Version 2.0 (the "License");
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     6
# you may not use this file except in compliance with the License.
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     7
# You may obtain a copy of the License at
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     8
#
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
     9
#   http://www.apache.org/licenses/LICENSE-2.0
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    10
#
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    11
# Unless required by applicable law or agreed to in writing, software
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    12
# distributed under the License is distributed on an "AS IS" BASIS,
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    13
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    14
# See the License for the specific language governing permissions and
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    15
# limitations under the License.
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    16
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    17
"""The module conversion updates are defined in this module.
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    18
"""
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    19
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    20
__authors__ = [
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    21
  '"Lennard de Rijk" <ljvderijk@gmail.com>',
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    22
  ]
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    23
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    24
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    25
from google.appengine.api.labs import taskqueue
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    26
from google.appengine.ext import db
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    27
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    28
from django.http import HttpResponse
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    29
2996
9a62e3cad4a8 Use the iterative task iterator for the ProgramConversion update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2973
diff changeset
    30
from soc.logic.models.program import logic as program_logic
2997
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
    31
from soc.logic.models.organization import logic as org_logic
2996
9a62e3cad4a8 Use the iterative task iterator for the ProgramConversion update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2973
diff changeset
    32
from soc.tasks.helper import decorators
2973
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    33
from soc.tasks.helper import error_handler
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    34
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    35
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    36
# batch size to use when going through the entities
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    37
DEF_BATCH_SIZE = 10
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    38
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    39
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    40
def startUpdateWithUrl(request, task_url):
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    41
  """Spawns an update task for the given task URL.
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    42
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    43
  Args:
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    44
    request: Django Request object
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    45
    task_url: The URL used to run this update task
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    46
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    47
  Returns:
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    48
    True iff the new task is successfully added to the Task Queue API
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    49
  """
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    50
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    51
  new_task = taskqueue.Task(url=task_url)
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    52
  new_task.add()
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    53
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    54
  return True
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    55
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    56
2996
9a62e3cad4a8 Use the iterative task iterator for the ProgramConversion update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2973
diff changeset
    57
9a62e3cad4a8 Use the iterative task iterator for the ProgramConversion update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2973
diff changeset
    58
@decorators.iterative_task(program_logic)
9a62e3cad4a8 Use the iterative task iterator for the ProgramConversion update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2973
diff changeset
    59
def runProgramConversionUpdate(request, entities, context, *args, **kwargs):
2973
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    60
  """Appengine Task that converts Programs into GSoCPrograms.
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    61
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    62
  Args:
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    63
    request: Django Request object
2996
9a62e3cad4a8 Use the iterative task iterator for the ProgramConversion update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2973
diff changeset
    64
    entities: list of Program entities to convert
9a62e3cad4a8 Use the iterative task iterator for the ProgramConversion update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2973
diff changeset
    65
    context: the context of this task
2973
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    66
  """
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    67
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    68
  from soc.modules.gsoc.models.program import GSoCProgram
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    69
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    70
  # get all the properties that are part of each Programs
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    71
  program_model = program_logic.getModel()
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    72
  program_properties = program_model.properties().keys()
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    73
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    74
  # use this to store all the new GSoCPrograms
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    75
  gsoc_programs = []
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    76
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    77
  for entity in entities:
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    78
    gsoc_properties = {}
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    79
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    80
    for program_property in program_properties:
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    81
      # copy over all the information from the program entity
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    82
      gsoc_properties[program_property] = getattr(entity, program_property)
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    83
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    84
    # create the new GSoCProgram entity and prepare it to be stored
2997
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
    85
    gsoc_program_entity = GSoCProgram(key_name=entity.key().name(),
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
    86
                                      **gsoc_properties)
2973
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    87
    gsoc_programs.append(gsoc_program_entity)
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    88
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    89
    # store all the new GSoCPrograms
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    90
    db.put(gsoc_programs)
ba3f2522e8df Added first version of the 1st step in the module conversion process.
Lennard de Rijk <ljvderijk@gmail.com>
parents:
diff changeset
    91
2996
9a62e3cad4a8 Use the iterative task iterator for the ProgramConversion update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2973
diff changeset
    92
  # task completed, return
9a62e3cad4a8 Use the iterative task iterator for the ProgramConversion update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2973
diff changeset
    93
  return
2997
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
    94
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
    95
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
    96
@decorators.iterative_task(org_logic)
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
    97
def runOrgConversionUpdate(request, entities, context, *args, **kwargs):
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
    98
  """Appengine Task that converts Organizations into GSoCOrganizations.
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
    99
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   100
  Args:
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   101
    request: Django Request object
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   102
    entities: list of Organization entities to convert
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   103
    context: the context of this task
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   104
  """
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   105
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   106
  from soc.modules.gsoc.logic.models.program import logic as gsoc_program_logic
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   107
  from soc.modules.gsoc.models.organization import GSoCOrganization
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   108
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   109
  # get all the properties that are part of each Organization
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   110
  org_model = org_logic.getModel()
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   111
  org_properties = org_model.properties().keys()
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   112
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   113
  # use this to store all the new GSoCOrganization
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   114
  gsoc_orgs = []
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   115
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   116
  for entity in entities:
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   117
    gsoc_properties = {}
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   118
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   119
    for org_property in org_properties:
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   120
      # copy over all the information from the Organization entity
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   121
      gsoc_properties[org_property] = getattr(entity, org_property)
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   122
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   123
      # get the Program key belonging to the old Organization
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   124
      program_key = entity.scope.key().id_or_name()
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   125
      # get the new GSoCProgram and set it as scope for the GSoCOrganzation
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   126
      gsoc_program = gsoc_program_logic.getFromKeyName(program_key)
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   127
      gsoc_properties['scope'] = gsoc_program
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   128
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   129
    # create the new GSoCOrganization entity and prepare it to be stored
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   130
    gsoc_org_entity = GSoCOrganization(key_name=entity.key().name(),
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   131
                                       **gsoc_properties)
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   132
    gsoc_orgs.append(gsoc_org_entity)
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   133
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   134
    # store all the new GSoCOrganizations
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   135
    db.put(gsoc_orgs)
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   136
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   137
  # task completed, return
a7cb53d213d7 Added the Organization to GSoCOrganzation update.
Lennard de Rijk <ljvderijk@gmail.com>
parents: 2996
diff changeset
   138
  return