File size: 1,604 Bytes
448e881
a807ea9
d9b4271
14f90e3
a807ea9
 
 
642bcd2
 
 
 
 
 
 
 
 
 
a807ea9
 
 
 
 
448e881
 
 
a807ea9
 
448e881
 
a807ea9
 
 
 
 
 
 
 
 
 
 
 
 
14f90e3
a807ea9
14f90e3
a807ea9
9863595
642bcd2
14f90e3
2714786
642bcd2
 
 
 
a807ea9
 
642bcd2
d9b4271
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import streamlit as st
import pandas as pd
import streamlit_common.footer
import streamlit_common.lib as lib

mslist_path = "output/middleschool.csv"


def split_names_list(row: pd.DataFrame):
    if not isinstance(row["legalnames"], list):
        return row
    row["English"] = row["legalnames"][0]
    if row["legalnames"][1] is not None:
        row["ζ—₯本θͺž"] = row["legalnames"][1]
    return row


st.set_page_config(
    page_title="Middle School | Check Card List",
    page_icon="πŸƒ",
    layout="wide",
)
st.write(
    """
    # Middle School List Check

    Paste or type your list here to confirm that every card in it is Middle School legal.
    """
)

mslist_df = pd.read_csv(mslist_path)
mslist_df.fillna("", inplace=True)

col1, col2 = st.columns(2)

input_list = col1.text_area(
    label="##### Card list", placeholder="4 Lightning Bolt\n4 γƒœγƒΌγƒ«γƒ»γƒ©γ‚€γƒˆγƒ‹γƒ³γ‚°", height=400
)

cardnames = []

for line in input_list.split("\n"):
    cardname = lib.remove_number_of_copies(line)
    if cardname is not None:
        cardnames.append(lib.remove_number_of_copies(cardname))

input_cards = pd.DataFrame(cardnames, columns=["cardname"])
input_cards["Legal"] = input_cards["cardname"].apply(
    lib.is_cardname_legal, args=[mslist_df]
)
input_cards["legalnames"] = input_cards["cardname"].apply(
    lib.get_legal_cardnames, args=[mslist_df]
)
input_cards = input_cards.apply(split_names_list, axis=1)

col2.write("##### Middle School legality")
col2.dataframe(input_cards[["Legal", "English", "ζ—₯本θͺž"]], use_container_width=True)

streamlit_common.footer.write_footer()