|
Names
Sept 29, 2020 7:26:06 GMT -8
Post by Uncle Buddy on Sept 29, 2020 7:26:06 GMT -8
# names.py
import os import files import tkinter as tk import sqlite3 import widgets as wdg import right_click_menu as rcm import styles as st import files import messages as msg import files
formats = st.make_formats_dict()
GENDER_TYPES = ('unknown (default if left blank)', 'female', 'male', 'other')
NAME_SUFFIXES = ( 'jr.', 'sr.', 'jr', 'sr', 'junior', 'senior', 'i', 'ii', 'iii', 'iv', 'v', 'vi', 'vii', 'viii', 'ix', 'x', 'xi', 'xii', 'xiii', 'xiv', 'xv')
def get_current_person():
current_file = files.get_current_file()[0] conn = sqlite3.connect(current_file) cur = conn.cursor() cur.execute( ''' SELECT name.person_id, names FROM name JOIN person ON person.person_id = name.person_id JOIN current ON name.person_id = current.person_id ''') current_person = cur.fetchone() current_person_id = current_person[0] current_person = current_person[1] return current_person_id, current_person
def get_name_with_id(id): ''' Get birth name of person with passed ID. '''
current_file = files.get_current_file()[0] conn = sqlite3.connect(current_file) cur = conn.cursor()
cur.execute( ''' SELECT names FROM name JOIN person ON name.person_id = person.person_id WHERE name_type_id = 1 AND name.person_id = ? ''', (id,)) full_name = cur.fetchone()
cur.close() conn.close()
if full_name: return full_name[0] elif not full_name: return ''
def make_values_list_for_person_select():
current_file = files.get_current_file()[0] conn = sqlite3.connect(current_file) cur = conn.cursor()
cur.execute(''' SELECT names, name.person_id, sort_order FROM name JOIN person ON person.person_id = name.person_id WHERE name_type_id = 1 ''')
peeps = cur.fetchall() peeps = [list(i) for i in peeps]
cur.close() conn.close()
combo_peeps = sorted(peeps, key=lambda i: i[2]) people = [] for tup in combo_peeps: line = '{} #{}'.format(tup[0], tup[1]) people.append(line) return people
|
|