def run(cmd): try: args = shlex.split(cmd) p = subprocess.Popen(args) returncode = p.wait() if returncode == 0: r = pack_result(RS_SUCCESS) except Exception, e: r = pack_result(RS_FAILURE, msg=repr(e))
def login(self): username = self.request.POST["username"] passwd = md5(self.request.POST["passwd"]).hexdigest() db_session = get_session() q = db_session.query(model.DKUser) user = q.get(username) if user.passwd == passwd: #cache user in session self.request.session["user"] = user self.request.session.save() return pack_result(RS_SUCCESS) else: return pack_result(RS_FAILURE)
def gen_master_key(): if os.path.exists(os.path.expanduser("~/.cpk/public_params")): r = pack_result(RS_FAILURE, "public_params.der already imported!") log.info("%s(): => %s" % (FUNC_NAME(), repr(r))) return r request = pyramid.threadlocal.get_current_request() cmd = "%(cpk.dir)s/cpk -import-param -in %(cpk.dir)s/public_params.der" % request.registry.settings return run(cmd)
def get_users(self): if self.request.matchdict.get("pathparams"): offset, size = map(int, self.request.matchdict["pathparams"]) else: offset = self.request.GET["offset"] size = self.request.GET["size"] db_session = get_session() q = db_session.query(model.DKUser).offset(offset).limit(size) l = [(u.username, u.master_email) for u in q.all()] return pack_result(RS_SUCCESS, data=l)
def register(self): user = model.DKUser() user.username = request.POST["username"] user.passwd = md5(request.POST["passwd"]).hexdigest() user.master_email = request.POST["email"] user.phone_mobile = request.POST["phone_mobile"] user.phone_office = request.POST["phone_office"] user.phone_home = request.POST["phone_home"] user.org = request.POST["org"] user.title = request.POST["title"] user.addr = request.POST["addr"] #roles is stored as ":" seperated string user.roles = ":".join((meta.ROLE_USER, )) db_session = get_session() db_session.add(user) return pack_result(RS_SUCCESS)
def get_user_count(self): db_session = get_session() count = db_session.query(model.DKUser).count() return pack_result(RS_SUCCESS, data=count)