Exemplo n.º 1
0
def session_post(session: SessionModel,
                 service,
                 api,
                 data=None,
                 json=None,
                 **kwargs):
    def inner_func(session: SessionModel,
                   service,
                   api,
                   data=None,
                   json=None,
                   **kwargs):
        url = getserviceUrl(session.host, session.port, service, api)
        headers = defaultRequestHeader()
        headers["hku_token"] = session.token
        r = post(url, data, json, headers=headers, **kwargs)
        if "update_token" in r:
            session.token = r["update_token"]
        return r

    session.running = False
    if not session.token:
        session = login(session)
    res = inner_func(session, service, api, data, json, **kwargs)
    if not res["result"] and (res['errcode'] == RestErrorCode.AUTHORIZE_EXPIRED
                              or res['errcode']
                              == RestErrorCode.FAILED_AUTHORIZED):
        session = login(session)
        res = inner_func(session, service, api, data, json, **kwargs)
    session.running = True if res["result"] else False
    return res
Exemplo n.º 2
0
def login(session: SessionModel):
    url = getserviceUrl(session.host, session.port, "user", "login")
    headers = defaultRequestHeader()
    res = post(url, headers=headers, json={"user": session.user, "password": session.password})
    session.token = res["token"]
    session.userid = res["userid"]
    return session
Exemplo n.º 3
0
 def getServerStatus(session: SessionModel):
     try:
         r = session_get(session, "assist", "status")
         if r["result"]:
             session.running = True
             return "running", _translate("service", "running")
         else:
             session.running = False
             return "stop", _translate("service",
                                       "failed! {}").format(r["errmsg"])
     except Exception as e:
         session.running = False
         logging.info("{}: {}".format(e.__class__.__name__, e))
         return "stop", _translate("service", "failed connect!")
Exemplo n.º 4
0
 def inner_func(session: SessionModel, service, api, json, **kwargs):
     url = getserviceUrl(session.host, session.port, service, api)
     headers = defaultRequestHeader()
     headers["hku_token"] = session.token
     r = put(url, json=json, headers=headers, **kwargs)
     if "update_token" in r:
         session.token = r["update_token"]
     return r
Exemplo n.º 5
0
def login(session: SessionModel):
    url = getserviceUrl(session.host, session.port, "user", "login")
    headers = defaultRequestHeader()
    sha = hashlib.sha256()
    sha.update(bytes(session.password, encoding='utf8'))
    pwd = sha.hexdigest()
    res = post(url,
               headers=headers,
               json={
                   "user": session.user,
                   "password": pwd
               })
    if res["result"]:
        session.token = res["token"]
        session.userid = res["userid"]
    else:
        raise RestfulError(res)
    return session
Exemplo n.º 6
0
 def actionNewSession(self):
     server_session = SessionModel()
     session_dialog = HkuEditSessionDialog(self)
     session_dialog.setWindowTitle(_translate("MainWindow", "New Session"))
     session_dialog.setData(server_session)
     if session_dialog.exec() >= 0:
         session_data = session_dialog.getData()
         session_data.save()
         self.server_view_dock.addSession(session_data)
     session_dialog.destroy()
Exemplo n.º 7
0
 def getData(self):
     if self.session_model is None:
         self.session_model = SessionModel()
     self.session_model.name = self.name
     self.session_model.host = self.host
     self.session_model.port = self.port
     self.session_model.user = self.user
     self.session_model.password = self.password
     self.session_model.remark = self.remark
     return self.session_model
Exemplo n.º 8
0
def session_get(session: SessionModel, service, api, params=None, **kwargs):
    def inner_get(session: SessionModel, service, api, params, **kwargs):
        url = getserviceUrl(session.host, session.port, service, api)
        headers = defaultRequestHeader()
        headers["hku_token"] = session.token
        r = get(url, headers=headers, params=params, **kwargs)
        if "update_token" in r:
            session.token = r["update_token"]
        return r

    session.running = False
    if not session.token:
        session = login(session)
    res = inner_get(session, service, api, params, **kwargs)
    if not res["result"] and res['errcode'] == RestErrorCode.AUTHORIZE_EXPIRED:
        session = login(session)
        res = inner_get(session, service, api, params, **kwargs)
    session.running = True if res["result"] else False
    return res