def approve_pull_request(house_name, user_id, date): pigeon_key = ndb.Key(Pigeon, user_id) house_list = House.query(House.name == house_name).fetch() house_key = house_list[0].key pr_list = PullRequest.query(PullRequest.pigeon_key == pigeon_key, PullRequest.house_key == house_key, PullRequest.date_str == date).fetch() if pr_list: pr = pr_list[0] if pr.mode == 'add': add_card(pr.house_key.get().name, pr.new_key, pr.new_value) pr.key.delete() return elif pr.mode == 'remove': remove_card(pr.house_key.get().name, pr.card_key.get().card_key) pr.key.delete() return elif pr.mode == 'key': edit_card_key(pr.house_key.get().name, pr.card_key.get().card_key, pr.new_key) pr.key.delete() return elif pr.mode == 'content': edit_card_content(pr.house_key.get().name, pr.card_key.get().card_key, pr.new_value) pr.key.delete() return else: return
def reject_pull_request(house_name, user_id, date): pigeon_key = ndb.Key(Pigeon, user_id) house_list = House.query(House.name == house_name).fetch() house_key = house_list[0].key pr_list = PullRequest.query(PullRequest.pigeon_key == pigeon_key, PullRequest.house_key == house_key, PullRequest.date_str == date).fetch() if pr_list: pr = pr_list[0] pr.key.delete() return else: return
def show_all_pull_request(house_name): house_list = House.query(House.name == house_name).fetch() house_key = house_list[0].key pr_list = PullRequest.query(PullRequest.house_key == house_key).order( PullRequest.date).fetch() if pr_list: #print pr_list return map( lambda s: { "user_id": s.pigeon_key.get().pigeon_id, "mode": s.mode, "newkey": s.new_key, "newcontent": s.new_value, "date": s.date_str, "card_key": s.card_key.id() }, pr_list) else: return