diff --git a/App.py b/App.py index 9ba3ebf..7efcbb6 100644 --- a/App.py +++ b/App.py @@ -4,14 +4,11 @@ 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 +import api.Repo as repoApi +from api.Repo import BrowseRepo, InfoLastPackage, DownloadLastPackage, DownloadPackage, DownloadPackageVersion, \ + BrowseRepoVersion 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) @@ -22,13 +19,16 @@ api.add_resource( '/', # 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 + '///', + # Retrieve data version from default + '////', + # Retrieve data version from default + '/////', + # Retrieve data version from default ) api.add_resource( @@ -38,14 +38,18 @@ api.add_resource( api.add_resource( DownloadLastPackage, - '/download///last', # Download last version from default + '/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 + '/download///', + # Download version from default + '/download////', + # Download version from default + '/download/////', + # Download version from default ) api.add_resource( @@ -53,7 +57,12 @@ api.add_resource( '/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__': - with PackageVersioning(json.load(open(app.config['REPOS_JSON_CONFIG_PATH']))) as pv: - pr.package_versioning = pv - app.run(host="0.0.0.0") + app.run(host="0.0.0.0") diff --git a/api/Repo.py b/api/Repo.py index 33840ed..3a6bb14 100644 --- a/api/Repo.py +++ b/api/Repo.py @@ -1,12 +1,12 @@ +from flask import json from flask_restful import Resource, abort from flask import redirect, send_file from utils.PackageFinder import InvalidPackageName -from utils.PackageVersioning import VersionDoNotExist, RepoDoNotExist, PackageDoNotExist +from utils.PackageVersioning import VersionDoNotExist, RepoDoNotExist, PackageDoNotExist, PackageVersioning package_versioning = None - class BrowseRepo(Resource): def get(self, repo_name=None, package_name=None): try: diff --git a/utils/PackageVersioning.py b/utils/PackageVersioning.py index c563994..e67af06 100644 --- a/utils/PackageVersioning.py +++ b/utils/PackageVersioning.py @@ -112,6 +112,9 @@ class PackageVersioning(FileSystemEventHandler): self.__repos_public[repo_name] = repo_public self.__repos_private[repo_name] = repo_private + print(self.__repos_public) + print(self.__repos_private) + def get_all_packages(self, package_name=None, repo_name=None): repo_name, repo_public, _ = self.__get_repo(repo_name)