pnbp

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 49f855e5824f8a7b9190119126521a72eec395f7
parent b1dc38e8e3a4e79bb187c7fca0e271b5c3253358
Author: Paul Longtine <paullongtine@gmail.com>
Date:   Tue Sep  2 21:16:50 2014

added apache2 auth

Diffstat:
 src/core/builder.py       | 38 ++++++++++++++++++++------------------
 src/core/modules/admin.py | 19 +++++++++++++------
 2 files changed, 33 insertions(+), 24 deletions(-)

diff --git a/src/core/builder.py b/src/core/builder.py @@ -34,6 +34,7 @@ def makeSite(site,loc): except: shutil.copy2("data/static/"+i,loc+i) + except: print("No directory data/static, ignoring") @@ -69,34 +70,35 @@ def subpageLoop(d,cur): if isinstance(v, dict): subpageLoop(v,cur + "/" + k) else: - f = "index.html" + f = k.split(".") + fl = "" - if k == "default": - k = "" + if len(f) < 2: + if f[0] != "default": + fl = f[0] + "/index.html" - elif k[0:4] == "php:": - f = "{}.php".format(k[4:]) - k = "" + else: + fl = "index.html" + k = "" else: - k = k + "/" + if f[0] != "raw": + fl = f[0] + "." + f[1] + + else: + fl = f[0] try: - file("{}/{}{}".format(cur,k,f), "w").write(v) + file("{}/{}".format(cur,fl), "w").write(v) except: - try: - os.mkdir("{}".format(cur)) - - except: - pass + try: os.mkdir("{}".format(cur)) + except: pass - try: - os.mkdir("{}/{}".format(cur,k)) - except: - pass + try: os.mkdir("{}/{}".format(cur,k)) + except: pass - file("{}/{}{}".format(cur,k,f), "w").write(v) + file("{}/{}".format(cur,fl), "w").write(v) def build(pd,directory): site = {} diff --git a/src/core/modules/admin.py b/src/core/modules/admin.py @@ -2,6 +2,8 @@ import yaml def getPages(template,settings,name,page): blogdb = getBlogDB(settings) + if settings['root'][-1] != "/": settings['root'] = settings['root'] + "/" + settings['pass'] = settings.get("pass",settings['root'] + "data/.htpasswd") index = """ <!DOCTYPE html> @@ -189,11 +191,18 @@ if (isset($_POST['loc'])) { echo shell_exec("build %destination% -d %root%"); ?> """ + htaccess = """ +AuthUserFile %pass% +AuthName "Please Log In" +AuthType Basic +Require user %user% +""" return { - "php:index":index.replace("%db%",blogdb[0][:-1]).replace("%dbn%",blogdb[1][:-1]), - "php:edit":edit, - "php:post":post.replace("%root%",settings['root']).replace("%destination%",settings['dest']), + "index.php":index.replace("%db%",blogdb[0][:-1]).replace("%dbn%",blogdb[1][:-1]), + "edit.php":edit, + "post.php":post.replace("%root%",settings['root']).replace("%destination%",settings['dest']), + ".htaccess.raw":htaccess.replace("%pass%",settings['pass']).replace("%user%",settings['user']) } def getBlogDB(s): @@ -205,9 +214,7 @@ def getBlogDB(s): for m,md in v['pagemod'].items(): if md['mod'] == "blog": if md['settings']['data'][0:2] == "./" or md['settings']['data'][0] != "/": - if s['root'][-1] != "/": - s['root'] = s['root'] + "/" - + if s['root'][-1] != "/": s['root'] = s['root'] + "/" dbs = dbs + "\""+s['root']+md['settings']['data'][2:]+"\"," else: