def __init__(self, master): super().__init__(master, controller=None) self.gender_radio_group = CustomRadioGroup(self.frame, None) self.gender_radio_group.add("male", "male") self.gender_radio_group.add("female", "female") self.lbl_fname = LabelAndValue(self.frame, None, "name", label_length=10, value_length=40) self.lbl_falias = LabelAndValue(self.frame, None, "alias", label_length=10, value_length=40) self.btn_rnd = ttk.Button(self.frame, text="random", command=self.random_name) self.gender_radio_group.frame.grid(column=0, row=0, sticky=(W, N)) self.lbl_fname.frame.grid(column=0, row=1) self.lbl_falias.frame.grid(column=0, row=2) self.btn_rnd.grid(column=0, row=3) self.frame.grid(row=0, column=0, sticky = (N, E, W, S)) self.male_fnames = TableModel() self.female_fnames = TableModel() self.last_names = TableModel() self.first_aliases = TableModel() self.last_aliases = TableModel() self.male_fnames.load_table('first_names', 'male', 'default') self.female_fnames.load_table('first_names', 'female', 'default') self.first_aliases.load_table('first_aliases', 'all', 'default') self.last_aliases.load_table('last_aliases', 'all', 'default') self.last_names.load_table('last_names', 'all', 'default') self.db = dbManager()
def __init__(self, master): super().__init__(master, controller=None) self.elements = {} db = dbManager() row_num = 0 for key, value in db.databases.items(): self.elements[key] = ttk.Label(self.frame, text=key) self.elements[key].grid(column=0, row=row_num) number_of_names = len(db.databases[key].get_all()) self.elements[key + 'value'] = ttk.Label(self.frame, text=str(number_of_names)) self.elements[key + 'value'].grid(column=1, row=row_num) row_num += 1 self.females = ttk.Label(self.frame, text='female names') self.males = ttk.Label(self.frame, text='male names') fems = str(len(db.databases['first_names'].filter_by(group='default', gender='female'))) males = str(len(db.databases['first_names'].filter_by(group='default', gender='male'))) self.fem_count = ttk.Label(self.frame, text=fems) self.men_count = ttk.Label(self.frame, text=males) self.females.grid(column=0, row=row_num + 1) self.fem_count.grid(column=1, row=row_num + 1) self.males.grid(column=0, row=row_num + 2) self.men_count.grid(column=1, row=row_num + 2)
def save_last(self): db = dbManager() db.last_aliases.add_name(self.lbl_lalias.variable.get(), group='default', gender='all') self.search_last()
def search_last(self): db = dbManager() instance = db.last_aliases.search(self.lbl_lalias.variable.get(), group='default', gender='all', case_sensitive=False) self.lbl_lresult.variable.set(instance)
def import_names(self): names = self.read_file(self.lbl_filepath.get()) db = dbManager() db.databases[self.lbl_db_name.get()].add_all(names, group=self.lbl_group.get(), gender=self.lbl_gender.get())