From 6c7794d18d6a3c1d52428b4b828169c8b0349a5d Mon Sep 17 00:00:00 2001 From: Nils G <nils.gondermann@ruhr-uni-bochum.de> Date: Fri, 10 Apr 2020 11:37:45 +0200 Subject: [PATCH] Added meta table which parses git commit and date --- controllers/default.py | 2 +- models/c_meta.py | 28 ++++++++++++++++++++++++++++ views/default/index.html | 5 ++++- 3 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 models/c_meta.py diff --git a/controllers/default.py b/controllers/default.py index 2096578..d971f34 100644 --- a/controllers/default.py +++ b/controllers/default.py @@ -1,4 +1,4 @@ import random def index(): - return dict(var=random.random()) + return dict(var=random.random(), meta=db(db.Meta).select().first()) diff --git a/models/c_meta.py b/models/c_meta.py new file mode 100644 index 0000000..2bd3f07 --- /dev/null +++ b/models/c_meta.py @@ -0,0 +1,28 @@ +import subprocess + +db.define_table( + 'Meta', + Field('creation', 'datetime', default=request.now), + Field('git_commit', 'string'), + Field('git_date', 'string') +) + +def getGitCommit(_record): + try: + commit = subprocess.check_output(["git", "rev-parse", "HEAD"], cwd=request.folder, encoding="utf-8")[:-1] + except: + commit = "Failed to get git commit" + return(commit) + +def getGitDate(_record): + try: + date = subprocess.check_output(["git", "log", "-1", "--format=%cd", "--date=iso8601"], cwd=request.folder, encoding="utf-8")[:-7] + except: + date = "Failed to get git date" + return(date) + +db.Meta.git_commit.compute = getGitCommit +db.Meta.git_date.compute = getGitDate + +if db(db.Meta).count() == 0: + db.Meta.insert() diff --git a/views/default/index.html b/views/default/index.html index 9dbfe96..7888001 100644 --- a/views/default/index.html +++ b/views/default/index.html @@ -1,5 +1,8 @@ <html> <body> - This is a test {{=var}} + This is a test {{=var}}<br><br> + This is commit <b>{{=meta.git_commit[:10] if len(meta.git_commit) > 10 else meta.git_commit}}</b> from <b>{{=meta.git_date}}</b> show on + <a href="https://git.noc.ruhr-uni-bochum.de/studienprojekt-ss20/lynchburg-server/-/commit/{{=meta.git_commit}}">GitLab</a><br> + Database from: {{=meta.creation}} </body> </html> -- GitLab