cleanup
This commit is contained in:
		
							parent
							
								
									1378b9cbc9
								
							
						
					
					
						commit
						ff04f6b33d
					
				@ -11,56 +11,54 @@ api.debug = 0
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
app = Flask(__name__)
 | 
					app = Flask(__name__)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@app.route('/')
 | 
					
 | 
				
			||||||
 | 
					@app.route("/")
 | 
				
			||||||
def index():
 | 
					def index():
 | 
				
			||||||
    return render_template('index.html')
 | 
					    return render_template("index.html")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@app.route('/search', methods=['POST'])
 | 
					@app.route("/search", methods=["POST"])
 | 
				
			||||||
def search():
 | 
					def search():
 | 
				
			||||||
    data = request.get_json()
 | 
					    data = request.get_json()
 | 
				
			||||||
    games = api.search(srcomapi.datatypes.Game, data)[:10]
 | 
					    games = api.search(srcomapi.datatypes.Game, data)[:10]
 | 
				
			||||||
    response = {'games': [g.name for g in games]}
 | 
					    response = {"games": [g.name for g in games]}
 | 
				
			||||||
    return jsonify(response), 200
 | 
					    return jsonify(response), 200
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@app.route('/categories', methods=['POST'])
 | 
					@app.route("/categories", methods=["POST"])
 | 
				
			||||||
def categories():
 | 
					def categories():
 | 
				
			||||||
    data = request.get_json()
 | 
					    data = request.get_json()
 | 
				
			||||||
    game = api.search(srcomapi.datatypes.Game, data)[0]
 | 
					    game = api.search(srcomapi.datatypes.Game, data)[0]
 | 
				
			||||||
    raw_cats = game.categories
 | 
					    raw_cats = game.categories
 | 
				
			||||||
    cats = {'categories': []}
 | 
					    cats = {"categories": []}
 | 
				
			||||||
    for cat in raw_cats:
 | 
					    for cat in raw_cats:
 | 
				
			||||||
        if cat.type == 'per-game':
 | 
					        if cat.type == "per-game":
 | 
				
			||||||
            cats['categories'].append(cat.name)
 | 
					            cats["categories"].append(cat.name)
 | 
				
			||||||
    return jsonify(cats)
 | 
					    return jsonify(cats)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@app.route('/graph', methods=['POST'])
 | 
					@app.route("/graph", methods=["POST"])
 | 
				
			||||||
def graph():
 | 
					def graph():
 | 
				
			||||||
    data = request.get_json()
 | 
					    data = request.get_json()
 | 
				
			||||||
    game = api.search(srcomapi.datatypes.Game, {'name': data['name']})[0]
 | 
					    game = api.search(srcomapi.datatypes.Game, {"name": data["name"]})[0]
 | 
				
			||||||
    for cat in game.categories:
 | 
					    for cat in game.categories:
 | 
				
			||||||
        if (data['category'] == cat.name and
 | 
					        if data["category"] == cat.name and cat.type == "per-game":
 | 
				
			||||||
                cat.type == 'per-game'):
 | 
					 | 
				
			||||||
            category = cat
 | 
					            category = cat
 | 
				
			||||||
    release_date = datetime.datetime.strptime(game.release_date,
 | 
					    release_date = datetime.datetime.strptime(game.release_date, "%Y-%m-%d")
 | 
				
			||||||
                                              '%Y-%m-%d')
 | 
					 | 
				
			||||||
    data = srcomapi.datatypes.Leaderboard(
 | 
					    data = srcomapi.datatypes.Leaderboard(
 | 
				
			||||||
        api,
 | 
					        api,
 | 
				
			||||||
        data=api.get(f"leaderboards/{game.id}/category/{category.id}?embed=variables")
 | 
					        data=api.get(f"leaderboards/{game.id}/category/{category.id}?embed=variables"),
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
    raw_runs = data.runs
 | 
					    raw_runs = data.runs
 | 
				
			||||||
    runs = {'Time': [], 'Days since release': [], 'Annotation': []}
 | 
					    runs = {"Time": [], "Days since release": [], "Annotation": []}
 | 
				
			||||||
    for run in raw_runs:
 | 
					    for run in raw_runs:
 | 
				
			||||||
        r = run['run']
 | 
					        r = run["run"]
 | 
				
			||||||
        time = r.times['primary_t']
 | 
					        time = r.times["primary_t"]
 | 
				
			||||||
        if r.date is not None:
 | 
					        if r.date is not None:
 | 
				
			||||||
            date = datetime.datetime.strptime(r.date,
 | 
					            date = datetime.datetime.strptime(r.date, "%Y-%m-%d")
 | 
				
			||||||
                                              '%Y-%m-%d')
 | 
					 | 
				
			||||||
            time_since_release = date - release_date
 | 
					            time_since_release = date - release_date
 | 
				
			||||||
            runs['Time'].append(time / 60)
 | 
					            runs["Time"].append(time / 60)
 | 
				
			||||||
            runs['Days since release'].append(time_since_release.days)
 | 
					            runs["Days since release"].append(time_since_release.days)
 | 
				
			||||||
            # if len(r.players) == 1:
 | 
					            # if len(r.players) == 1:
 | 
				
			||||||
            #     players = r.players[0].name
 | 
					            #     players = r.players[0].name
 | 
				
			||||||
            # elif len(r.players) > 1:
 | 
					            # elif len(r.players) > 1:
 | 
				
			||||||
@ -71,36 +69,30 @@ def graph():
 | 
				
			|||||||
            #             players += ', '
 | 
					            #             players += ', '
 | 
				
			||||||
            annotation = (
 | 
					            annotation = (
 | 
				
			||||||
                # f'players: {players}\n'
 | 
					                # f'players: {players}\n'
 | 
				
			||||||
                f'date: {r.date}'
 | 
					                f"date: {r.date}"
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
            runs['Annotation'].append(annotation)
 | 
					            runs["Annotation"].append(annotation)
 | 
				
			||||||
    graph = plotly.graph_objs.Figure()
 | 
					    graph = plotly.graph_objs.Figure()
 | 
				
			||||||
    trace = plotly.graph_objs.Scatter(x=runs['Days since release'],
 | 
					    trace = plotly.graph_objs.Scatter(
 | 
				
			||||||
                                      y=runs['Time'],
 | 
					        x=runs["Days since release"],
 | 
				
			||||||
                                      mode='markers',
 | 
					        y=runs["Time"],
 | 
				
			||||||
                                      hoverinfo='text',
 | 
					        mode="markers",
 | 
				
			||||||
                                      hovertext=runs['Annotation'])
 | 
					        hoverinfo="text",
 | 
				
			||||||
 | 
					        hovertext=runs["Annotation"],
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
    graph.add_trace(trace)
 | 
					    graph.add_trace(trace)
 | 
				
			||||||
    graph.update_layout(title=f'{game.name} ({category.name}): Run time since release',
 | 
					    graph.update_layout(
 | 
				
			||||||
                        xaxis_title='Days since release',
 | 
					        title=f"{game.name} ({category.name}): Run time since release",
 | 
				
			||||||
                        yaxis_title='Time (Minutes)')
 | 
					        xaxis_title="Days since release",
 | 
				
			||||||
 | 
					        yaxis_title="Time (Minutes)",
 | 
				
			||||||
 | 
					    )
 | 
				
			||||||
    graph_json = graph.to_json()
 | 
					    graph_json = graph.to_json()
 | 
				
			||||||
    # graph_json = json.dumps([trace], cls=plotly.utils.PlotlyJSONEncoder)
 | 
					    # graph_json = json.dumps([trace], cls=plotly.utils.PlotlyJSONEncoder)
 | 
				
			||||||
    return app.response_class(
 | 
					    return app.response_class(
 | 
				
			||||||
        response=graph_json,
 | 
					        response=graph_json, status=200, mimetype="application/json"
 | 
				
			||||||
        status=200,
 | 
					 | 
				
			||||||
        mimetype='application/json'
 | 
					 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def main():
 | 
					def main():
 | 
				
			||||||
    global app
 | 
					    global app
 | 
				
			||||||
    serve(app, host='0.0.0.0', port=8059)
 | 
					    serve(app, host="0.0.0.0", port=8059)
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user