def seed_student_proposal(request, i): """Returns the properties of a new student proposal. """ ensureUser() org = GSoCOrganization.get_by_key_name('google/gsoc2009/org_%d' % i) mentor = GSoCMentor.get_by_key_name('google/gsoc2009/org_%d/mentor' % i) user = User.get_by_key_name('user_%d' % i) student = GSoCStudent.get_by_key_name('google/gsoc2009/student_%d' % i) if not user: raise Error('Run seed_many for at least %d users first.' % i) if not student: raise Error('Run seed_many for at least %d students first.' % i) if not org: raise Error('Run seed_many for at least %d orgs first.' % i) if not mentor: raise Error('Run seed_many for at least %d mentors first.' % i) all_properties = [] # pylint: disable=E1103 for i in range(random.randint(5, 20)): link_id = 'proposal_%s_%d' % (org.link_id, i) scope_path = 'google/gsoc2009/' + user.link_id properties = { 'link_id': link_id, 'scope_path': scope_path, 'scope': student, 'key_name': '%s/%s' % (scope_path, link_id), 'title': 'The Awesome Proposal %s %d' % (user.link_id, i), 'abstract': 'This is an Awesome Proposal, look at its awesomeness!', 'content': 'Sorry, too Awesome for you to read!', 'additional_info': 'http://www.zipit.com', 'mentor': mentor, 'status': 'pending', 'org': org, 'program': org.scope, } all_properties.append(properties) return all_properties