Coverage for webapp/publisher/github/views.py: 47%

17 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-04-28 22:05 +0000

1import flask 

2from webapp.api.github import GitHub 

3from webapp.decorators import login_required 

4from werkzeug.exceptions import Unauthorized 

5 

6publisher_github = flask.Blueprint( 

7 "github", __name__, template_folder="/templates", static_folder="/static" 

8) 

9 

10 

11@publisher_github.route("/publisher/github/get-repos", methods=["GET"]) 

12@login_required 

13def get_repos(): 

14 github = GitHub(flask.session.get("github_auth_secret")) 

15 org = flask.request.args.get("org") 

16 

17 try: 

18 if org: 

19 repos = github.get_org_repositories(org) 

20 else: 

21 repos = github.get_user_repositories() 

22 except Unauthorized: 

23 return ( 

24 flask.jsonify({"error": "You need to be authenticated on GitHub"}), 

25 401, 

26 ) 

27 

28 return flask.jsonify(repos)