diff --git a/controllers/default.py b/controllers/default.py index 2096578cb897ccb14c18d6fcde92b15e01c9b8f9..d971f34c36ea6849cf5f4a9aa615493ca6c818e2 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 0000000000000000000000000000000000000000..2bd3f0780528cb1afdf783c9e9812f1d6319e16c --- /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 9dbfe9641c1d02e5a2f67e5f96de8318b04333a2..788800143577d87f67ce78ff065930a84853afa3 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>