Files
2025-05-20 11:57:43 -04:00

79 lines
1.7 KiB
Python

#!/usr/bin/env python
from datetime import date
import sqlite3
class President(object):
PRES_QUERY = '''
select termnum, lastname, firstname, termstart, termend, birthplace, birthstate,
birthdate, deathdate, party
from presidents
where termnum = ?
'''
def __init__(self, index):
self._get_data(index)
def _get_data(self, index):
conn = sqlite3.connect("../DATA/presidents.db")
cur = conn.cursor()
cur.execute(President.PRES_QUERY, (index,))
row = cur.fetchone()
if row:
self._termnum = row[0]
self._lname = row[1]
self._fname = row[2]
self._ts_date = row[3]
self._te_date = row[4] if row[4] else date.today()
self._bplace = row[5]
self._bstate = row[6]
self._bdate = row[7]
self._ddate = row[8] if row[8] else "(still living)"
self._party = row[9]
else:
print("Term {} not found".format(index))
@property
def last_name(self):
return self._lname
@property
def first_name(self):
return self._fname
@property
def birth_date(self):
return self._bdate
@property
def death_date(self):
return self._ddate
@property
def birth_place(self):
return self._bplace
@property
def birth_state(self):
return self._bstate
@property
def term_start(self):
return self._ts_date
@property
def term_end(self):
return self._te_date
@property
def party(self):
return self._party
if __name__ == '__main__':
for term in 1, 16, 26, 44:
p = President(term)
print(p.first_name, p.last_name, p.party)