mirror of
				https://github.com/MarioSpore/Grinch-AP.git
				synced 2025-10-21 20:21:32 -06:00 
			
		
		
		
	
		
			
	
	
		
			33 lines
		
	
	
		
			883 B
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			883 B
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | from flask import abort | ||
|  | 
 | ||
|  | from Utils import restricted_loads | ||
|  | from WebHostLib import cache | ||
|  | from WebHostLib.models import GameDataPackage | ||
|  | from . import api_endpoints | ||
|  | 
 | ||
|  | 
 | ||
|  | @api_endpoints.route('/datapackage') | ||
|  | @cache.cached() | ||
|  | def get_datapackage(): | ||
|  |     from worlds import network_data_package | ||
|  |     return network_data_package | ||
|  | 
 | ||
|  | 
 | ||
|  | @api_endpoints.route('/datapackage/<string:checksum>') | ||
|  | @cache.memoize(timeout=3600) | ||
|  | def get_datapackage_by_checksum(checksum: str): | ||
|  |     package = GameDataPackage.get(checksum=checksum) | ||
|  |     if package: | ||
|  |         return restricted_loads(package.data) | ||
|  |     return abort(404) | ||
|  | 
 | ||
|  | 
 | ||
|  | @api_endpoints.route('/datapackage_checksum') | ||
|  | @cache.cached() | ||
|  | def get_datapackage_checksums(): | ||
|  |     from worlds import network_data_package | ||
|  |     version_package = { | ||
|  |         game: game_data["checksum"] for game, game_data in network_data_package["games"].items() | ||
|  |     } | ||
|  |     return version_package |