ó J¡Vc@s=ddlZddlZddlZddlmZddlmZmZmZddl Z ddl Tddl Tddl m Z mZmZmZddlTddlmZddlmZe jd e jƒZdZd ZdZd Zd ZdZd Zd ZdZ dZ!de"fd„ƒYZ#de$fd„ƒYZ%dS(iÿÿÿÿN(tBytesIO(turllib2_requestt urllib2_parset urllib2_error(t*(tdevicetutilstcodestdimei(tPY3(t to_bytes_utf8sHTTP/\d.\d\s(\d+)iiiiÈiôià t SOAPFaxDevicecBs’eZd d d eed„Zd„Zd„Zd„Ze eeƒZ d„Z d„Z e e e ƒZ d„Zddd edd d d„ZRS( cCsYtj||||||ƒd|_d|_|jdkrL|j|_n d|_dS(Ntnett localhost(t FaxDevicet__init__tNonetsend_fax_threadtupload_log_threadtbusthostt http_host(tselft device_urit printer_nametcallbacktfax_typet disable_dbus((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/fax/soapfax.pyRCs   c Cs…g}xxt|jƒƒD]d\}}trT|jd|tjt|ƒƒfƒq|jd|tj|jdƒƒfƒqWdj|ƒ}t j |ƒd||j t |ƒ|f}t j |ƒ|j|jdƒƒtƒ}x|jd|ddƒrqëW|jƒ}t j |ƒ|jƒtj|jdƒƒ}yt|jdƒƒ} Wnttfk rzt} nX| tkS( Ns%s=%ssutf-8t&suPOST %s HTTP/1.1 Connection: Keep-alive User-agent: hplip/2.0 Host: %s Content-length: %d Cache-control: No-cache %sittimeoutii(tlisttitemsR tappendRtquotetstrtencodetjointlogtdebugRtlentlog_datatwriteEWSRtreadEWStgetvaluetcloseEWSthttp_result_pattmatchtdecodetinttgroupt ValueErrort TypeErrort HTTP_ERRORtHTTP_OK( RturltposttstktvtdatatretR.tcode((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/fax/soapfax.pyR7Vs,)-       cCs|jdit|ƒd6ƒS(Ns/hp/device/set_config.htmlt FaxNumber(R7R"(Rtnum((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/fax/soapfax.pyt setPhoneNum€scCs<tƒ}|jd|ƒtjƒj|jƒƒ}|dS(Ns(/hp/device/settings_fax_setup_wizard.xmls'faxsetupwizard-faxvoicenumber-faxnumber(Rt getEWSUrlRtXMLToDictParsertparseXMLR+(Rtstreamt fax_setup((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/fax/soapfax.pyt getPhoneNum„s cCsHy |}Wn$ttfk r0tjdƒnX|jdi|d6ƒS(Ns Unicode Errors/hp/device/set_config.htmltFaxCompanyName(tUnicodeEncodeErrortUnicodeDecodeErrorR%terrorR7(Rtname((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/fax/soapfax.pytsetStationNames  cCs<tƒ}|jd|ƒtjƒj|jƒƒ}|dS(Ns(/hp/device/settings_fax_setup_wizard.xmls-faxsetupwizard-userinformation-faxcompanyname(RRARRBRCR+(RRDRE((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/fax/soapfax.pytgetStationName•s c CsÄtƒ}|jd|ƒtjƒj|jƒƒ}|d}yt|ƒ}Wnttfk rmt }nXt j d|ƒ|d}yt|ƒ}Wnttfk r¸t }nXt j d|ƒt jƒ}|d}t}|ddkrÿt}n|t kr$|dkr$|d8}nit|ƒd6t|d ƒd 6t|d ƒd 6t|d ƒd6t|ƒd6t|ƒd6t|dƒd6}|t kr´t|ƒ|dX|j j!t"kr>|} q>qo| |krºtjd.ddƒyt |j#d/ƒ}"Wn't$k rŠtjd0ƒ|} qonXy|"j%t&ƒ}#Wn't$k rÇtjd0ƒ|} qonX|j'|#ƒ\ }$}%}&}'}(})}*}+},}-|$d1krtjd2ƒ|} n)tjd3|$|%|&|'|(|)|*|+fƒ|j(}.d}/|d4}0d}1|*t)krtd5}2n*|*t*kr‰d6}2n|*t+kržd7}2nt,j-d8ƒ}3|j.|3j/d9ƒƒ}4tj0|4ƒtj1ƒr÷t d:d;ƒj2|4ƒn|j j3ƒ|j j4|4ƒt5ƒ}5x|j j6d<|5d=d>ƒr>q W|5j7ƒ}5tj1ƒrpt d?d;ƒj2|5ƒntj0|5ƒ|j j8ƒ|j9|5j:d9ƒƒt;kr±|} q>|} qo| |kr6 tjd@deƒt5ƒ}6x[t<|&ƒD]<}7|jƒr |} n| |kr Pny|"j%t=ƒ}#Wn't$k rT tjd0ƒ|} qínX|j>|#ƒ\}8}9}:};}<}-tjdA|8|9|:|;|<fƒ|9t?kr¶ tjdBt?ƒn|6j2|"j%|;ƒƒ|"j%|<ƒ}=|6j@dƒy|6j%|;ƒ}4Wn%t$k r" tjd0ƒ|} PnX|4dkrF tjdCƒ|} Pn|:}>|j(}.t,j-dDƒ}3tAjBƒ}?|?jCtAjDdEdFtAjEtF|3ƒƒƒ|?jCtAjDddGtAjG|4ƒƒt5ƒ}@|?jH|@ƒ|j.|@j7ƒdHdIƒ}4tj0|4ƒtj1ƒr! t dJ|7d;ƒj2|4ƒny|j j4|4ƒWnt k rN |} nXt5ƒ}5y&x|j j6d<|5d=d>ƒr| q^ WWnt k r— |} nX|5j7ƒ}5tj1ƒrÍ t dK|7d;ƒj2|5ƒntj0|5ƒ|j j8ƒ|j9|5j:d9ƒƒt;kr |} Pn|6jIdƒ|6j@dƒqíW|} qo| |krk tjdLdfƒ|j(}.t,j-dMƒ}3|j.|3j/d9ƒƒ}4tj0|4ƒtj1ƒrµ t dNd;ƒj2|4ƒn|j j4|4ƒt5ƒ}5x|j j6d<|5d=d>ƒrï qÑ W|5j7ƒ}5tj1ƒr! t dOd;ƒj2|5ƒntj0|5ƒ|j j8ƒ|j9|5j:d9ƒƒt;krb |} q>|} qo| |kr tjdPdgƒ|j(}.t,j-dQƒ}3|j.|3j/d9ƒƒ}4tj0|4ƒtj1ƒrê t dRd;ƒj2|4ƒn|j j4|4ƒt5ƒ}5x|j j6d<|5d=d>ƒr$qW|5j7ƒ}5tj1ƒrVt dSd;ƒj2|5ƒntj0|5ƒ|j j8ƒ|j9|5j:d9ƒƒt;kr—|} q>|} qo| |krotjdTdhƒtjdUƒytJjƒWntKk rënXy|"jƒWntKk r nXtLjMdVƒ|j j8ƒ|j jƒ|} qoqoWqx|| krxtjdWdiƒ|jNrÄtjdX|j#ƒy!tOjP|j#ƒtjdYƒWqÄtQk rÀtjdZƒqÄXn|}qxqxWdS(jNii iiii(i2i<iFiPiZidinixi‚sSTATE=(%d, 0, 0)sAborted by user.RasSuccess.sError, aborting.sDevice busy, aborting.s%s State: Get sender infoRsUnable to open device (%s).sSender name=%ss Sender fax=%ssHTTP GET failed!s!%s State: Pre-render non-G4 filess%s State: Get total page counts%s State: Next recipientsProcessing for recipient %sRKsLast recipient.s%s State: Render cover pages%s State: Handle single files%s State: Merge multiple filess%s State: Send faxiªsFax send aborted.sD/L error state=%dsSTATE=(%d, %d, 0)sFax send error.sFax device busy.sFax send success.s%s State: Open devices%s State: BeginJobtrbsUnable to read fax file.thplip_g3sInvalid file header. Bad magic.s>Magic=%s Ver=%d Pages=%d hDPI=%d vDPI=%d Size=%d Res=%d Enc=%dtfaxtSTANDARDtFINEt SUPERFINEsÒ$job_id$res$delay$faxnum$speeddialsutf-8s beginjob.logtwbi Risbeginjob_ret.logs%s State: DownloadPagess%Page=%d PPR=%d RPP=%d BPP=%d Thumb=%ds#Pixels per line (width) must be %d!sNo data!s"$job_id$heightscid:id0s)http://schemas.xmlsoap.org/soap/envelope/s image/g4faxt content_typesapplication/dimesdownloadpages%d.logsdownloadpages%d_ret.logs%s State: EndJobs $job_id$job_ids endjob.logsendjob_ret.logs%s State: CancelJobs$job_id$job_ids canceljob.logscanceljob_ret.logs%s State: Close sessionsClosing session...is%s State: CleanupsRemoving merged file: %stRemoveds Not founds********************s********************s********************s********************s********************s********************s********************s********************s********************s********************s********************s********************s********************s********************s********************(Rtnext_recipient_gentrendered_file_listtcheck_for_cancelR%R&RJt write_queuet STATUS_IDLEtSTATUS_COMPLETEDt STATUS_ERRORt STATUS_BUSYRztopentErrortmsgRvt sender_nameRut sender_faxtcloset pre_rendert count_pagestnexttSTATUS_SENDING_TO_RECIPIENTt StopIterationt cover_paget single_filet merge_filesRgtgetFaxDownloadStatetpmltUPDN_STATE_XFERACTIVEtUPDN_STATE_XFERDONEt device_statetDEVICE_STATE_NOT_FOUNDtftIOErrortreadtFILE_HEADER_SIZEtdecode_fax_headerRytRESOLUTION_STDtRESOLUTION_FINEtRESOLUTION_300DPIRtcatt format_httpR#R(tis_debugtwritet openSoapFaxt writeSoapFaxRt readSoapFaxR+t closeSoapFaxtget_error_codeR/R5trangetPAGE_HEADER_SIZEtdecode_page_headertPIXELS_PER_LINEtseekRtMessaget add_recordtRecordt TYPE_T_URIR t TYPE_T_MIMEtgeneratettruncatetmmt NameErrorRXtsleeptremove_temp_filetostremovetOSError(ARt STATE_DONEt STATE_ABORTEDt STATE_SUCCESSt STATE_BUSYtSTATE_READ_SENDER_INFOtSTATE_PRERENDERtSTATE_COUNT_PAGEStSTATE_NEXT_RECIPIENTtSTATE_COVER_PAGEtSTATE_SINGLE_FILEtSTATE_MERGE_FILEStSTATE_SEND_FAXt STATE_CLEANUPt STATE_ERRORtnext_recipienttstatetet recipienttrecipient_file_listtFAX_SEND_STATE_DONEtFAX_SEND_STATE_ABORTtFAX_SEND_STATE_ERRORtFAX_SEND_STATE_BUSYtFAX_SEND_STATE_SUCCESStFAX_SEND_STATE_DEVICE_OPENtFAX_SEND_STATE_BEGINJOBtFAX_SEND_STATE_DOWNLOADPAGEStFAX_SEND_STATE_ENDJOBtFAX_SEND_STATE_CANCELJOBtFAX_SEND_STATE_CLOSE_SESSIONt monitor_statetfax_send_statet fax_statetfftheadertmagictversiont total_pagesthort_dpitvert_dpit page_sizet resolutiontencodingt reserved1t reserved2Rytdelaytfaxnumt speeddialtrestsoapR;R<tpagetptpage_numtpprtrppt bytes_to_readtthumbnail_bytest thumbnailtheighttmtoutput((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/fax/soapfax.pytrunós†                                                       -                              !          "                                                 cCsf|s tStj|ƒ}|dkr)tSyt|jdƒƒ}Wnttfk rat}nX|S(Ni( R4R-R.RR5R0R1R2R3(RR<R.R=((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/fax/soapfax.pyR°µs  stext/xml; charset=utf-8cCs/|j}t|ƒ}tjdƒjdƒ|S(Ns’POST / HTTP/1.1 Host: $host User-Agent: hplip/2.0 Content-Type: $content_type Content-Length: $soap_len Connection: close SOAPAction: "" sutf-8(RR'RR¨R#(RRõR‚Rtsoap_len((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/fax/soapfax.pyR©Ãs  (RqRrRRgRRR°R©(((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/fax/soapfax.pyRcßs   ÿà (&tsysRÁRXtioRtbase.sixext.movesRRRtretbase.gt base.codestbaseRRRRR}t base.sixextR R tcompiletIR-RVtTIME_FORMAT_24HRtDATE_FORMAT_MM_DD_YYYYRWtDATE_FORMAT_YYYY_MM_DDRURZR5R4R´RR RwRc(((s[/builds/ul11u3sru-gate/components/hplip/build/prototype/i386/usr/share/hplip/fax/soapfax.pyts0      " ž