Skip to content
Snippets Groups Projects
Commit 32bfe777 authored by Robin Sonnabend's avatar Robin Sonnabend
Browse files

Improve server.py code quality

Also fixes some latent bugs
parent 4bd3d253
Branches
No related tags found
No related merge requests found
......@@ -48,6 +48,10 @@ class DatabaseModel(db.Model):
columns.append("{}={}".format(column_name, value))
return "{}({})".format(self.__class__.__name__, ", ".join(columns))
@classmethod
def first_by_id(cls, instance_id):
return cls.query.filter_by(id=instance_id).first()
class ProtocolType(DatabaseModel):
__tablename__ = "protocoltypes"
__model_name__ = "protocoltype"
......@@ -235,6 +239,11 @@ class Protocol(DatabaseModel):
or self.protocoltype.has_private_view_right(user)
)
def get_visible_content(self, user):
if self.has_private_view_right(user):
return self.content_private
return self.content_public
def is_done(self):
return self.done
......
This diff is collapsed.
......@@ -14,6 +14,7 @@ from io import BytesIO
import ipaddress
from socket import getfqdn
from uuid import uuid4
import subprocess
import config
......@@ -223,3 +224,28 @@ def parse_datetime_from_string(text):
except ValueError as exc:
print(exc)
raise ValueError("Date '{}' does not match any known format!".format(text))
def get_git_revision():
try:
gitlab_url = "https://git.fsmpi.rwth-aachen.de/protokollsystem/proto3"
commit_hash = subprocess.check_output(
["git", "log", "-g", "-1", "--pretty=%H"]).decode("UTF-8").strip()
timestamp = int(subprocess.check_output(
["git", "log", "-g", "-1", "--pretty=%at"]).strip())
commit_date = datetime.fromtimestamp(timestamp)
return {"url": gitlab_url, "hash": commit_hash, "date": commit_date}
except subprocess.SubprocessError:
pass
def get_max_page_length_exp(objects):
length = len(objects)
if length > 0:
return math.ceil(math.log10(length))
return 1
def get_internal_filename(protocol, document, filename):
return "{}-{}-{}".format(protocol.id, document.id, filename)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment