Link to member posts and coupon comments
This commit is contained in:
parent
27cb1876e3
commit
6e291f3a89
4 changed files with 72 additions and 23 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -17,4 +17,5 @@ variables.py
|
|||
log.py
|
||||
trade.py
|
||||
build/user.css
|
||||
key.html
|
||||
key.html
|
||||
members.html
|
|
@ -28,6 +28,7 @@ Python scripts to generate a mobile-friendly static site for tracking tcg cards
|
|||
- =name=: the name you use in the game
|
||||
- =hovertext=: text to display when hovering over the header image
|
||||
- =sig=: set to =True= when you have a signature card
|
||||
- =membersdisambig=: uncomment and set to a member’s name as given in their sig card + the URL of their card post where necessary (in case of any sigs failing to link or linking incorrectly)
|
||||
- =banner=: set to =True= when you have a player banner, and save this in =build/assets/= as =banner.png=
|
||||
- =lowpriority=: a list of decks you’re collecting that aren’t in mass decks
|
||||
- =trademedium=: whether to allow trading medium-priority cards away in exchange for high-priority cards (special cards will not be listed as tradeable)
|
||||
|
|
90
colors.py
90
colors.py
|
@ -26,7 +26,7 @@ except:
|
|||
print("Using cached version of decklist")
|
||||
|
||||
with open("key.html") as decks:
|
||||
decksoup = BeautifulSoup(decks, "html.parser")
|
||||
decksoup = BeautifulSoup(decks,"html.parser")
|
||||
soupdecks = decksoup.find("table",{"id":"colors"})
|
||||
souprows = soupdecks.find_all("tr")
|
||||
souprows = souprows[1:]
|
||||
|
@ -43,6 +43,38 @@ for row in souprows:
|
|||
deckdict["series"] = deckseries
|
||||
deckkey[deckname] = deckdict
|
||||
|
||||
try:
|
||||
request = requests.get("https://colors-tcg.eu/members.php")
|
||||
print("Getting members list")
|
||||
allmembers = open("members.html","w")
|
||||
allmembers.write(request.text)
|
||||
allmembers.close()
|
||||
|
||||
# need to correct some html issues
|
||||
|
||||
with open("members.html","r") as file:
|
||||
filedata = file.read()
|
||||
filedata = filedata.replace("</a></td>","</td>")
|
||||
with open("members.html","w") as file:
|
||||
file.write(filedata)
|
||||
|
||||
except:
|
||||
print("Using cached version of members list")
|
||||
|
||||
with open("members.html") as members:
|
||||
membersoup = BeautifulSoup(members,"html.parser")
|
||||
tcgmembers = {}
|
||||
soupmembers = membersoup.find_all("table")
|
||||
soupmembers = soupmembers[1:]
|
||||
for level in soupmembers:
|
||||
souprows = level.find_all("tr")
|
||||
souprows = souprows[1:]
|
||||
for row in souprows:
|
||||
soupcells = row.find_all("td")
|
||||
membername = soupcells[0].text.lower()
|
||||
memberlink = soupcells[2].find("a")["href"]
|
||||
tcgmembers[membername] = memberlink
|
||||
|
||||
print("Parsing log")
|
||||
|
||||
cardlist = []
|
||||
|
@ -58,7 +90,7 @@ craygrey = 0
|
|||
tradeout = []
|
||||
tradein = []
|
||||
redeemedsketch = 0
|
||||
coupons = []
|
||||
coupons = {}
|
||||
datelist = []
|
||||
logitems = []
|
||||
pends = []
|
||||
|
@ -257,15 +289,13 @@ for event in log.log:
|
|||
except:
|
||||
pass
|
||||
try:
|
||||
for newcoupon in event["coupons"]:
|
||||
found = False
|
||||
for oldcoupon in coupons:
|
||||
if found == False:
|
||||
if newcoupon == list(oldcoupon.keys())[0]:
|
||||
found = True
|
||||
oldcoupon[newcoupon] += event["coupons"][newcoupon]
|
||||
if found == False:
|
||||
coupons.append({newcoupon:event["coupons"][newcoupon]})
|
||||
for coupon in event["coupons"]:
|
||||
if coupon in coupons:
|
||||
coupons[coupon]["count"] += event["coupons"][coupon]
|
||||
if event["coupons"][coupon] > 0:
|
||||
coupons[coupon]["inurl"] = event["url"]
|
||||
else:
|
||||
coupons[coupon] = {"count":event["coupons"][coupon],"inurl":event["url"]}
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
|
@ -290,7 +320,7 @@ for event in log.log:
|
|||
logitems.append(logentry)
|
||||
|
||||
logitems = logitems[::-1]
|
||||
coupons = coupons[::-1]
|
||||
coupons = dict(reversed(list(coupons.items())))
|
||||
|
||||
tradepend = len(tradeout) - len(tradein)
|
||||
tradediff = tradeout.copy()
|
||||
|
@ -1513,7 +1543,20 @@ def indexgen():
|
|||
if len(sigs) > 0:
|
||||
content.write("<h2>signatures</h2>\n<p>")
|
||||
for card in sigs:
|
||||
membername = card["name"][4:]
|
||||
if membername == variables.name.lower():
|
||||
memberlink = False
|
||||
elif membername in variables.membersdisambig:
|
||||
memberlink = variables.membersdisambig[membername]
|
||||
elif membername in tcgmembers:
|
||||
memberlink = tcgmembers[membername]
|
||||
else:
|
||||
memberlink = False
|
||||
if memberlink:
|
||||
content.write("<a href=\"" + memberlink + "\" target=\"_blank\">")
|
||||
content.write(printcard(card))
|
||||
if memberlink:
|
||||
content.write("</a>")
|
||||
content.write("</p>\n")
|
||||
if len(variables.faves) > 0:
|
||||
content.write("<h2>faves</h2>\n<p>")
|
||||
|
@ -1524,16 +1567,19 @@ def indexgen():
|
|||
if len(coupons) > 0:
|
||||
content.write("<h2>coupons</h2>\n<p>")
|
||||
for coupon in coupons:
|
||||
for key,value in coupon.items():
|
||||
content.write("<img src=\"")
|
||||
if len(variables.subfolder) > 0:
|
||||
content.write("/" + variables.subfolder)
|
||||
content.write("/assets/coupons/" + key + ".png\" class=\"coupon")
|
||||
if value == 0:
|
||||
content.write(" expired\" title=\"expired\"")
|
||||
else:
|
||||
content.write("\" title=\"" + str(value) + " left\"")
|
||||
content.write(" loading=\"lazy\">")
|
||||
if coupons[coupon]["count"] > 0:
|
||||
content.write("<a href=\"" + coupons[coupon]["inurl"] + "\" target=\"_blank\">")
|
||||
content.write("<img src=\"")
|
||||
if len(variables.subfolder) > 0:
|
||||
content.write("/" + variables.subfolder)
|
||||
content.write("/assets/coupons/" + coupon + ".png\" class=\"coupon")
|
||||
if coupons[coupon]["count"] == 0:
|
||||
content.write(" expired\" title=\"expired\"")
|
||||
else:
|
||||
content.write("\" title=\"" + str(coupons[coupon]["count"]) + " left\"")
|
||||
content.write(" loading=\"lazy\">")
|
||||
if coupons[coupon]["count"] > 0:
|
||||
content.write("</a>")
|
||||
content.write("</p>\n")
|
||||
donations = []
|
||||
try:
|
||||
|
|
|
@ -6,6 +6,7 @@ url = ""
|
|||
name = "your name"
|
||||
hovertext = ""
|
||||
sig = False
|
||||
# membersdisambig = {"name1":"url1","name2":"url2"}
|
||||
banner = False
|
||||
lowpriority = ["deckname","nameofadeck"]
|
||||
trademedium = True
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue