Exemplo n.º 1
0
class Names(object):

    # obj initializer
    def __init__(self):
        self.file_reader_obj = FileReader()
        self.male_first = self.file_reader_obj.get_file_male_first_data()
        self.female_first = self.file_reader_obj.get_file_female_first_data()
        self.last = self.file_reader_obj.get_file_last_data()

    # checks for correct gender
    def check_gender(self, gender):
        if gender in ('male', 'female', None):
            return True
        else:
            return False

    # returns a random gender
    def get_random_gender(self):
        return random.choice(('male', 'female'))

    # returns a gender specific firstname
    def get_first_name(self, gender=None):
        if self.check_gender(gender):
            if gender is None:
                gender = self.get_random_gender()
            if gender == 'male':
                return str(random.choice(self.male_first)).title()
            elif gender == 'female':
                return str(random.choice(self.female_first)).title()
        else:
            raise IOError

    # returns a lastname
    def get_last_name(self):
        return str(random.choice(self.last)).title()

    # returns a fullname
    def get_full_name(self, gender=None):
        if self.check_gender(gender):
            return "{0} {1}".format(self.get_first_name(gender=gender), self.get_last_name())
        else:
            raise IOError