44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
from flask import Flask, jsonify, request
|
|
from flask_cors import CORS
|
|
|
|
from game.tile import *
|
|
from game.error import *
|
|
|
|
app = Flask(__name__)
|
|
CORS(app)
|
|
|
|
tiles = Tile.generateAll()
|
|
|
|
# ============= GET ================
|
|
@app.route('/api/tiles', methods=['GET'])
|
|
def get_all_tiles():
|
|
"""Récupère toutes les tuiles"""
|
|
tiles_data = [
|
|
{
|
|
'id': tile.id,
|
|
'family': str(tile.family),
|
|
'value': str(tile.value),
|
|
'svg': tile.get_img()
|
|
}
|
|
for tile in tiles
|
|
]
|
|
return jsonify({'tiles': tiles_data})
|
|
|
|
@app.route('/api/tiles/<int:tile_id>', methods=['GET'])
|
|
def get_tile(tile_id):
|
|
if tile_id < 0 or tile_id >= len(tiles):
|
|
return jsonify({'error': 'Tuile non trouvée'}), 404
|
|
|
|
tile = tiles[tile_id]
|
|
svg = f'<svg viewBox="0 0 500 700" width="100" height="140">{tile.get_img()}</svg>'
|
|
return jsonify({
|
|
'id': tile.id,
|
|
'family': str(tile.family),
|
|
'value': str(tile.value),
|
|
'svg': svg
|
|
})
|
|
|
|
# ============== POST ================
|
|
|
|
if __name__ == '__main__':
|
|
app.run(debug=True, port=5000)
|