-
Notifications
You must be signed in to change notification settings - Fork 0
/
app.py
69 lines (52 loc) · 1.5 KB
/
app.py
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
61
62
63
64
65
66
67
import flask
import datetime
import pytz
import random
app = flask.Flask(__name__)
def loadAns():
ansFile = open("answers", "r")
ans = ansFile.read()
ansFile.close()
ansList = ans.replace('"', "").split(",")
return ansList
def loadWords():
wordsFile = open("words", "r")
words = wordsFile.read()
wordsFile.close()
wordsList = words.replace('"', "").split(",")
return wordsList
def getAnsIndex():
tz = pytz.timezone('EST')
startDateTZ = tz.localize(startDate)
currDate = datetime.datetime.now(tz)
return (currDate - startDateTZ).days
answers = loadAns()
validWords = loadWords()
# print(answers.index('favor')) -> 207
# start date = today - 207 days -> June 19, 2021
startDate = datetime.datetime(2021, 6, 19)
# tz = pytz.timezone("EST")
# startDate = tz.localize(startDate)
# print(datetime.datetime.now(tz)-startDate)
# print(answers[207])
@app.route('/', methods=['GET'])
def root():
return 'api for wordle, view <a href=https://github.com/jngbot/wordle-api>repo</a> for usage'
# Dailies
@app.route('/answer', methods=['GET'])
def answer():
return answers[getAnsIndex()]
@app.route('/day', methods=['GET'])
def day():
return str(getAnsIndex())
# Misc
@app.route('/words', methods=['GET'])
def words():
return "[\"" + "\",\"".join(validWords) + "\"]"
# Games?
@app.route('/random', methods=['GET'])
def randAnswer():
return random.choice(answers)
@app.route('/random2', methods=['GET'])
def randWords():
return random.choice(validWords)