|
|
@@ -1,4 +1,4 @@
|
|
1
|
|
-from flask import Flask, render_template, request
|
|
|
1
|
+from flask import Flask, render_template, request, jsonify, redirect, url_for
|
|
2
|
2
|
from fpl_lib import SFL, Team
|
|
3
|
3
|
from flask_pymongo import PyMongo
|
|
4
|
4
|
from bson.objectid import ObjectId
|
|
|
@@ -11,6 +11,58 @@ mongo = PyMongo(app)
|
|
11
|
11
|
sfp = SFL("ABC")
|
|
12
|
12
|
sfp.setup()
|
|
13
|
13
|
|
|
|
14
|
+
|
|
|
15
|
+
|
|
|
16
|
+@app.route('/players/<name>')
|
|
|
17
|
+def search_player(name):
|
|
|
18
|
+ results = sfp.search_player(name)
|
|
|
19
|
+ return jsonify(output=results)
|
|
|
20
|
+
|
|
|
21
|
+@app.route('/team/<team_id>', methods=["GET", "POST"])
|
|
|
22
|
+def team(team_id):
|
|
|
23
|
+ team = mongo.db.teams.find_one({"_id": ObjectId(team_id)})
|
|
|
24
|
+
|
|
|
25
|
+ results = sfp.search_player("")
|
|
|
26
|
+
|
|
|
27
|
+ currentPlayers = []
|
|
|
28
|
+
|
|
|
29
|
+
|
|
|
30
|
+ for p in team['players']:
|
|
|
31
|
+ try:
|
|
|
32
|
+ currentPlayers.append(sfp.get_player(p))
|
|
|
33
|
+ except:
|
|
|
34
|
+ currentPlayers.append(None)
|
|
|
35
|
+
|
|
|
36
|
+ if 'searchBtn' in request.form:
|
|
|
37
|
+ name = request.form.get('name', '')
|
|
|
38
|
+ results = sfp.search_player(name)
|
|
|
39
|
+
|
|
|
40
|
+
|
|
|
41
|
+ if 'deletePlayer' in request.form:
|
|
|
42
|
+ deletePlayers = request.form.getlist('deletes')
|
|
|
43
|
+ print(f"delete players = {deletePlayers}")
|
|
|
44
|
+ players = team['players']
|
|
|
45
|
+ print(f"players = {players}")
|
|
|
46
|
+ for i in deletePlayers:
|
|
|
47
|
+ print(f"i = {i}")
|
|
|
48
|
+ players.remove(int(i))
|
|
|
49
|
+
|
|
|
50
|
+
|
|
|
51
|
+ mongo.db.teams.update_one({"_id": ObjectId(team_id)}, {"$set": {"players": players}})
|
|
|
52
|
+ return redirect(url_for("team", team_id=team_id))
|
|
|
53
|
+
|
|
|
54
|
+ if 'selectPlayers' in request.form:
|
|
|
55
|
+ selectPlayers = request.form.getlist('players')
|
|
|
56
|
+ selectPlayers = [int(x) for x in selectPlayers]
|
|
|
57
|
+
|
|
|
58
|
+ player_set = set(team["players"])
|
|
|
59
|
+ for p in selectPlayers:
|
|
|
60
|
+ player_set.add(p)
|
|
|
61
|
+ mongo.db.teams.update_one({"_id": ObjectId(team_id)}, {"$set": {"players": list(player_set)}})
|
|
|
62
|
+ return redirect(url_for("team", team_id=team_id))
|
|
|
63
|
+
|
|
|
64
|
+ return render_template('team.html', team = team, results = results, currentPlayers = currentPlayers)
|
|
|
65
|
+
|
|
14
|
66
|
@app.route('/', methods=["GET", "POST"])
|
|
15
|
67
|
def index():
|
|
16
|
68
|
players = sfp.players[:400]
|
|
|
@@ -37,10 +89,10 @@ def index():
|
|
37
|
89
|
|
|
38
|
90
|
teams = mongo.db.teams.find()
|
|
39
|
91
|
currentTeam = None
|
|
|
92
|
+ currentPlayers = []
|
|
40
|
93
|
|
|
41
|
94
|
if selectTeam != "":
|
|
42
|
95
|
currentTeam = mongo.db.teams.find_one({"_id": ObjectId(selectTeam)})
|
|
43
|
|
- currentPlayers = []
|
|
44
|
96
|
|
|
45
|
97
|
for p in currentTeam['players']:
|
|
46
|
98
|
try:
|