Преглед на файлове

Update git status

tags/3.1_alpha
Manuel83 преди 8 години
родител
ревизия
1dc4f5ffd5
променени са 1 файла, в които са добавени 23 реда и са изтрити 14 реда
  1. +23
    -14
      modules/system/__init__.py

+ 23
- 14
modules/system/__init__.py Целия файл

@@ -1,7 +1,7 @@
import flask_login import flask_login
import requests import requests
import yaml import yaml
from flask import json, url_for, Response
from flask import json, url_for, Response, request
from flask_classy import FlaskView, route from flask_classy import FlaskView, route
from flask_login import login_required, current_user from flask_login import login_required, current_user
from git import Repo, Git from git import Repo, Git
@@ -55,38 +55,47 @@ class SystemView(FlaskView):
return ('', 204) return ('', 204)
@login_required @login_required
@route('/tags/<name>', methods=['GET'])
def checkout_tag(self,name):
@route('/checkout', methods=['POST'])
def checkout_tag(self):
data = request.json
name = data.get("name")
if name is None:
return ('', 500)
repo = Repo('./') repo = Repo('./')
repo.git.reset('--hard') repo.git.reset('--hard')
o = repo.remotes.origin o = repo.remotes.origin
o.fetch() o.fetch()
g = Git('./') g = Git('./')
g.checkout(name)
g.checkout()
cbpi.notify("Checkout successful", "Please restart the system") cbpi.notify("Checkout successful", "Please restart the system")
return ('', 204) return ('', 204)
@login_required @login_required
@route('/git/status', methods=['GET']) @route('/git/status', methods=['GET'])
def git_status(self): def git_status(self):
repo = Repo('./') repo = Repo('./')
for remote in repo.remotes:
print remote
#o = repo.remotes.origin
#o.fetch()
print next((tag for tag in repo.tags if tag.commit == repo.head.commit), None)
o = repo.remotes.origin
o.fetch()
branch = repo.active_branch
url = 'https://api.github.com/repos/manuel83/craftbeerpi3/releases' url = 'https://api.github.com/repos/manuel83/craftbeerpi3/releases'
response = requests.get(url) response = requests.get(url)
data = response.json()
result = []
result = {"current_branch": branch.name, "branches": [], "releases": []}
result["branches"].append({"name": "master"})
for r in data:
result.append({"tag_name": r.get("tag_name"), "timestamp": r.get("created_at")})
for branch in repo.branches:
result["branches"].append({"name": branch.name})
for r in response.json():
result["releases"].append({"name": "tags/%s" % r.get("tag_name")})
""" """
Check for GIT status Check for GIT status


Loading…
Отказ
Запис