
    6iE                         d Z ddl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mc mZ ddlmc mZ ddZddZd	dZdS )
u3   
    证券系统元方法，如获取交易日等
    Nc                    t          j                    }| | dk    rt          j        } ||dk    r&t	          j        dt	          j                              }d}	 t          t          d          }n9# t          $ r, t          d           t          j        |_        d|_        |cY S w xY wdd|dddt          j        d| d|}t          j        |          }t#          j        t          j        t)          |                    }t          j        |_        ||_        ||z   }t/          j        t3          |d	
                    }t5          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         |_        t          j#        |j        k    r|d         |_$        |d         |_%        |d         |_&        |d         |_'        |(                    |d                    |d         |_)        |d         |_*        |+                    |d                    |S )u   查询出给定范围的交易日信息

    @param start_date: 起始日期，默认2015-01-01
    @param end_date: 终止日期，默认当前日期
    @return: calendar_date 日期；is_trading_day，是否交易日，0:非交易日;1:交易日
    N %Y-%m-%duser_idyou don't login.query_trade_dates,1utf-8encoding   网络接收错误。r                           	   ),rs
ResultDataconsDEFAULT_START_DATEtimestrftime	localtimegetattrconx	ExceptionprintBSERR_NO_LOGIN
error_code	error_msgBAOSTOCK_PER_PAGE_COUNTstrUtilorganize_msg_body	msgheaderto_message_header$MESSAGE_TYPE_QUERYTRADEDATES_REQUESTlenmsg_typemsg_bodyzlibcrc32bytessocksend_msgMESSAGE_SPLITstrstripBSERR_RECVSOCK_FAILMESSAGE_HEADER_LENGTHsplitmsg_body_lengthBSERR_SUCCESSmethodr   cur_page_numper_page_countsetData
start_dateend_date	setFields)rA   rB   datar   paramr/   
msg_header	head_bodycrc32strreceive_data
header_arrbody_arrs               K/usr/local/lib/python3.11/dist-packages/baostock/metadata/stock_metadata.pyr   r      s    =??DZ2--,
8r>>=T^-=-=>>G$	**    !!!-+	 	WWWccc$$$jjj((<E (//H,13x==B BJ =DMDMX%Iz%	G<<<==H=T-?!?#h--!OPPL|1133r9920a ::;JD6r9:H!!$"455J~~d011H%a=DqkDOa[DNT_,,qk{$QK&qkXa[!!!"1+ x{###Ks   A/ /3B%$B%c           	      \   t          j                    }| | dk    r&t          j        dt          j                              } d}	 t          t          d          }n9# t          $ r, t          d           t          j
        |_        d|_        |cY S w xY wdd|dddt          j        d| 	}t          j        |          }t!          j        t          j        t'          |                    }t          j        |_        ||_        ||z   }t-          j        t1          |d	
                    }t3          j        |t          j        z   t9          |          z             }||                                dk    rt          j        |_        d|_        |S |dt          j                 }|t          j        d         }|                     t          j                  }	|                     t          j                  }
|	d         |_!        |
d         |_        |
d         |_        t          j"        |j        k    rw|
d         |_#        |
d         |_$        |
d         |_%        |
d         |_&        |'                    |
d                    |
d         |_(        |)                    |
d                    |S )uS   查询给定日期的所有证券信息，

    @param day: 默认当前日期
    Nr   r   r   r   query_all_stockr	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   )*r   r   r   r   r   r    r!   r"   r#   r   r$   r%   r&   r'   r(   r)   r*   r+   "MESSAGE_TYPE_QUERYALLSTOCK_REQUESTr-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r   r>   r?   r@   dayrC   )rP   rD   r   rE   r/   rF   rG   rH   rI   rJ   rK   s              rL   rN   rN   O   sm   
 =??D
{cRiimJ(8(899G$	**    !!!-+	 	777CCC$$$cc+E (//H,/X@ @J ;DMDMX%Iz%	G<<<==H=T-?!?#h--!OPPL|1133r9920a ::;JD6r9:H!!$"455J~~d011H%a=DqkDOa[DNT_,,qk{$QK&qkXa[!!!A;x{###Ks   A 3BBr   c                    t          j                    }| | dk    rd} | dk    r| t          |           t          j        k    rct          dt          t          j                  z   dz              dt          t          j                  z   dz   |_        t          j        |_	        |S | 
                                } |                     d          s|                     d          r*| dd         
                                d	z   | d
d         z   } ||dk    rd}d}	 t          t          d          }n9# t          $ r, t          d           t          j        |_	        d|_        |cY S w xY wdt          |          z   dz   t          t          j                  z   dz   t          |           z   dz   t          |          z   }t#          j        |          }t'          j        t          j        t          |                    }t          j        |_        ||_        ||z   }t1          j        t5          |d                    }t7          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         |_        t          j#        |j	        k    r|d         |_$        |d         |_%        |d         |_&        |d         |_'        |(                    |d                    |d         |_)        |d         |_*        |+                    |d                    |S )u   A股证券基本资料
    @param code: 证券代码，可为空
    @param code_name: 证券名称，可为空，支持模糊查询
    Nr   u   股票代码应为u-   位，请检查。格式示例：sh.600000。shszr   r   .r   r   r   r   zquery_stock_basic,z,1,r	   r   r   r   r   r   r   r   r   r   r   ),r   r   r-   r   STOCK_CODE_LENGTHr#   r6   r&   BSERR_PARAM_ERRr%   lowerendswithr    r!   r"   r$   r'   r(   r)   r*   r+   $MESSAGE_TYPE_QUERYSTOCKBASIC_REQUESTr.   r/   r0   r1   r2   r3   r4   r5   r7   r8   r9   r:   r;   r<   r=   r   r>   r?   r@   code	code_namerC   )rZ   r[   rD   r   rE   r/   rF   rG   rH   rI   rJ   rK   s               rL   query_stock_basicr\      sv   
 =??D|trzzrzzd&t99...&T-C)D)DDGvvwww1C8N4O4OO  SB  BDN"2DOKzz||MM$ 	74==#6#6 	7!9??$$s*T!A#Y6DIOO	G$	**    !!!-+	 !3w<</%7D())*$ii #I/E (//H,13x==B BJ =DMDMX%Iz%	G<<<==H=T-?!?#h--!OPPL|1133r9920a ::;JD6r9:H!!$"455J~~d011H%a=DqkDOa[DNT_,,qk{$QK&qkXa[!!!QK	!!x{###Ks   D1 13E'&E')NN)N)r   r   )__doc__r   r0   baostock.data.resultsetrD   	resultsetr   baostock.common.contantscommoncontantsr   baostock.util.stringutilutil
stringutilr(   baostock.common.contextcontextr!   baostock.util.socketutil
socketutilr3   baostock.data.messageheadermessageheaderr*   r   rN   r\        rL   <module>rn      s      $ $ $ $ $ $ $ $ $ ' ' ' ' ' ' ' ' ' * * * * * * * * * & & & & & & & & & ' ' ' ' ' ' ' ' ' / / / / / / / / /= = = =@8 8 8 8vE E E E E Erm   