mirror of
https://github.com/mwisnowski/mtg_python_deckbuilder.git
synced 2025-09-22 04:50:46 +02:00
Redid setup logic, started adding more logic to deckbuilding
This commit is contained in:
parent
0ecf34210b
commit
d19c3c6db6
4 changed files with 270 additions and 611 deletions
623
setup.py
623
setup.py
|
@ -2,14 +2,23 @@ from __future__ import annotations
|
|||
|
||||
import pandas as pd # type: ignore
|
||||
import requests # type: ignore
|
||||
import inquirer.prompt # type: ignore
|
||||
|
||||
from settings import banned_cards
|
||||
|
||||
staple_lists = ['Colorless', 'White', 'Blue', 'Black']
|
||||
colorless_staples = [] # type: ignore
|
||||
white_staples = [] # type: ignore
|
||||
blue_staples = [] # type: ignore
|
||||
black_staples = [] # type: ignore
|
||||
colors = ['colorless', 'white', 'blue', 'black', 'green', 'red',
|
||||
'azorius', 'orzhov', 'selesnya', 'boros', 'dimir',
|
||||
'simic', 'izzet', 'golgari', 'rakdos', 'gruul',
|
||||
'bant', 'esper', 'grixis', 'jund', 'naya',
|
||||
'abzan', 'jeskai', 'mardu', 'sultai', 'temur',
|
||||
'dune', 'glint', 'ink', 'witch', 'yore', 'wubrg']
|
||||
color_abrv = ['Colorless', 'W', 'U', 'B', 'G', 'R',
|
||||
'U, W', 'B, W', 'G, W', 'R, W', 'B, U',
|
||||
'G, U', 'R, U', 'B, G', 'B, R', 'G, R',
|
||||
'G, U, W', 'B, U, W', 'B, R, U', 'B, G, R', 'G, R, W',
|
||||
'B, G, W', 'R, U, W', 'B, R, U', 'B, G, U', 'G, R, U',
|
||||
'B, G, R, W', 'B, G, R, U', 'G, R, U, W', 'B, G, U, W',
|
||||
'B, R, U, W', 'B, G, R, U, W']
|
||||
|
||||
def filter_by_color(df, column_name, value, new_csv_name):
|
||||
# Filter dataframe
|
||||
|
@ -21,8 +30,8 @@ def filter_by_color(df, column_name, value, new_csv_name):
|
|||
as well as taking out Arena-only cards.
|
||||
"""
|
||||
filtered_df.sort_values('name')
|
||||
filtered_df = filtered_df[filtered_df['layout'].str.contains('reversible_card') == False]
|
||||
filtered_df = filtered_df[filtered_df['availability'].str.contains('arena') == False]
|
||||
filtered_df = filtered_df.loc[filtered_df['layout'] != 'reversible_card']
|
||||
filtered_df = filtered_df.loc[filtered_df['availability'] != 'arena']
|
||||
filtered_df.drop_duplicates(subset='name', keep='first', inplace=True)
|
||||
columns_to_keep = ['name', 'edhrecRank','colorIdentity', 'colors', 'manaCost', 'manaValue', 'type', 'keywords', 'text', 'power', 'toughness']
|
||||
filtered_df = filtered_df[columns_to_keep]
|
||||
|
@ -31,6 +40,13 @@ def filter_by_color(df, column_name, value, new_csv_name):
|
|||
|
||||
def determine_legendary():
|
||||
# Filter dataframe
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/cards.csv', 'r', encoding='utf-8'):
|
||||
break
|
||||
except FileNotFoundError:
|
||||
initial_setup()
|
||||
|
||||
df = pd.read_csv('csv_files/cards.csv', low_memory=False)
|
||||
legendary_options = ['Legendary Creature', 'Legendary Artifact Creature', 'Legendary Enchantment Creature']
|
||||
filtered_df = df[df['type'].str.contains('|'.join(legendary_options))]
|
||||
|
@ -41,8 +57,8 @@ def determine_legendary():
|
|||
as well as taking out Arena-only cards.
|
||||
"""
|
||||
filtered_df.sort_values('name')
|
||||
filtered_df = filtered_df[filtered_df['layout'].str.contains('reversible_card') == False]
|
||||
filtered_df = filtered_df[filtered_df['availability'].str.contains('arena') == False]
|
||||
filtered_df = filtered_df.loc[filtered_df['layout'] != 'reversible_card']
|
||||
filtered_df = filtered_df.loc[filtered_df['availability'] != 'arena']
|
||||
filtered_df.drop_duplicates(subset='name', keep='first', inplace=True)
|
||||
columns_to_keep = ['name', 'edhrecRank','colorIdentity', 'colors', 'manaCost', 'manaValue', 'type', 'keywords', 'text', 'power', 'toughness']
|
||||
filtered_df = filtered_df[columns_to_keep]
|
||||
|
@ -50,7 +66,6 @@ def determine_legendary():
|
|||
filtered_df.to_csv('csv_files/legendary_cards.csv', index=False)
|
||||
|
||||
def initial_setup():
|
||||
# Check if the overall cards.csv file exists
|
||||
print('Checking for cards.csv file.\n')
|
||||
while True:
|
||||
try:
|
||||
|
@ -64,314 +79,32 @@ def initial_setup():
|
|||
r = requests.get(url)
|
||||
with open('csv_files/cards.csv', 'wb') as outputfile:
|
||||
outputfile.write(r.content)
|
||||
|
||||
# Load cards.csv file into pandas dataframe so it can be further broken down
|
||||
df = pd.read_csv('csv_files/cards.csv', low_memory=False)
|
||||
df['colorIdentity'] = df['colorIdentity'].fillna('None')
|
||||
|
||||
# Checking for and creating individual color identity sorted csvs
|
||||
|
||||
# Set frames that have nothing for color identity to be 'Colorless' instead
|
||||
df['colorIdentity'] = df['colorIdentity'].fillna('Colorless')
|
||||
|
||||
# Check for and create missing, individual color identity sorted CSVs
|
||||
print('Checking for color identity sorted files.\n')
|
||||
|
||||
# Colorless
|
||||
print('Checking for colorless_cards.csv.\n')
|
||||
while True:
|
||||
# For loop to iterate through the colors
|
||||
for i in range(len(colors), len(color_abrv)):
|
||||
print(f'Checking for {colors[i]}_cards.csv.')
|
||||
try:
|
||||
with open('csv_files/colorless_cards.csv', 'r', encoding='utf-8'):
|
||||
print('colorless_cards.csv exists.\n')
|
||||
break
|
||||
with open(f'csv_files/{colors[i]}_cards.csv', 'r', encoding='utf-8'):
|
||||
print(f'{colors[i]}_cards.csv exists.\n')
|
||||
except FileNotFoundError:
|
||||
print('colorless_cards.csv not found, creating it.\n')
|
||||
filter_by_color(df, 'colorIdentity', 'None', 'csv_files/colorless_cards.csv')
|
||||
print('Checking for mono-color card lists.\n')
|
||||
while True:
|
||||
print('Checking for white_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/white_cards.csv', 'r', encoding='utf-8'):
|
||||
print('white_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('white_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'W', 'csv_files/white_cards.csv')
|
||||
print('Checking for blue_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/blue_cards.csv', 'r', encoding='utf-8'):
|
||||
print('blue_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('blue_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'U', 'csv_files/blue_cards.csv')
|
||||
print('Checking for black_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/black_cards.csv', 'r', encoding='utf-8'):
|
||||
print('black_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('black_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'B', 'csv_files/black_cards.csv')
|
||||
print('Checking for red_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/red_cards.csv', 'r', encoding='utf-8'):
|
||||
print('red_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('red_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'R', 'csv_files/red_cards.csv')
|
||||
print('Checking for green_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/green_cards.csv', 'r', encoding='utf-8'):
|
||||
print('green_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('green_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'G', 'csv_files/green_cards.csv')
|
||||
break
|
||||
print('Checking for color-pair lists.\n')
|
||||
while True:
|
||||
print('Checking for azorius_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/azorius_cards.csv', 'r', encoding='utf-8'):
|
||||
print('azorius_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('azorius_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'U, W', 'csv_files/azorius_cards.csv')
|
||||
print('Checking for orzhov_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/orzhov_cards.csv', 'r', encoding='utf-8'):
|
||||
print('orzhov_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('orzhov_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, W', 'csv_files/orzhov_cards.csv')
|
||||
print('Checking for boros_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/boros_cards.csv', 'r', encoding='utf-8'):
|
||||
print('boros_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('boros_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'R, W', 'csv_files/boros_cards.csv')
|
||||
print('Checking for selesnya_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/selesnya_cards.csv', 'r', encoding='utf-8'):
|
||||
print('selesnya_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('selesnya_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'G, W', 'csv_files/selesnya_cards.csv')
|
||||
print('Checking for dimir_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/dimir_cards.csv', 'r', encoding='utf-8'):
|
||||
print('dimir_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('dimir_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, U', 'csv_files/dimir_cards.csv')
|
||||
print('Checking for izzet_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/izzet_cards.csv', 'r', encoding='utf-8'):
|
||||
print('izzet_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('izzet_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'R, U', 'csv_files/izzet_cards.csv')
|
||||
print('Checking for simic_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/simic_cards.csv', 'r', encoding='utf-8'):
|
||||
print('simic_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('simic_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'G, U', 'csv_files/simic_cards.csv')
|
||||
print('Checking for rakdos_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/rakdos_cards.csv', 'r', encoding='utf-8'):
|
||||
print('rakdos_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('rakdos_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, R', 'csv_files/rakdos_cards.csv')
|
||||
print('Checking for golgari_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/golgari_cards.csv', 'r', encoding='utf-8'):
|
||||
print('golgari_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('golgari_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, G', 'csv_files/golgari_cards.csv')
|
||||
print('Checking for gruul_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/gruul_cards.csv', 'r', encoding='utf-8'):
|
||||
print('gruul_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('gruul_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'G, R', 'csv_files/gruul_cards.csv')
|
||||
break
|
||||
print('Checking for three-color sets.\n')
|
||||
while True:
|
||||
print('Checking for bant_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/bant_cards.csv', 'r', encoding='utf-8'):
|
||||
print('bant_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('bant_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'G, U, W', 'csv_files/bant_cards.csv')
|
||||
print('Checking for esper_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/esper_cards.csv', 'r', encoding='utf-8'):
|
||||
print('esper_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('esper_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, U, W', 'csv_files/esper_cards.csv')
|
||||
print('Checking for grixis_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/grixis_cards.csv', 'r', encoding='utf-8'):
|
||||
print('grixis_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('grixis_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, R, U', 'csv_files/grixis_cards.csv')
|
||||
print('Checking for jund_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/jund_cards.csv', 'r', encoding='utf-8'):
|
||||
print('jund_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('jund_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, G, R', 'csv_files/jund_cards.csv')
|
||||
print('Checking for naya_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/naya_cards.csv', 'r', encoding='utf-8'):
|
||||
print('naya_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('naya_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'G, R, W', 'csv_files/naya_cards.csv')
|
||||
print('Checking for abzan_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/abzan_cards.csv', 'r', encoding='utf-8'):
|
||||
print('abzan_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('abzan_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, G, W', 'csv_files/abzan_cards.csv')
|
||||
print('Checking for jeskai_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/jeskai_cards.csv', 'r', encoding='utf-8'):
|
||||
print('jeskai_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('jeskai_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'R, U, W', 'csv_files/jeskai_cards.csv')
|
||||
print('Checking for mardu_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/mardu_cards.csv', 'r', encoding='utf-8'):
|
||||
print('mardu_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('mardu_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, R, W', 'csv_files/mardu_cards.csv')
|
||||
print('Checking for sultai_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/sultai_cards.csv', 'r', encoding='utf-8'):
|
||||
print('sultai_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('sultai_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, G, U', 'csv_files/sultai_cards.csv')
|
||||
print('Checking for temur_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/temur_cards.csv', 'r', encoding='utf-8'):
|
||||
print('temur_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('temur_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'G, R, U', 'csv_files/temur_cards.csv')
|
||||
break
|
||||
print('Checking for four color sets.\n')
|
||||
while True:
|
||||
print('Checking for dune_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/dune_cards.csv', 'r', encoding='utf-8'):
|
||||
print('dune_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('dune_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, G, R, W', 'csv_files/dune_cards.csv')
|
||||
print('Checking for glint_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/glint_cards.csv', 'r', encoding='utf-8'):
|
||||
print('glint_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('glint_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, G, R, U', 'csv_files/glint_cards.csv')
|
||||
print('Checking for ink_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/ink_cards.csv', 'r', encoding='utf-8'):
|
||||
print('ink_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('ink_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'G, R, U, W', 'csv_files/ink_cards.csv')
|
||||
print('Checking for witch_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/witch_cards.csv', 'r', encoding='utf-8'):
|
||||
print('witch_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('witch_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, G, U, W', 'csv_files/witch_cards.csv')
|
||||
print('Checking for yore_cards.csv.')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/yore_cards.csv', 'r', encoding='utf-8'):
|
||||
print('yore_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('yore_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, R, U, W', 'csv_files/yore_cards.csv')
|
||||
break
|
||||
print('Checking for wubrg_cards.csv.\n')
|
||||
while True:
|
||||
try:
|
||||
with open('csv_files/wubrg_cards.csv', 'r', encoding='utf-8'):
|
||||
print('wubrg_cards.csv exists.\n')
|
||||
break
|
||||
except FileNotFoundError:
|
||||
print('wubrg_cards.csv not found, creating it.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, G, R, U, W', 'csv_files/wubrg_cards.csv')
|
||||
|
||||
print(f'{colors[i]}_cards.csv not found, creating one.\n')
|
||||
filter_by_color(df, 'colorIdentity', color_abrv[i], f'csv_files/{colors[i]}_cards.csv')
|
||||
|
||||
# Once by-color lists have been made, Determine legendary creatures
|
||||
determine_legendary()
|
||||
|
||||
# Once Legendary creatures are determined, generate staple lists
|
||||
# generate_staple_lists()
|
||||
|
||||
def regenerate_csvs():
|
||||
"""
|
||||
Pull the original cards.csv file and remake the {color}_cards.csv files.
|
||||
|
@ -382,229 +115,25 @@ def regenerate_csvs():
|
|||
r = requests.get(url)
|
||||
with open('csv_files/cards.csv', 'wb') as outputfile:
|
||||
outputfile.write(r.content)
|
||||
# Load cards.csv file into pandas dataframe so it can be further broken down
|
||||
df = pd.read_csv('csv_files/cards.csv', low_memory=False)
|
||||
df['colorIdentity'] = df['colorIdentity'].fillna('None')
|
||||
|
||||
# Set frames that have nothing for color identity to be 'Colorless' instead
|
||||
df['colorIdentity'] = df['colorIdentity'].fillna('Colorless')
|
||||
|
||||
# Color identity sorted cards
|
||||
print('Regenerating color identity sorted files.\n')
|
||||
print('Regenerating colorless_cards.csv.')
|
||||
|
||||
# Colorless
|
||||
cards = 'colorless'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'None', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Mono color
|
||||
print('Regenerating mono-color card lists.\n')
|
||||
while True:
|
||||
# White cards
|
||||
cards = 'white'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'W', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Blue cards
|
||||
cards = 'blue'
|
||||
print('Regenerating blue_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'U', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Black cards
|
||||
cards = 'black'
|
||||
print('Regenerating black_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'B', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Red cards
|
||||
cards = 'red'
|
||||
print('Regenerating red_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'R', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Green cards
|
||||
cards = 'green'
|
||||
print('Regenerating green_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'G', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
break
|
||||
|
||||
# Color pairs
|
||||
print('Regenerating color-pair lists.\n')
|
||||
while True:
|
||||
# Azorius cards
|
||||
cards = 'azorius'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'U, W', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Orzhov cards
|
||||
cards = 'orzhov'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, W', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Boros cards
|
||||
cards = 'boros'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'R, U', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Selesnya
|
||||
cards = 'selesnya'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'G, W', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Dimir
|
||||
cards = 'dimir'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, U', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Izzet
|
||||
cards = 'izzet'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'R, U', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Simic
|
||||
cards = 'Simic'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'G, U', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Rakdos
|
||||
cards = 'rakdos'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, R', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Golgari
|
||||
cards = 'golgari'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, G', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Gruul
|
||||
cards = 'gruul'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'G, R', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
break
|
||||
|
||||
# Color trios
|
||||
print('Regenerating three-color sets.\n')
|
||||
while True:
|
||||
# Bant
|
||||
cards = 'Bant'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'G, U, W', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Esper
|
||||
cards = 'esper'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, U, W', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Grixis
|
||||
cards = 'grixis'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, R, U', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Jund
|
||||
cards = 'jund'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, G, R', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Naya
|
||||
cards = 'naya'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'G, R, W', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Abzan
|
||||
cards = 'abzan'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, G, W', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Jeskai
|
||||
cards = 'jeskai'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'R, U, W', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Mardu
|
||||
cards = 'mardu'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, R, W', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Sultai
|
||||
cards = 'sultai'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, G, U', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Temur
|
||||
cards = 'temur'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'G, R, U', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
break
|
||||
|
||||
# Four color
|
||||
print('Regenerating four color sets.\n')
|
||||
while True:
|
||||
# Dune
|
||||
cards = 'dune'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, G, R, W', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Glint
|
||||
cards = 'glint'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, G, R, U', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Ink
|
||||
cards = 'ink'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'G, R, U, W', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Witch
|
||||
cards = 'witch'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, G, U, W', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
# Yore
|
||||
cards = 'yore'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, R, U, W', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
break
|
||||
|
||||
# WUBRG
|
||||
cards = 'wubrg'
|
||||
print(f'Regenerating {cards}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', 'B, G, R, U, W', f'csv_files/{cards}_cards.csv')
|
||||
print(f'A new {cards}_cards.csv file has been made\n')
|
||||
|
||||
def generate_staple_lists():
|
||||
colors = ['colorless', 'white', 'blue', 'black', 'green', 'red',
|
||||
'azorius', 'orzhov', 'selesnya', 'boros', 'dimir',
|
||||
'simic', 'izzet', 'golgari', 'rakdos', 'gruul',
|
||||
'bant', 'esper', 'grixis', 'jund', 'naya',
|
||||
'abzan', 'jeskai', 'mardu', 'sultai', 'temur',
|
||||
'dune', 'glint', 'ink', 'witch', 'yore', 'wubrg']
|
||||
|
||||
# For loop to iterate through the colors
|
||||
for i in range(min(len(colors), len(color_abrv))):
|
||||
print(f'Regenerating {colors[i]}_cards.csv.')
|
||||
filter_by_color(df, 'colorIdentity', color_abrv[i], f'csv_files/{colors[i]}_cards.csv')
|
||||
print(f'A new {colors[i]}_cards.csv file has been made.\n')
|
||||
|
||||
# Once files are regenerated, create a new legendary list
|
||||
determine_legendary()
|
||||
|
||||
def generate_staple_lists():
|
||||
for color in colors:
|
||||
staples = []
|
||||
print(f'Checking for {color} staples file.')
|
||||
|
@ -637,4 +166,36 @@ def generate_staple_lists():
|
|||
with open(f'staples/{color}.txt', 'w') as f:
|
||||
for items in staples:
|
||||
f.write('%s\n' %items)
|
||||
|
||||
def add_tags():
|
||||
pass
|
||||
|
||||
def setup():
|
||||
while True:
|
||||
print('Which setup operation would you like to perform?\n'
|
||||
'If this is your first time setting up, do the initial setup.\n'
|
||||
'If you\'ve done the basic setup before, you can regenerate the CSV files\n')
|
||||
|
||||
choice = 'Menu'
|
||||
while choice == 'Menu':
|
||||
question = [
|
||||
inquirer.List('menu',
|
||||
choices=['Initial Setup', 'Regenerate CSV Files', 'Back'],
|
||||
carousel=True)
|
||||
]
|
||||
answer = inquirer.prompt(question)
|
||||
choice = answer['menu']
|
||||
|
||||
# Run through initial setup
|
||||
while choice == 'Initial Setup':
|
||||
initial_setup()
|
||||
break
|
||||
|
||||
# Regenerate CSV files
|
||||
while choice == 'Regenerate CSV Files':
|
||||
regenerate_csvs()
|
||||
break
|
||||
# Go back
|
||||
while choice == 'Back':
|
||||
break
|
||||
break
|
Loading…
Add table
Add a link
Reference in a new issue