From 37717619250edf233cda1d4fd397113f6d32928a Mon Sep 17 00:00:00 2001
From: Robin Sonnabend <robin@fsmpi.rwth-aachen.de>
Date: Mon, 6 Mar 2017 15:10:56 +0100
Subject: [PATCH] Match single semi-colons as empty, not as a part of content.
 /close #39

---
 parser.py | 6 +++---
 server.py | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/parser.py b/parser.py
index 74d4476..db2ef00 100644
--- a/parser.py
+++ b/parser.py
@@ -158,9 +158,9 @@ class Content(Element):
     # v3: does not allow braces in the content
     #PATTERN = r"\s*(?<content>(?:[^\[\];\r\n{}]+)?(?:\[[^\]\r\n{}]+\][^;\[\]\r\n{}]*)*);?"
     # v4: do not allow empty match (require either the first or the second part to be non-empty)
-    #PATTERN = r"\s*(?<content>(?:(?:[^\[\];\r\n{}]+)|(?:[^\[\];\r\n{}]+)?(?:\[[^\]\r\n{}]+\][^;\[\]\r\n{}]*)+));?"
+    PATTERN = r"\s*(?<content>(?:(?:[^\[\];\r\n{}]+)|(?:[^\[\];\r\n{}]+)?(?:\[[^\]\r\n{}]+\][^;\[\]\r\n{}]*)+));?"
     # v5: do match emptystring if followed by a semi colon
-    PATTERN = r"\s*(?<content>(?:[^\[\];\r\n{}]+);?|(?:[^\[\];\r\n{}]+)?(?:\[[^\]\r\n{}]+\][^;\[\]\r\n{}]*)+;?|;)"
+    #PATTERN = r"\s*(?<content>(?:[^\[\];\r\n{}]+);?|(?:[^\[\];\r\n{}]+)?(?:\[[^\]\r\n{}]+\][^;\[\]\r\n{}]*)+;?|;)"
 
 class Text:
     def __init__(self, text, linenumber, fork):
@@ -271,7 +271,7 @@ class Empty(Element):
         linenumber = Element.parse_inner(match, current, linenumber)
         return current, linenumber
 
-    PATTERN = r"\s+"
+    PATTERN = r"(?:\s+|;)"
 
 class Remark(Element):
     def __init__(self, name, value, linenumber):
diff --git a/server.py b/server.py
index 8dfe5c7..58c5268 100755
--- a/server.py
+++ b/server.py
@@ -114,7 +114,7 @@ def merge_todos():
 
 @manager.command
 def runserver():
-    app.run(host="192.168.0.13")
+    app.run()
     make_scheduler()
 
 # cause uwsgi currently has a bug
@@ -536,7 +536,7 @@ def upload_source_to_known_protocol(protocol):
 @login_required
 def upload_new_protocol():
     user = current_user()
-    available_types = ProtocolType.get_modifiable_protocoltypes()
+    available_types = ProtocolType.get_modifiable_protocoltypes(user)
     form = NewProtocolSourceUploadForm(protocoltypes=available_types)
     if form.validate_on_submit():
         if form.source.data is None:
-- 
GitLab