Delete mtgcardcsv.py
This commit is contained in:
parent
af0b1dfb52
commit
1a45c349f4
@ -1,60 +0,0 @@
|
|||||||
import csv
|
|
||||||
import os
|
|
||||||
import argparse
|
|
||||||
|
|
||||||
# Function to append a card entry to the CSV file
|
|
||||||
def add_card_to_csv(csv_path, card_name, set_code, collector_number, quantity, foil):
|
|
||||||
file_exists = os.path.isfile(csv_path)
|
|
||||||
|
|
||||||
with open(csv_path, mode='a', newline='') as file:
|
|
||||||
writer = csv.writer(file)
|
|
||||||
|
|
||||||
# Write header if the file doesn't exist
|
|
||||||
if not file_exists:
|
|
||||||
writer.writerow(['Card Name', 'Set Code', 'Collector Number', 'Quantity', 'Foil'])
|
|
||||||
|
|
||||||
# Append the card data
|
|
||||||
writer.writerow([card_name, set_code, collector_number, quantity, foil])
|
|
||||||
|
|
||||||
print(f"Added {quantity}x {card_name} from set {set_code} with collector number {collector_number} (Foil: {foil}) to {csv_path}.")
|
|
||||||
|
|
||||||
# Function to parse and add multiple cards
|
|
||||||
def add_multiple_cards(csv_path, card_entries):
|
|
||||||
for entry in card_entries:
|
|
||||||
card_name, set_code, collector_number, quantity, foil = entry
|
|
||||||
add_card_to_csv(csv_path, card_name, set_code, collector_number, quantity, foil)
|
|
||||||
|
|
||||||
# Main function to handle command-line arguments
|
|
||||||
def main():
|
|
||||||
parser = argparse.ArgumentParser(description="Add one or more Magic: The Gathering cards to a CSV file.")
|
|
||||||
|
|
||||||
parser.add_argument('csv_path',
|
|
||||||
help="The path to the CSV file where the card data will be stored. If the file does not exist, it will be created.")
|
|
||||||
|
|
||||||
# Allow multiple --card entries
|
|
||||||
parser.add_argument('--card',
|
|
||||||
action='append',
|
|
||||||
nargs=5,
|
|
||||||
metavar=('Card_Name', 'Set_Code', 'Collector_Number', 'Quantity', 'Foil'),
|
|
||||||
help=("Add a card to the CSV file. "
|
|
||||||
"Each card entry should be specified in the following format: "
|
|
||||||
"Card_Name Set_Code Collector_Number Quantity Foil. "
|
|
||||||
"Foil should be 'True' or 'False' indicating if the card is foil or not. "
|
|
||||||
"This option can be used multiple times to add multiple cards in one command."))
|
|
||||||
|
|
||||||
args = parser.parse_args()
|
|
||||||
|
|
||||||
if args.card:
|
|
||||||
card_entries = []
|
|
||||||
for card in args.card:
|
|
||||||
card_name, set_code, collector_number, quantity, foil = card
|
|
||||||
quantity = int(quantity)
|
|
||||||
foil = foil.lower() == 'true' # Convert the foil input to a boolean
|
|
||||||
card_entries.append((card_name, set_code, collector_number, quantity, foil))
|
|
||||||
|
|
||||||
add_multiple_cards(args.csv_path, card_entries)
|
|
||||||
else:
|
|
||||||
print("No cards provided. Use the --card option to add cards.")
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
Loading…
Reference in New Issue
Block a user