removed absolute file paths from app.py. added relative filepath check
This commit is contained in:
parent
da3a6cefd5
commit
d91eaf17d7
58
app.py
58
app.py
@ -17,17 +17,15 @@ from flask import Flask, redirect, url_for, render_template, request
|
|||||||
# or
|
# or
|
||||||
# gasahwpn on irc.lainchan.org
|
# gasahwpn on irc.lainchan.org
|
||||||
|
|
||||||
|
|
||||||
app=Flask(__name__)
|
app=Flask(__name__)
|
||||||
|
|
||||||
# Paths for conf file,
|
# Paths for conf file,
|
||||||
# user list,
|
# user list,
|
||||||
# directory containing
|
# directory containing
|
||||||
# account request files...
|
# account request files...
|
||||||
WORKING_DIR = "/home/gashapwn/lyadmin/";
|
ACCOUNT_PATH = "./req/";
|
||||||
ACCOUNT_DIR = "req/";
|
CONF_FN = "lyadmin.conf.json"
|
||||||
FULL_PATH = str(WORKING_DIR) + str(ACCOUNT_DIR)
|
CONF_PATH = "./" + str(CONF_FN)
|
||||||
CONF_PATH = str(WORKING_DIR) + "lyadmin.conf.json"
|
|
||||||
|
|
||||||
# validation stuff
|
# validation stuff
|
||||||
MAX_PUB_KEY_LEN = 5000
|
MAX_PUB_KEY_LEN = 5000
|
||||||
@ -39,18 +37,6 @@ KEY_REGEX = "^[ -~]+$"
|
|||||||
# id number
|
# id number
|
||||||
INIT_REQ_ID = "00000"
|
INIT_REQ_ID = "00000"
|
||||||
|
|
||||||
# Slurp the conf file
|
|
||||||
with open(CONF_PATH) as c: conf_json_str = c.read()
|
|
||||||
conf_obj = json.loads(conf_json_str)
|
|
||||||
|
|
||||||
# A list of all the shell enums
|
|
||||||
conf_obj["shell_tup_list"] = list(map(
|
|
||||||
lambda k : (
|
|
||||||
k, conf_obj["shell"][k]
|
|
||||||
),
|
|
||||||
list(conf_obj["shell"].keys())
|
|
||||||
))
|
|
||||||
|
|
||||||
# The main home page
|
# The main home page
|
||||||
@app.route("/")
|
@app.route("/")
|
||||||
def home():
|
def home():
|
||||||
@ -199,21 +185,22 @@ def signup():
|
|||||||
# The below picks the next ID based on
|
# The below picks the next ID based on
|
||||||
# how many requests we already have saved
|
# how many requests we already have saved
|
||||||
# to disk
|
# to disk
|
||||||
if(len(glob.glob(ACCOUNT_DIR + str("[0-9]*ident*"))) == 0):
|
if(len(glob.glob(ACCOUNT_PATH + str("[0-9]*ident*"))) == 0):
|
||||||
new_id = int(INIT_REQ_ID)
|
new_id = int(INIT_REQ_ID)
|
||||||
new_id_str = INIT_REQ_ID
|
new_id_str = INIT_REQ_ID
|
||||||
else:
|
else:
|
||||||
max_id = max(
|
max_id = max(
|
||||||
list(map(
|
list(map(
|
||||||
lambda path : path.split("/")[-1].split(".")[0],
|
lambda path : path.split("/")[-1].split(".")[0],
|
||||||
glob.glob(str(ACCOUNT_DIR) + "[0-9]*ident*")))
|
glob.glob(str(ACCOUNT_PATH) + "[0-9]*ident*")))
|
||||||
)
|
)
|
||||||
zpad = len(max_id)
|
zpad = len(max_id)
|
||||||
new_id = int(max_id)+1
|
new_id = int(max_id)+1
|
||||||
new_id_str = str(new_id).zfill(zpad)
|
new_id_str = str(new_id).zfill(zpad)
|
||||||
|
|
||||||
# write the request to disk
|
# write the request to disk
|
||||||
fn1 = str(FULL_PATH) + str(new_id_str) + ".ident"
|
# fn1 = str(FULL_PATH) + str(new_id_str) + ".ident"
|
||||||
|
fn1 = str(ACCOUNT_PATH) + str(new_id_str) + ".ident"
|
||||||
with open(fn1, "w") as ident_file:
|
with open(fn1, "w") as ident_file:
|
||||||
ident_file.write(str(username) + "\n")
|
ident_file.write(str(username) + "\n")
|
||||||
ident_file.write(str(email) + "\n")
|
ident_file.write(str(email) + "\n")
|
||||||
@ -226,9 +213,36 @@ def signup():
|
|||||||
@app.context_processor
|
@app.context_processor
|
||||||
def get_site_name():
|
def get_site_name():
|
||||||
return {"site_name": conf_obj["site_name"]}
|
return {"site_name": conf_obj["site_name"]}
|
||||||
|
|
||||||
if __name__=="__main__":
|
def check_pwd_for_conf():
|
||||||
|
pwd_file_list = list(map(
|
||||||
|
lambda path : path.split("/")[-1],
|
||||||
|
glob.glob("*")
|
||||||
|
))
|
||||||
|
if(not CONF_FN in pwd_file_list):
|
||||||
|
print("could not find " + str(CONF_PATH))
|
||||||
|
print("please run in the installation directory")
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
# MAIN STARTS HERE
|
||||||
|
if(__name__=="__main__" and check_pwd_for_conf()):
|
||||||
|
# Slurp the conf file
|
||||||
|
with open(CONF_PATH) as c: conf_json_str = c.read()
|
||||||
|
conf_obj = json.loads(conf_json_str)
|
||||||
|
|
||||||
|
# A global list of all the shell enums
|
||||||
|
conf_obj["shell_tup_list"] = list(map(
|
||||||
|
lambda k : (
|
||||||
|
k, conf_obj["shell"][k]
|
||||||
|
),
|
||||||
|
list(conf_obj["shell"].keys())
|
||||||
|
))
|
||||||
|
|
||||||
|
# Setup URL rules
|
||||||
app.add_url_rule('/rules', 'rules', rules)
|
app.add_url_rule('/rules', 'rules', rules)
|
||||||
app.add_url_rule('/req', 'req', req, methods = ['POST', 'GET'])
|
app.add_url_rule('/req', 'req', req, methods = ['POST', 'GET'])
|
||||||
app.add_url_rule('/req/signup', 'signup', signup, methods = ['POST'])
|
app.add_url_rule('/req/signup', 'signup', signup, methods = ['POST'])
|
||||||
|
|
||||||
|
# Run that app!
|
||||||
app.run(host=conf_obj["listen_ip"],debug=True)
|
app.run(host=conf_obj["listen_ip"],debug=True)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"site_name": "lingy.in",
|
"site_name": "tildezero.xyz",
|
||||||
"listen_ip": "127.0.0.1",
|
"listen_ip": "127.0.0.1",
|
||||||
"shell": {
|
"shell": {
|
||||||
"SHELL_BASH": "/usr/local/bin/bash",
|
"SHELL_BASH": "/usr/local/bin/bash",
|
||||||
|
Loading…
Reference in New Issue
Block a user