a DdM @svddlZddlZddlZddlZddlZddlZeejejj ddZ ddZ ddZ dd Z d d Zd d ZdS)NcCs tdtjd|||d}|S)NZPOST)headersdata)timesleeprequestsZrequest)urlrpayloadresponser 2/mnt/chromeos/MyFiles/work/nlp_tsa/tsa/TSA/util.pypost_url s r cCs*|dd}td|}dd|D}|S)N  u(?<=[。!?.!?:])\s*cSsg|]}|dkr|qS)r ).0stringr r r zseg..)replaceresplit)text sentencesr r r segs  rcCs|dd}tdd|}tdd|}tdd|}tdd|}d}|D]}|s`|dkrL||7}qLddd |D}|S) Nrr-rz \d+/\d+/\d+z[0-2]?[0-9]:[0-6][0-9]z>/[a-zA-Z]*[:\//\]*[A-Za-z0-9\-_]+\.+[A-Za-z0-9\.\/%&=\?\-_]+/icss|]}t|dkr|VqdS)rN)len)rZwordr r r #rzclean_text..)rrsubisalphajoinr)rZ pure_textZletterr r r clean_texts  r!cCsLi}|D]>}|d|vr*|d||d<q||d|d||d<q|S)Nrrr )groupsZtopicsparair r r article_to_group's  r%csddfdd}d|}i}g}t|D]\}\}}|} t||d} ddd} t|| | } t| j} d | vrt|| | } t| j} td qv||f|| d <| | d q4||fS) NZIZt1uK9PAI0LiqleqT0cE30bZ Xv5kHB8eyhNuI1B1G7fRgm2SIPdlxGxscs,d}dd}ttj||ddS)Nz(https://aip.baidubce.com/oauth/2.0/tokenZclient_credentials)Z grant_typeZ client_idZ client_secret)paramsZ access_token)strrZpostjsonget)rr&ZAPI_KEYZ SECRET_KEYr r get_access_token5s z$generation..get_access_tokenzPhttps://aip.baidubce.com/rpc/2.0/nlp/v1/news_summary?charset=UTF-8&access_token=)contentZmax_summary_lenzapplication/json)z Content-TypeZAcceptZsummaryZReTrying) enumerateitemsr(dumpsr loadsrkeysprintappend)r# max_lengthr+rZtopicZ Ai_abstractr$jkZ input_textr rr Z text_dictr r*r generation1s0       r7cCs\g}|D]N}||vr(|d|||vr|d||||dq|S)Nz# z## r)r1r3) title_dict outline_listZformatedZeachr r r formate_textVs  r:)r(ZjiebarrZbackoffrZ on_exceptionZexpo exceptionsZRequestExceptionr rr!r%r7r:r r r r s  %