Mapreduce to get/put Connection instances.
Underlying purpose is to add ignored_by_org field.
Change-Id: I8e36c736ca372ac555f84b3c543eb1c3f16d55e8
diff --git a/app/mapreduce.yaml b/app/mapreduce.yaml
index 7122368..37fcf92 100644
--- a/app/mapreduce.yaml
+++ b/app/mapreduce.yaml
@@ -377,3 +377,11 @@
value: soc.modules.gci.models.score.GCIOrgScore
- name: dry_run
value: True
+
+- name: ConnectionGetPut
+ mapper:
+ input_reader: mapreduce.input_readers.DatastoreKeyInputReader
+ handler: melange.mapreduce.connections_getput.process
+ params:
+ - name: entity_kind
+ value: melange.models.connection.Connection
diff --git a/app/melange/mapreduce/connections_getput.py b/app/melange/mapreduce/connections_getput.py
new file mode 100644
index 0000000..26ec519
--- /dev/null
+++ b/app/melange/mapreduce/connections_getput.py
@@ -0,0 +1,35 @@
+# Copyright 2015 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.
+
+"""MapReduce to get and put all Connection instances.
+
+Used after a new property is added. Originally written after we added
+the ignored_by_org property.
+"""
+
+from melange.appengine import django_setup
+django_setup.setup_environment()
+
+from google.appengine.ext import ndb
+
+from mapreduce import operation
+
+import melange.models.connection # pylint: disable=unused-import
+
+
+def process(connection_key):
+ connection_key = ndb.Key.from_old_key(connection_key)
+ connection = connection_key.get()
+ connection.put()
+ yield operation.counters.Increment('instances getput')