diff --git a/Utilities/DatabaseBuilder.py b/Utilities/DatabaseBuilder.py index 3334293..fc48549 100644 --- a/Utilities/DatabaseBuilder.py +++ b/Utilities/DatabaseBuilder.py @@ -105,6 +105,32 @@ def create_tables(conn): conn.commit() +def tidy_location_name(name): + # Replace '-' with spaces + name = name.replace('-', ' ') + + # Remove 'area' from the end if present + name = re.sub(r'\sarea$', '', name, flags=re.IGNORECASE) + + # Capitalize the first letter of the first word + name = name.capitalize() + + # Check for cardinal directions at the end + cardinal_directions = ['north', 'south', 'east', 'west', 'northeast', 'northwest', 'southeast', 'southwest'] + for direction in cardinal_directions: + if name.lower().endswith(f' {direction}'): + # Remove the direction from the end and add it in brackets + name = name[:-len(direction)].strip() + name += f' ({direction.capitalize()})' + break + + return name + +def generate_location_description(name): + # Generate a simple description based on the name + description = f"A location in the Pokémon world known as {name}." + return description + def load_game_data(conn): cursor = conn.cursor() @@ -318,11 +344,14 @@ def load_encounter_data(conn): location, method = location_info.strip().rsplit(' ', 1) method = method.strip('()') + # Tidy up the location name and generate a description + description = tidy_location_name(location) + # Insert or get location_id cursor.execute(''' INSERT OR IGNORE INTO locations (name, description) VALUES (?, ?) - ''', (location, None)) + ''', (location, description)) cursor.execute('SELECT id FROM locations WHERE name = ?', (location,)) location_id = cursor.fetchone()[0]