Add monthly acrostics function
This commit is contained in:
parent
bf4e96263a
commit
2f8f021d06
1 changed files with 111 additions and 1 deletions
112
tools.py
112
tools.py
|
@ -1844,13 +1844,119 @@ def recentpri():
|
|||
print(", ".join(recentcards))
|
||||
else:
|
||||
print("None received")
|
||||
|
||||
def acrostics(monthly=False):
|
||||
startdate = input("Enter the start date (MMDD): ")
|
||||
themonth = int(startdate[0:2])
|
||||
theday = int(startdate[2:4])
|
||||
urls = []
|
||||
for event in log.log:
|
||||
if event["date"].year == datetime.datetime.today().year:
|
||||
if event["date"].month >= themonth:
|
||||
if event["date"].day >= theday:
|
||||
if "trade with " in event["event"]:
|
||||
try:
|
||||
if event["received"]:
|
||||
urls.append(event["url"])
|
||||
except:
|
||||
pass
|
||||
candidates = []
|
||||
for event in log.log:
|
||||
if event["url"] in urls:
|
||||
try:
|
||||
for card in event["received"]:
|
||||
if "sig_" not in card:
|
||||
carddict = {}
|
||||
carddict["card"] = card
|
||||
carddict["player"] = event["event"][11:]
|
||||
carddict["url"] = event["url"]
|
||||
candidates.append(carddict)
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
for card in event["lost"]:
|
||||
if "sig_" not in card:
|
||||
carddict = {}
|
||||
carddict["card"] = card
|
||||
carddict["player"] = event["event"][11:]
|
||||
carddict["url"] = event["url"]
|
||||
candidates.append(carddict)
|
||||
except:
|
||||
pass
|
||||
maxcards = {}
|
||||
for card in candidates:
|
||||
theplayer = card["player"]
|
||||
if theplayer in maxcards:
|
||||
maxcards[theplayer] += 1
|
||||
else:
|
||||
maxcards[theplayer] = 1
|
||||
for player in maxcards:
|
||||
maxcards[player] = int(maxcards[player] / 2)
|
||||
if monthly:
|
||||
word = input("Enter the monthly phrase: ").replace(" ","").replace(",","").replace("'","#").replace("-","#").lower()
|
||||
else:
|
||||
word = input("Enter the weekly word: ").replace(" ","").lower()
|
||||
wordspace = []
|
||||
places = len(word)
|
||||
while places > 0:
|
||||
wordspace.append("")
|
||||
places -= 1
|
||||
for card in candidates:
|
||||
wordindex = 0
|
||||
go = True
|
||||
theplayer = card["player"]
|
||||
if maxcards[theplayer] > 0:
|
||||
for space in wordspace:
|
||||
if go:
|
||||
if space == "":
|
||||
if len(colors.cardlist) + colors.tradepend > 800 and monthly:
|
||||
if word[wordindex] == "#":
|
||||
if card["card"][0] == "0" or card["card"][0] == "1" or card["card"][0] == "2" or card["card"][0] == "3" or card["card"][0] == "4" or card["card"][0] == "5" or card["card"][0] == "6" or card["card"][0] == "7" or card["card"][0] == "8" or card["card"][0] == "9":
|
||||
newspace = word[wordindex].upper() + " " + card["card"] + " – <a href=\"" + card["url"] + "\">" + card["player"] + "</a>"
|
||||
wordspace[wordindex] = newspace
|
||||
go = False
|
||||
theplayer = card["player"]
|
||||
maxcards[theplayer] -= 1
|
||||
else:
|
||||
if card["card"][0] == word[wordindex]:
|
||||
newspace = word[wordindex].upper() + " " + card["card"] + " – <a href=\"" + card["url"] + "\">" + card["player"] + "</a>"
|
||||
wordspace[wordindex] = newspace
|
||||
go = False
|
||||
theplayer = card["player"]
|
||||
maxcards[theplayer] -= 1
|
||||
else:
|
||||
if word[wordindex] == "#":
|
||||
if "0" in card["card"] or "1" in card["card"] or "2" in card["card"] or "3" in card["card"] or "4" in card["card"] or "5" in card["card"] or "6" in card["card"] or "7" in card["card"] or "8" in card["card"] or "9" in card["card"]:
|
||||
newspace = word[wordindex].upper() + " " + card["card"] + " – <a href=\"" + card["url"] + "\">" + card["player"] + "</a>"
|
||||
wordspace[wordindex] = newspace
|
||||
go = False
|
||||
theplayer = card["player"]
|
||||
maxcards[theplayer] -= 1
|
||||
else:
|
||||
if word[wordindex] in card["card"]:
|
||||
newspace = word[wordindex].upper() + " " + card["card"] + " – <a href=\"" + card["url"] + "\">" + card["player"] + "</a>"
|
||||
wordspace[wordindex] = newspace
|
||||
go = False
|
||||
theplayer = card["player"]
|
||||
maxcards[theplayer] -= 1
|
||||
wordindex += 1
|
||||
remaining = []
|
||||
spaceindex = 0
|
||||
for space in wordspace:
|
||||
if space == "":
|
||||
remaining.append(word[spaceindex].upper())
|
||||
spaceindex += 1
|
||||
if len(remaining) > 0:
|
||||
print("Still need " + ", ".join(remaining))
|
||||
else:
|
||||
print("\n" + "\n".join(wordspace) + "\n")
|
||||
|
||||
if __name__ == "__main__":
|
||||
while True:
|
||||
index = 0 # adapted from https://stackoverflow.com/a/64536882
|
||||
indexValidList = []
|
||||
print("Choose from the list:")
|
||||
options = ["Generate next palette portfolio","Generate next monochrome portfolio","Generate Switch It Up request","Generate Swap Station request","Generate Go Fish comment","Generate Release Roulette comment","Generate Riku’s Favors comment","Generate Natsume’s Book of Cards comment","Generate Little Spell Academia comment","Generate art shop request","Generate art studio request","Check a trade offer","Propose a trade","Get a list of random cards from tradepile (excluding specials)","Get a list of random cards from tradepile (including specials)","Check a card in the collection","Check details of a deck","See decks mastered today","See most wanted character cards","See most wanted special cards","Show wanted cards gained yesterday + today","See some statistics about the collection"]
|
||||
options = ["Generate next palette portfolio","Generate next monochrome portfolio","Generate Switch It Up request","Generate Swap Station request","Generate Go Fish comment","Generate Release Roulette comment","Generate Riku’s Favors comment","Generate Natsume’s Book of Cards comment","Generate Little Spell Academia comment","Generate weekly acrostics comment","Generate monthly acrostics comment","Generate art shop request","Generate art studio request","Check a trade offer","Propose a trade","Get a list of random cards from tradepile (excluding specials)","Get a list of random cards from tradepile (including specials)","Check a card in the collection","Check details of a deck","See decks mastered today","See most wanted character cards","See most wanted special cards","Show wanted cards gained yesterday + today","See some statistics about the collection"]
|
||||
for optionName in options:
|
||||
index = index + 1
|
||||
indexValidList.extend([options.index(optionName)])
|
||||
|
@ -1910,5 +2016,9 @@ if __name__ == "__main__":
|
|||
lsa()
|
||||
elif chosen == "Show wanted cards gained yesterday + today":
|
||||
recentpri()
|
||||
elif chosen == "Generate weekly acrostics comment":
|
||||
acrostics()
|
||||
elif chosen == "Generate monthly acrostics comment":
|
||||
acrostics(True)
|
||||
print("\n")
|
||||
input("Press Enter to continue or Ctrl-C to exit")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue