
    6i                         d Z ddlZddlmc mZ ddlmc mZ	 ddl
mc mZ ddlmc mZ ddlZddlmc mZ ddZddZdS )	uU   
登录登出
@author: baostock.com
@group : baostock.com
@contact: baostock@163.com
    N	anonymous123456c                 *   t          j                    }| | dk    r)t          d           d|_        t          j        |_        |S t          t          d|            ||dk    r)t          d           d|_        t          j	        |_        |S dt          j
        z   | z   t          j
        z   |z   t          j
        z   t          |          z   }t          j        t          j        t          |                    }||z   }t!          j        t%          |d                    }t'          j                    }|                                 t'          j        |t          j
        z   t          |          z             }	|	|	                                dk    rt          j        |_        d	|_        |S |	d
t          j                 }|	t          j        d         }|                    t          j
                  }
|                    t          j
                  }|
d         |_        |
d         |_        |d
         |_        |d         |_        t          j        |j        k    r*t          d           |d         |_        |d         |_        nt          d           |S )u   登录系统
    :param user_id:用户ID
    :param password:密码
    :param options:可选项，00.5.00版本暂未使用
    :return: ResultData()
    N u   用户ID不能为空。user_idu   密码不能为空。loginutf-8encoding   网络接收错误。r         zlogin success!   zlogin failed!) rs
ResultDataprint	error_msgconsBSERR_USERNAME_EMPTY
error_codesetattrconxBSERR_PASSWORD_EMPTYMESSAGE_SPLITstr	msgheaderto_message_headerMESSAGE_TYPE_LOGIN_REQUESTlenzlibcrc32bytessock
SocketUtilconnectsend_msgstripBSERR_RECVSOCK_FAILMESSAGE_HEADER_LENGTHsplitmsg_typemsg_body_lengthBSERR_SUCCESSmethodr   )r   passwordoptionsdatamsg_body
msg_header	head_bodycrc32strmySocketUtilreceive_data
header_arrbody_arrs               B/usr/local/lib/python3.11/dist-packages/baostock/login/loginout.pyr   r      sL    =??D'R--'(((23D)W%%%8r>>%&&&03 ++g58JJ%&(+G5H ,'X8 8JX%Iz%	G<<<==H ?$$L=D&&X68 8L |1133r9920a ::;JD6r9:H!!$"455J~~d011HqMDM%a=DqkDOa[DNT_,,qk{oK    c                 <   t           j                                                             d          }t          t          d          r.t          t          d          } | | dk    rt          d           dS dt          j        z   | z   t          j        z   |z   }t          j
        t          j        t          |                    }||z   }t          j        t          |d                    }t!          j        |t          j        z   t%          |          z             }t'          j                    }||                                dk    rt          j        |_        d	|_        |S |d
t          j                 }|t          j        d         }|                    t          j                  }|                    t          j                  }	|d         |_        |d         |_        |	d
         |_        |	d         |_        t          j        |j        k    r*t          d           |	d         |_        |	d         |_        nt          d           t          t          d          r<t          t          d          't          t          d                                            |S )uc   登出系统，默认用户ID：anonymous
    :param user_id:用户ID
    :return:ResultData()
    z%Y%m%d%H%M%Sr   Nr   zyou don't login, logout failed!logoutr	   r
   r   r   r   r   r   zlogout success!r   zlogout failed!default_socket)!datetimenowstrftimehasattrr   getattrr   r   r   r   r   MESSAGE_TYPE_LOGOUT_REQUESTr    r!   r"   r#   r$   r'   r   r   r   r(   r)   r   r   r*   r+   r,   r-   r.   r/   r   close)
r   now_timer3   r4   r5   r6   r8   r2   r9   r:   s
             r;   r>   r>   V   sK     $$&&//??HtY $	**?gmm3444F $,,$%'/0H ,(#h--9 9J X%Iz%	G<<<==H =D&&X68 8L =??D|1133r9920a ::;JD6r9:H!!$"455J~~d011HqMDM%a=DqkDOa[DNT_,,   qk{t%&& 44)**6D*++11333Kr<   )r   r   r   )r   )__doc__r!   baostock.util.socketutilutil
socketutilr$   baostock.data.resultsetr2   	resultsetr   baostock.common.contantscommoncontantsr   baostock.data.messageheadermessageheaderr   r@   baostock.common.contextcontextr   r   r>    r<   r;   <module>rV      s      ' ' ' ' ' ' ' ' ' $ $ $ $ $ $ $ $ $ ' ' ' ' ' ' ' ' ' / / / / / / / / /  & & & & & & & & &B B B BJ< < < < < <r<   