def build_map(cursor=None): if cursor == None: cursor = database.get_cursor() # Drop the map_continent_tiles table query = "DROP TABLE map_continent_tiles" try: cursor.execute(query) except Exception as e: pass # Map preprocessor sync_f.fill_table(cursor, mapper.Map_continent().table_info, continent_list) sync_f.check_table(cursor, mapper.Map_continent_tiles, fix=True, show_fixes=False) path_preprocessor_f.run(cursor)
def clear_tables(cursor): # Clear data query = """DROP TABLE lore_blocks""" try: cursor.execute(query) except Exception as e: pass # raise Exception("Database error: %s\nQuery: %s" % (str(e.args[0]).replace("\n",""), query)) query = """DROP TABLE lore_entries""" try: cursor.execute(query) except Exception as e: pass # raise Exception("Database error: %s\nQuery: %s" % (str(e.args[0]).replace("\n",""), query)) # Build the tables back up thus resetting all the ID values sync_f.check_table(cursor, lore_entry.Lore_entry().table_info, fix=True, show_fixes=False) sync_f.check_table(cursor, lore_entry.Lore_block, fix=True, show_fixes=False)
def main(fix = False, show_fixes=False): output = [] # This allows for easy swapping pr = output.append pr = print cursor = database.get_cursor() if fix: pr(database.shell_text("\n''Checking and fixing tables''")) else: pr(database.shell_text("\n''Checking tables''")) # Classes #------------------------ # Stuff that relies on other stuff pr(sync_f.check_table(cursor, campaign.Campaign().table_info, fix, show_fixes)) pr(sync_f.check_table(cursor, battle.Battle().table_info, fix, show_fixes)) # Artefacts pr(sync_f.check_table(cursor, artefact.Artefact().table_info, fix, show_fixes)) # Armies pr(sync_f.check_table(cursor, army.Army().table_info, fix, show_fixes)) pr(sync_f.check_table(cursor, army.Army_monsters, fix, show_fixes)) # pr(sync_f.check_table(cursor, army.Army_battle_history, fix, show_fixes)) # Battle # pr(sync_f.check_table(cursor, battle.Battle_teams, fix, show_fixes)) # pr(sync_f.check_table(cursor, battle.Proposed_losses, fix, show_fixes)) # Campaign pr(sync_f.check_table(cursor, campaign.Campaign_teams, fix, show_fixes)) pr(sync_f.check_table(cursor, campaign.Campaign_armies, fix, show_fixes)) # Cities pr(sync_f.check_table(cursor, city.City().table_info, fix, show_fixes)) pr(sync_f.check_table(cursor, city.City_buildings, fix, show_fixes)) pr(sync_f.check_table(cursor, city.Trade_distances, fix, show_fixes)) # Logs pr(sync_f.check_table(cursor, log.Log().table_info, fix, show_fixes)) # Map stuff pr(sync_f.check_table(cursor, mapper.Map_terrain().table_info, fix, show_fixes)) pr(sync_f.check_table(cursor, mapper.Map_continent().table_info, fix, show_fixes)) # Missions pr(sync_f.check_table(cursor, mission.Mission().table_info, fix, show_fixes)) # Operatives pr(sync_f.check_table(cursor, operative.Operative().table_info, fix, show_fixes)) # Orders pr(sync_f.check_table(cursor, order_post.Order_post({}).table_info, fix, show_fixes)) pr(sync_f.check_table(cursor, intorder.Intorder({}).table_info, fix, show_fixes)) pr(sync_f.check_table(cursor, order_post.interactive_orders, fix, show_fixes)) # Players pr(sync_f.check_table(cursor, player.Player().table_info, fix, show_fixes)) pr(sync_f.check_table(cursor, player.Player_history, fix, show_fixes)) pr(sync_f.check_table(cursor, player.Player_kills, fix, show_fixes)) # Powers pr(sync_f.check_table(cursor, power.Power().table_info, fix, show_fixes)) pr(sync_f.check_table(cursor, power.Power_history, fix, show_fixes)) # Queries pr(sync_f.check_table(cursor, queries.Query().table_info, fix, show_fixes)) # Results pr(sync_f.check_table(cursor, results.Result().table_info, fix, show_fixes)) # Spy report pr(sync_f.check_table(cursor, spy_report.Spy_report().table_info, fix, show_fixes)) # Squad pr(sync_f.check_table(cursor, squad.Squad().table_info, fix, show_fixes)) pr(sync_f.check_table(cursor, squad.Squad_battle_history, fix, show_fixes)) # Stat pr(sync_f.check_table(cursor, stat.Stat().table_info, fix, show_fixes)) # Team pr(sync_f.check_table(cursor, team.Team().table_info, fix, show_fixes)) pr(sync_f.check_table(cursor, team.Team_resources, fix, show_fixes)) pr(sync_f.check_table(cursor, team.Team_relations, fix, show_fixes)) pr(sync_f.check_table(cursor, team.Border_history, fix, show_fixes)) pr(sync_f.check_table(cursor, team.Team_deities, fix, show_fixes)) pr(sync_f.check_table(cursor, team.Team_evolutions, fix, show_fixes)) pr(sync_f.check_table(cursor, team.Team_spells, fix, show_fixes)) pr(sync_f.check_table(cursor, team.Team_techs, fix, show_fixes)) pr(sync_f.check_table(cursor, team.Team_json_ti, fix, show_fixes)) pr(sync_f.check_table(cursor, team.Team_traits, fix, show_fixes)) # Turn pr(sync_f.check_table(cursor, turn.Turn().table_info, fix, show_fixes)) # Unit pr(sync_f.check_table(cursor, unit.Unit().table_info, fix, show_fixes)) pr(sync_f.check_table(cursor, unit.Unit_equipment, fix, show_fixes)) # Wonder pr(sync_f.check_table(cursor, wonder.Wonder().table_info, fix, show_fixes)) # Lists #------------------------ pr(sync_f.fill_table(cursor, building.Building().table_info, building_list)) pr(sync_f.fill_table(cursor, deity.Deity().table_info, deity_list)) pr(sync_f.fill_table(cursor, equipment.Equipment().table_info, equipment_list)) pr(sync_f.fill_table(cursor, evolution.Evolution().table_info, evolution_list)) pr(sync_f.fill_table(cursor, monster.Monster().table_info, monster_list)) pr(sync_f.fill_table(cursor, servant.Servant().table_info, servant_list)) pr(sync_f.fill_table(cursor, spell.Spell().table_info, spell_list)) pr(sync_f.fill_table(cursor, tech.Tech().table_info, tech_list)) pr(sync_f.fill_table(cursor, trait.Trait().table_info, trait_list)) # Rebuilds the tables internally due to a non-linear data structure page_saver.rebuild_pages(cursor) if fix: build_map(cursor) # database.conn.commit() if fix: pr("\nCommited changes\n") if pr == output.append: try: return "\n".join(output) except Exception as e: print(output) raise else: return ""