def publicservant_itinerary(lastname=None, firstname=None, limit=100): """Get the itinerary of lobbyist meetings for a given public servant.""" lastname = clean_name(lastname) if lastname else "" firstname = clean_name(firstname) if firstname else "" query = SESSION.query(db.DPOHCommDetailsView) query = query.filter(db.DPOHCommDetailsView.dpoh_last_name == lastname) query = query.filter(db.DPOHCommDetailsView.dpoh_first_name == firstname) query.order_by(db.DPOHCommDetailsView.com_date) query.limit(limit) data = { "dpoh_last_name": lastname, "dpoh_first_name": firstname, "itinerary": defaultdict(list) } for r in query.all(): data["itinerary"][r.com_date_str()].append({ "reg_first_name": r.registrant_first_name, "reg_last_name": r.registrant_last_name, "comlog_id": r.comlog_id, "subject_matter": r.subject_matter, "client_name": r.client_name }) return data
def itinerary(): """The itinerary app page.""" dpoh_firstname = clean_name(request.args.get("firstname", "Stephen")) dpoh_lastname = clean_name(request.args.get("lastname", "Harper")) return render_template("itinerary.html.j2", dpoh_firstname=dpoh_firstname, dpoh_lastname=dpoh_lastname)
def test_all_caps(self): name = "TESTNAME" expected = "Testname" result = clean_name(name) self.assertEqual(result, expected)
def test_title_with_punctuation(self): name = "The Right Hon. Test" expected = "Test" result = clean_name(name) self.assertEqual(result, expected)
def test_embedded_title(self): name = "Honourabletest" expected = "Honourabletest" result = clean_name(name) self.assertEqual(result, expected)
def test_punctuation(self): name = ".Test" expected = "Test" result = clean_name(name) self.assertEqual(result, expected)
def test_trailing_whitespace(self): name = "Test " expected = "Test" result = clean_name(name) self.assertEqual(result, expected)