270 'key_data': [program_entity.key()]} |
270 'key_data': [program_entity.key()]} |
271 |
271 |
272 job_logic.updateOrCreateFromFields(job_fields) |
272 job_logic.updateOrCreateFromFields(job_fields) |
273 |
273 |
274 |
274 |
|
275 def deleteEntities(model, step_size=25): |
|
276 """Deletes all entities of the specified type |
|
277 """ |
|
278 |
|
279 print "Deleting..." |
|
280 count = 0 |
|
281 |
|
282 while True: |
|
283 entities = model.all().fetch(step_size) |
|
284 |
|
285 if not entities: |
|
286 break |
|
287 |
|
288 for entity in entities: |
|
289 entity.delete() |
|
290 |
|
291 count += step_size |
|
292 |
|
293 print "deleted %d entities" % count |
|
294 |
|
295 print "Done" |
|
296 |
275 def loadPickle(name): |
297 def loadPickle(name): |
276 """Loads a pickle. |
298 """Loads a pickle. |
277 """ |
299 """ |
278 |
300 |
279 f = open(name + '.dat') |
301 f = open(name + '.dat') |
297 from soc.models.organization import Organization |
319 from soc.models.organization import Organization |
298 from soc.models.user import User |
320 from soc.models.user import User |
299 from soc.models.student import Student |
321 from soc.models.student import Student |
300 from soc.models.mentor import Mentor |
322 from soc.models.mentor import Mentor |
301 from soc.models.org_admin import OrgAdmin |
323 from soc.models.org_admin import OrgAdmin |
|
324 from soc.models.job import Job |
|
325 from soc.models.student_proposal import StudentProposal |
|
326 from soc.models.student_project import StudentProject |
302 |
327 |
303 def slotSaver(org, value): |
328 def slotSaver(org, value): |
304 org.slots = value |
329 org.slots = value |
305 def popSaver(org, value): |
330 def popSaver(org, value): |
306 org.nr_applications = value |
331 org.nr_applications = value |
311 'load': loadPickle, |
336 'load': loadPickle, |
312 'dump': dumpPickle, |
337 'dump': dumpPickle, |
313 'orgStats': orgStats, |
338 'orgStats': orgStats, |
314 'printPopularity': printPopularity, |
339 'printPopularity': printPopularity, |
315 'saveValues': saveValues, |
340 'saveValues': saveValues, |
|
341 'getEntities': getEntities, |
|
342 'deleteEntities': deleteEntities, |
316 'getOrgs': getEntities(Organization), |
343 'getOrgs': getEntities(Organization), |
317 'getUsers': getEntities(User), |
344 'getUsers': getEntities(User), |
318 'getStudents': getEntities(Student), |
345 'getStudents': getEntities(Student), |
319 'getMentors': getEntities(Mentor), |
346 'getMentors': getEntities(Mentor), |
320 'getOrgAdmins': getEntities(OrgAdmin), |
347 'getOrgAdmins': getEntities(OrgAdmin), |
321 'getProps': getProps, |
348 'getProps': getProps, |
322 'countStudentsWithProposals': countStudentsWithProposals, |
349 'countStudentsWithProposals': countStudentsWithProposals, |
323 'convertProposals': convertProposals, |
350 'convertProposals': convertProposals, |
324 'addFollower': addFollower, |
351 'addFollower': addFollower, |
325 'Organization': Organization, |
352 'Organization': Organization, |
|
353 'Job': Job, |
326 'User': User, |
354 'User': User, |
327 'Student': Student, |
355 'Student': Student, |
328 'Mentor': Mentor, |
356 'Mentor': Mentor, |
329 'OrgAdmin': OrgAdmin, |
357 'OrgAdmin': OrgAdmin, |
|
358 'StudentProject': StudentProject, |
|
359 'StudentProposal': StudentProposal, |
330 'slotSaver': slotSaver, |
360 'slotSaver': slotSaver, |
331 'popSaver': popSaver, |
361 'popSaver': popSaver, |
332 'rawSaver': rawSaver, |
362 'rawSaver': rawSaver, |
333 'startSpam': startSpam, |
363 'startSpam': startSpam, |
334 } |
364 } |