# Locally used functions: def join(a,b): return a+b if a.endswith("/") else "/".join((a,b)) def genHeader(jsDir, flist): return "\n".join(["" % join(jsDir, f) for f in flist]) # Headers: def loginHeader(jsDir, compressed=True): return genHeader(jsDir, ["srp.min.js"] if compressed else ["SHA256.js", "prng4.js", "rng.js", "jsbn.js", "jsbn2.js", "srp.js"]) def registerHeader(jsDir, compressed=True): return genHeader(jsDir, ["srp.min.js", "srp_register.min.js"] if compressed else \ ["SHA256.js", "prng4.js", "rng.js", "jsbn.js", "jsbn2.js", "srp.js", "srp_register.js"]) # Forms: def loginForm(srp_url, srp_forward, login_function="login()", no_js=True): return """
""" % (join(srp_url, "noJs/") if no_js else "#", login_function, join(srp_url, ""), srp_forward) def registerForm(srp_url, srp_forward, login_function="register()"): return """""" % (login_function, join(srp_url, ""), srp_forward) # Functions: def loginFunction(): return """""" def registerFunction(): return """"""