'Returns a random lookup result from one of the provided
`valid_types`.'

def random_lookup(self, valid_types=[]):

    table_names = []
    for valid_type in valid_types:
        table_name = self._parse_table_name(valid_type)
        if (table_name and (table_name != 'pokemon_forms')):
            table_names.append(table_name)
    if (not table_names):
        table_names = list(self.indexed_tables)
        table_names.remove('pokemon_forms')
    table_name = random.choice(table_names)
    count = self.session.query(self.indexed_tables[table_name]).count()
    (id,) = self.session.query(self.indexed_tables[table_name].id).offset(random.randint(0, (count - 1))).first()
    return self.lookup(text_type(id), valid_types=[table_name])
