]> WPIA git - motion.git/blobdiff - motion.py
upd: correction position of brackets
[motion.git] / motion.py
index 24c86dec66347cbcf0b4f0c4531c06daa2936d6a..f6ddf1344004ee30bd5bbb40d096eadcd33cea90 100644 (file)
--- a/motion.py
+++ b/motion.py
@@ -4,8 +4,8 @@ from flask import render_template, redirect
 from flask import request
 import postgresql
 import filters
-
-times=[3,5,14]
+from flaskext.markdown import Markdown
+from markdown.extensions import Extension
 
 def get_db():
     db = getattr(g, '_database', None)
@@ -17,17 +17,33 @@ def get_db():
 app = Flask(__name__)
 app.register_blueprint(filters.blueprint)
 
+class EscapeHtml(Extension):
+    def extendMarkdown(self, md, md_globals):
+        del md.preprocessors['html_block']
+        del md.inlinePatterns['html']
+
+md = Markdown(app, extensions=[EscapeHtml()])
+
 # Load config
 app.config.from_pyfile('config.py')
 
 prefix=app.config.get("GROUP_PREFIX")
 
+times=app.config.get("DURATION")
+
+debuguser=app.config.get("DEBUGUSER")
+
 @app.before_request
 def lookup_user():
     global prefix
 
     env = request.environ
     user = None
+    if debuguser is not None:
+        parts =debuguser[request.host].split("/", 1)
+        user = parts[0]
+        roles = parts[1]
+
     if "USER_ROLES" in env:
         parts = env.get("USER_ROLES").split("/", 1)
         user = parts[0]
@@ -37,6 +53,7 @@ def lookup_user():
         user = env.get("USER")
         roles = env.get("ROLES")
 
+
     if user is None:
         return "Server misconfigured", 500
     roles = roles.split(" ")
@@ -56,13 +73,14 @@ def lookup_user():
 
     for r in roles:
         a = r.split(":", 1)
-        val = a[1]
-        if a[0] not in g.roles:
-            g.roles[a[0]] = []
-        if val == "*":
-            g.roles[a[0]] = [group for group in prefix[request.host]]
-        else:
-            g.roles[a[0]].append(val)
+        if len(r)!=0:
+            val = a[1]
+            if a[0] not in g.roles:
+                g.roles[a[0]] = []
+            if val == "*":
+                g.roles[a[0]] = [group for group in prefix[request.host]]
+            else:
+                g.roles[a[0]].append(val)
     return None
 
 def get_allowed_cats(action):
@@ -143,7 +161,7 @@ def main():
             prev = rs[9][0]
         else:
             prev = -1
-    return render_template('index.html', motions=rv[:10], more=rv[10]["id"] if len(rv) == 11 else None, times=times, prev=prev,
+    return render_template('index.html', motions=rv[:10], more=rv[10]["id"] if len(rv) == 11 else None, times=times[request.host], prev=prev,
                            categories=get_allowed_cats("create"))
 
 def rel_redirect(loc):
@@ -157,7 +175,7 @@ def put_motion():
     if cat not in get_allowed_cats("create"):
         return "Forbidden", 403
     time = int(request.form.get("days", "3"));
-    if time not in times:
+    if time not in times[request.host]:
         return "Error, invalid length", 500
     db = get_db()
     with db.xact():