import json from Config import CURRENT_CONFIG from flask import Flask from flask_restful import Api import api.Repo as repoApi from api.Repo import BrowseRepo, InfoLastPackage, DownloadLastPackage, DownloadPackage, DownloadPackageVersion, \ BrowseRepoVersion from utils.PackageVersioning import PackageVersioning 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 ) @app.before_first_request def setup(): repoApi.package_versioning = PackageVersioning(json.load(open(app.config['REPOS_JSON_CONFIG_PATH']))) repoApi.package_versioning.__enter__() if __name__ == '__main__': app.run(host="0.0.0.0")