import json from Config import CURRENT_CONFIG from flask import Flask from flask_restful import Api from api.Repo import BrowseRepo, InfoLastPackage, DownloadLastPackage, DownloadPackage, DownloadPackageVersion, BrowseRepoVersion from utils.PackageFinder import PackageFinder from utils.PackageVersioning import PackageVersioning import api.Repo as pr app = Flask(__name__) app.config.from_object(CURRENT_CONFIG) api = Api(app, catch_all_404s=True) # Api resource api.add_resource( BrowseRepo, '/', # Retrieve available repos '/', # Retrieve data from '//', # Retrieve data from about ) api.add_resource( BrowseRepoVersion, '///', # Retrieve data version from default '////', # Retrieve data version from default '/////', # Retrieve data version from default ) api.add_resource( InfoLastPackage, '///last', # Download last version from default ) api.add_resource( DownloadLastPackage, '/download///last', # Download last version from default ) api.add_resource( DownloadPackageVersion, '/download///', # Download version from default '/download////', # Download version from default '/download/////', # Download version from default ) api.add_resource( DownloadPackage, '/download//', # Download version from repo_name ) if __name__ == '__main__': with PackageVersioning(PackageFinder(), json.load(open(app.config['REPOS_JSON_CONFIG_PATH']))) as pv: pr.package_versioning = pv app.run()