def post(self): User = get_db_user(self.request,users.get_current_user()) Skill = skill.gql("WHERE Name='"+self.request.get('Skill')+"'").run().next() Service = service( Title = self.request.get('Title'), Description = self.request.get('Description'), Requester = User , TimeNeeded = int(self.request.get('TimeNeeded')), Skill = Skill, Geoloc = bool(self.request.get('Geoloc')), StartDate = datetime.strptime(self.request.get('StartDate'),'%Y-%M-%d'), EndDate = datetime.strptime(self.request.get('EndDate'),'%Y-%M-%d') ) Service.put() self.response.headers['Content-Type'] = 'application/json; charset=UTF-8' self.response.out.write( json.dumps( Service.to_dict() ))
def get(self): query = user.all(keys_only=True) entries =query.fetch(1000) db.delete(entries) query = category.all(keys_only=True) entries =query.fetch(1000) db.delete(entries) query = service.all(keys_only=True) entries =query.fetch(1000) db.delete(entries) query = skill.all(keys_only=True) entries =query.fetch(1000) db.delete(entries) query = skillstouser.all(keys_only=True) entries =query.fetch(1000) db.delete(entries) query = comment.all(keys_only=True) entries =query.fetch(1000) db.delete(entries) # Store category & Skills for Category in ConfigCategories: c = category(Name=Category) c.put() for Skill in ConfigCategories[Category]: skill(Name=Skill,Category=c).put() # Define profiles + link to Skills for User in ConfigProfils: u = user(FirstName = User['FirstName'], LastName = User['LastName'], Email = User['Email'], Image = User['Image'], Headline = User['Headline'], TimeCredit = User['TimeCredit'], Involvement = User['Involvement'], Address = User['Address'], Awards = [] ) u.put() for Skill in User["Skills"]: s = skill.gql("WHERE Name='"+Skill+"'").run().next() skillstouser(Skill=s,User=u).put() # Friends for User in ConfigProfils: if User.has_key('Friends'): for FriendEmail in User['Friends']: FriendUser = user.gql("WHERE Email='%s'" % FriendEmail).run().next() u = user.gql("WHERE Email='%s'" % User['Email']).run().next() u.Friends.append(FriendUser.key()) u.put() #Service for Service in ConfigServices: ## all FK needed User = user.gql("WHERE Email='"+Service["Requester"]+"'").run().next() Skill = skill.gql("WHERE Name='"+Service["Skill"]+"'").run().next() ser = service( Title = Service['Title'], Description = Service['Description'], Requester = User , TimeNeeded = Service['TimeNeeded'], Skill = Skill, Geoloc = Service['Geoloc'], StartDate = datetime.strptime(Service['StartDate'],'%Y-%M-%d'), EndDate = datetime.strptime(Service['EndDate'],'%Y-%M-%d'), Comments = [] ) if Service.has_key("Responder"): Responder = user.gql("WHERE Email='"+Service["Responder"]+"'").run().next() ser.Responder = Responder if Service.has_key('Comments'): for C in Service["Comments"]: User = user.gql("WHERE Email='"+C["Owner"]+"'").run().next() c = comment( Owner = User, Comment = C["Comment"] ) c.put() ser.Comments.append(c.key().id()) ser.put() # Service Applicants for SAppl in ServiceApplicants: # FK Service = service.gql("WHERE Title='%s'" % SAppl['Service']).run().next() Applicant = user.gql("WHERE Email='%s'" % SAppl['Applicant']).run().next() serviceapplicants( Date = datetime.strptime(SAppl['Date'], '%Y-%M-%d'), Service = Service, Applicant = Applicant ).put() self.response.headers['Content-Type'] = 'text/html; charset=UTF-8' self.response.write("Done")