3
NZ              V   @   s  d Z dZdZdZddlZddlZddlZddlZddl	Z	ddlZddl
Z
yddlZW n ek
rh   Y nX ddlT ddlmZmZmZmZmZmZmZ ddlmZ dd	lmZ dd
lmZmZ yddlmZ W n: ek
r Z ze j!e ddl"m#Z W Y ddZ[X nX dZ$dd Z%d!ddZ&e	j'de	j(Z)edddfde dddfej*ej+ej,ej-ej.d"d#d$d%d&d'd(d)ej/ej0ej1ej2ej3d*d+d,d-d.d/ej4d0d1d2d3d4d5d6d7d8d9d:d;ej-ej5d<d=d>d?d@dAdBej-ej6dCdDg4Z7ej8eee ee7e9e:fe;e<e=fddXZ>e>j?dYdZd[d\d]d^d_d`dadbdcdddedfdgdhgddi\Z@ZAZBZCZDZEdZFdZBdZGdZHdZIdZJdZKdZLdZMdjZNdZOdZPxe@D ]\ZQZReQdkkrdZMqeQdEkreRZBqeQdFkreRZGqeQdGkreRZAqeQdHkrBdudv eRjSdwD ZHejTeHdsDe>jUdxgdy qeQdIkrԐdJ\ZJZIeRjV jW ZRxeRjSdwD ]^ZXeXjV dKkre>jUd~gdy eXjV d|krdZIn&eXjV d}krpeYjZse j[d ndZJqpW npeQdkrye\eRZNW n$ e]k
r   e>jUdgdy Y nX n2eQdLkr$dZLn eQdMkr6dZOneQdkrdZPqW ye>j^d Z_W n e`k
rr   dZ_Y nX e j!de_  eBdk	reBZFneGdk	reGZFe j!deF  eCe:kreFdk	re jad eDdkrejb se j[de  e&dj n ejc se j[de  e&dj eCe:kreDdkrVyddldT ddlemfZf W n( ek
rl   e j[d e&dj Y nX eOr~e jgd ehejiZjekjlejemdejend eEdkreojpdddZEeEjW dkreqerjs ZEe j!deE  eEjW dkrdZy eEjSd\ZtZudjvetegZEW n( e]k
r:   eEZtdjveEegZEY nX e j!deE  ewdZxdet Zye j!dey  exjzeyeYj{Z|e|rejj}ex ndZEeEdkre j!d nTe j!deE  e~je~eE eEeY_syesjesjesjeE W n esjk
r   Y nX yefjeHe_eNZW n( ek
r0   e j[d e&dj Y nX ejje ej  ejj  ej  nejeD\ZhZeed ZeehejiZje j!dejieBe_eNeAeOf  eejde_eNeAeOZej  ye j!d ejj  W n ek
r   e&d Y nX nyyddlmZ W n  ek
r   e jgd Y nX ejej eOrejd e>jeFdddg\ZZBZAeBZFe je jdeBeAf  ejeje9ddeF\ZZejekre jdeF  ejeeAeB e&d ne j[deFef  e&dj eLse jd e jd e_	reje_eN\ZAZZeA 	rNeHdk	rNej ZHeHdk	r2e&d e jdeHd   e jd eA	sxe j!deJeIf  e>jejeHdZAeA	se&d e je jdeA  e jd eAjddZeAjddZejeA\	ZZZHZZZZZZe j!de  ejeAZe 
s
ejpdeek
re j[d e&dj ejpdeeefk
r<eJ
r<dZJejejW ZejpdeZePdk
reek
rddlmZ ej Zej Zeejk
reejk
rejd n
ejd ejdZe
rdZejeÃdk
re j[d e j[d e&dj ejŃ ZejejddjdddZejdgZx8eej̃ D ](Zx ee D ]Ze j!de  q@W q2W ejdgZx8eej̃ D ](Zx ee D ]Ze j!de  qW qxW eIrejdÃ eL reekre jaddjvee   ejddǃ\ZZIeҐse&d eIrleLreZBeZejdgZeAekr4eeeA ks>eekrdZxJede  ZeekreAeksreeeA krede 7 ZP edj7 Z֐qDW eLseBdkrȐx&ee jde ZBeBjW jV dkre jd̃ e&d eB seBjW jV dkreZBdZxDeej̃ D ]4Zx,ee D ] ZeBekre j[d΃ dZP qW qW xDeej̃ D ]4Zx,ee D ] ZeBekr\e j[dσ dZP q\W qNW x,eBD ]$Zeejkre j[de  dZؐqW eؐrP qW neZBe jdeB  ejejddjdddZe jd҃ ejeeeƃZdZedkr(dZe j[dӃ nZe\ZZe jde  e jde  eLse jdփ ejd׃\ZZeҐsxe&d eߐsdZeݐrdZejddǃ\ZZeҐse&d eݐrdZҐx&ee jdكZejW jV dkre jd̃ e&d eZejjerejjerejdڃr*e
jedۃjd܃Zneedۃjd܃Zye)jejdjZW n ek
rh   dZY nX eސre jde  n
e j[dރ ejd߃\ZZeҐse&d eߐreZn
e j[d eҐrP qW ne j[d e&dj eLrddejdd  ZZnxx:ee jdZejV jW dkr0e jd̃ e&d P qW x:ee jdZejV jW dkrle jd̃ e&d P q:W e je jd e jde  e jdeB  e jde  e jde  e jde  ejje܃seBeedeefZneBeeedefZejeje9ddfe \ZZe j!deef  e j!ejdg eejkr^e j[de  e&dj nejeeeB ePdkrejpddryejeZW n  ek
r   e j[d Y n*X ej re jd n
e j[d ej  eJreYjZ re j[d dZJeJr6yddlmZ W n$ ek
r4   dZJe jad Y nX e jd eJrejd eL reekre jaddjvee   ejddǃ\ZZJeҐse&d eJreLred ZGed ZejdgZeekreee kseekr2dZxJede  Zeekr$eekseee kr$ede 7 ZP edj7 Z֐qW eLsheGdkrlx&ee jde ZGeGjW jV dkr|e jd̃ e&d eG seGjW jV dkreZGdZxDeej̃ D ]4Zx,ee D ] ZeGekre j[d΃ dZP qW qW xDeej̃ D ]4Zx,ee D ] ZeGekr e j[dσ dZP q W qW x,eGD ]$ZeِdNkr0e j[de  dZؐq0W eؐrFP qFW neZGe jdeG  ejeeG\ZZZese j[d e&dj eLrddejdd  ZZnxx:ee jdZejV jW dkre jd̃ e&d P qW x:ee jdZejV jW dkr2e jd̃ e&d P q W e je jd  e jde  e jdeG  e jde  e jde  e jde  ejd ejjesejeGeedee\ZZnejeGeeede\ZZe j!deef  e j!ejdg eejkr(e j[de  e&dj nejeeeG ejd eLrNdZJnlxjee jdjV jW Zedkre jd̃ e&d esdZedkZJedOkrP e j[d qPW eJrejeddZyej  W n$ ek
r    e j[d Y nX zdZdZxxedj7 Zy eqej Zee͐j  ZW nB ek
rz   e j[d	 ejd
 dZedkrvP Y nX dZP qW eҐrxeree jde Znee jdZejV jW dkre jd̃ e&d ere s
ejV jW dkreZeedkr4e j[d qdZx.eD ]$Zueudkr@e j[d dZP q@W eҐsrqP qW xeree jdee Znee jdZejV jW dkre jd̃ e&d ere s ejV jW dkreZyejd W n0 eefk
rL   ej	dZY nX eedkrre j[d q|P q|W y e͐j
e e͐je W n" ek
r   e j[d Y nX e jd W dej  X eIrdZejd eLreMr$dZn ejѐd\ZҐZeҐs$e&d erejdZeBrJdeB Z_n
de Z_eedkrpde_ Zn
de_ ZejeÃ W n" ek
r   e j[d Y nX ej  e jd e jd  dS (P  z9.0zPrinter/Fax Setup Utilityzhp-setupzInstalls HPLIP printers and faxes in the CUPS spooler. Tries to automatically determine the correct PPD file to use. Allows the printing of a testpage. Performs basic fax parameter setup.    N)*)deviceutilstuimodelsmoduleservicesos_utils)cups)input)
to_unicodefrom_unicode_to_str)import_module)dyn_import_modc             C   s*   t jtd|  | | tj| |  d S )Nd   )pmupdateintr   Zformat_bytes)cst r   /usr/share/hplip/setup.pyplugin_download_callback>   s    r   c             C   s   t j  tj|  d S )N)r
   releaseCupsInstancesysexit)coder   r   r   
clean_exitC   s    r   z\*NickName:\s*\"(.*)" nameTzAUsage: %s [MODE] [OPTIONS] [SERIAL NO.|USB bus:device|IP|DEVNODE]ZsummaryAutomatic mode:-a or --auto (-i mode only)optionF.To specify the port on a multi-port JetDirect:9--port=<port> (Valid values are 1\*, 2, and 3. \*default)No testpage in automatic mode:-x (-i mode only)%To specify a CUPS printer queue name:1-p<printer> or --printer=<printer> (-i mode only)!To specify a CUPS fax queue name:%-f<fax> or --fax=<fax> (-i mode only)Type of queue(s) to install:W-t<typelist> or --type=<typelist>. <typelist>: print*, fax\* (\*default) (-i mode only)%To specify the device URI to install:1-d<device> or --device=<device> (--qt4 mode only)/Remove printers or faxes instead of setting-up:-r or --rm or --remove[SERIAL NO.|USB ID|IP|DEVNODE]headingUSB bus:device (usb only):x"xxx:yyy" where 'xxx' is the USB bus and 'yyy' is the USB device. (Note: The ':' and all leading zeros must be present.)3Use the 'lsusb' command to obtain this information.IPs (network only):$IPv4 address "a.b.c.d" or "hostname"DEVNODE (parallel only):"/dev/parportX", X=0,1,2,...#SERIAL NO. (usb and parallel only):"serial no."Setup using GUI mode:
$ hp-setupexample%Setup using GUI mode, specifying usb:$ hp-setup -b usb'Setup using GUI mode, specifying an IP:$ hp-setup 192.168.0.101$One USB printer attached, automatic:$ hp-setup -i -aUSB, IDs specified:$ hp-setup -i 001:002Network:$ hp-setup -i 66.35.250.209Network, Jetdirect port 2:$$ hp-setup -i --port=2 66.35.250.209	Parallel:$ hp-setup -i /dev/parport0%USB or parallel, using serial number:$ hp-setup -i US12345678AUSB, automatic:$ hp-setup -i --auto 001:002!Parallel, automatic, no testpage:!$ hp-setup -i -a -x /dev/parport0Parallel, choose device:$ hp-setup -i -b parx1. If no serial number, USB ID, IP, or device node is specified, the USB and parallel busses will be probed for devices.note-2. Using 'lsusb' to obtain USB IDs: (example)
   $ lsusb9         Bus 003 Device 011: ID 03f0:c202 Hewlett-Packard   $ hp-setup --auto 003:011n   (Note: You may have to run 'lsusb' from /sbin or another location. Use '$ locate lsusb' to determine this.)?3. Parameters -a, -f, -p, or -t are not valid in GUI (-u) mode.
hp-makeuriseealsohp-probe)Zrun_as_root_okzaxp:P:f:t:b:d:rqzttl=zfilter=zsearch=zfind=zmethod=z	time-out=ztimeout=zprinter=zfax=ztype=zport=autozdevice=Zrmremove)Zhandle_device_printer   z-x-P-p	--printer-f--fax-d--device-b--busc             C   s   g | ]}|j  j qS r   )lowerstrip).0xr   r   r   
<listcomp>   s    rq   ,zInvalid bus name)Z	error_msg-t--typeprintfaxzInvalid type.z;Cannot enable fax setup - HPLIP not built with fax enabled.z--portz7Invalid port number. Must be between 1 and 3 inclusive.-a--auto-r--rm--removez-qzparam=%szselected_device_name=%sz -p or -f option is not supportedZqt3zX%s requires GUI support (try running with --qt4). Also, try using interactive (-i) mode.zX%s requires GUI support (try running with --qt3). Also, try using interactive (-i) mode.)	setupformz,Unable to load Qt3 support. Is it installed?z+-r/--rm/--remove not supported in qt3 mode.zlastWindowClosed()zquit()uilocsystemzUsing system locale: %sr   utf8.z&Trying to load .qm file for %s locale.zhplip_%s.qmzName of .qm file: %szUsing default 'C' localezUsing locale: %szEUnable to connect to HPLIP I/O. Please (re)start HPLIP and try again.z.setupdialogzGSys.argv=%s printer_name=%s param=%s jd_port=%s device_uri=%s remove=%szStarting GUI Event Loop...)passwordz Failed to import Password ObjectzREMOVING PRINT/FAX QUEUEZhpZhpfaxzRemoving '%s : %s' Queuez'Successfully deleted %s Print/Fax queuez/Failed to delete %s Print/Fax queue. Error : %sz](Note: Defaults for each question are maked with a '*'. Press <enter> to accept the default.)z
Using connection type: %sz,
DEVICE CHOOSER setup_fax=%s, setup_print=%s)Zdevicesz
Setting up device: %s
zhpfax:zhp:zModel=%szsupport-typezUnsupported printer model.zfax-typeplugin)pluginhandlerzUPDATING PLUGINzPLUG-IN INSTALLATIONz	hp-pluginzhp-plugin -izFailed to install Plugin.zThe device you are trying to setup requires a binary plug-in. Some functionalities may not work as expected without plug-ins. Please run 'hp-plugin' as normal user to install plug-ins.Visit http://hplipopensource.com for more infomation.ZseriesZSeries_zfound print queue '%s'zfound fax queue '%s'zPRINT QUEUE SETUPz;One or more print queues already exist for this device: %s.z, z>
Would you like to install another print queue for this devicen   z_%dzL
Please enter a name for this print queue (m=use model name:'%s'*, q=quit) ?qz	OK, done.mzKA print queue with that name already exists. Please enter a different name.zIA fax queue with that name already exists. Please enter a different name.zaInvalid character '%s' in printer name. Please enter a name that does not contain this character.zUsing queue name: %sz!Locating PPD file... Please wait.z'Unable to find an appropriate PPD file.z
Found PPD file: %szDescription: %szU
Note: The model number may vary slightly from the actual model number on the device.z0
Does this PPD file appear to be the correct onezB
Would you like to specify the path to the correct PPD file to usezH
Please enter the full filesystem path to the PPD file to use (q=quit) :z.gzri   zDescription for the file: %sz?No PPD 'NickName' found. This file may not be a valid PPD file.z
Use this filez0File not found or not an appropriate (PPD) file.z2PPD file required. Setup cannot continue. Exiting.z(%s Device (Automatically setup by HPLIP) z8Enter a location description for this printer (q=quit) ?z@Enter additonal information or notes for this printer (q=quit) ?z
Adding print queue to CUPS:zDevice URI: %szQueue name: %szPPD file: %szLocation: %szInformation: %szaddPrinter() returned (%d, %s)z'Printer queue setup failed. Error : %s zfw-downloadz2Error opening device. Firmware download is Failed.zFirmware download successful.
zFirmware download is Failed.z4Cannot setup fax - HPLIP not built with fax enabled.)rv   z*Fax setup disabled - Python 2.3+ required.zFAX QUEUE SETUPz9One or more fax queues already exist for this device: %s.z<
Would you like to install another fax queue for this deviceZ_faxzJ
Please enter a name for this fax queue (m=use model name:'%s'*, q=quit) ?#/%z]Invalid character '%s' in fax name. Please enter a name that does not contain this character.zRUnable to find HP fax PPD file! Please check you HPLIP installation and try again.z,%s Fax Device (Automatically setup by HPLIP)z
Adding fax queue to CUPS:z/You do not have permission to add a fax device.z"Fax queue setup failed. Error : %szFAX HEADER SETUPzD
Would you like to perform fax header setup (y=yes*, n=no, q=quit) ?yzPlease enter 'y' or 'n')Zdisable_dbuszMUnable to communicate with the device. Please check the device and try again.zOCould not communicate with device. Device may be busy. Please wait for retry...      zK
Enter the fax phone number for this device (c=use current:'%s'*, q=quit) ?z6
Enter the fax phone number for this device (q=quit) ?2   zPPhone number length is too long (>50 characters). Please enter a shorter number.z0123456789-(+) zGInvalid characters in phone number. Please only use 0-9, -, (, +, and )zN
Enter the name and/or company for this device (c=use current:'%s'*, q=quit) ?z9
Enter the name and/or company for this device (q=quit) ?zutf-8zVName/company length is too long (>50 characters). Please enter a shorter name/company.z6Could not communicate with device. Device may be busy.z
Parameters sent to device.zPRINTER TEST PAGEz$
Would you like to print a test pagezhp-testpagez-p%sz-d%szhp-testpage -i %szpython ./testpage.py -i %sz	User exitzDone.)r   )r!   r"   r#   F)r$   r%   r#   F)r&   r'   r#   F)r(   r)   r#   F)r*   r+   r#   F)r,   r-   r#   F)r.   r/   r#   F)r0   r1   r#   F)r2   r   r3   F)r4   r5   r#   F)r   r6   r#   F)r7   r8   r#   F)r9   r:   r#   F)r;   r<   r#   T)r=   r>   r?   F)r@   rA   r?   F)rB   rC   r?   F)rD   rE   r?   F)rF   rG   r?   F)rH   rI   r?   F)rJ   rK   r?   F)rL   rM   r?   F)rN   rO   r?   F)rP   rQ   r?   F)rR   rS   r?   F)rT   rU   r?   F)rV   r   rW   F)rX   r   rW   F)rY   r   rW   F)rZ   r   rW   F)r[   r   rW   F)r\   r   rW   T)r]   r   rW   T)r^   r   r_   F)r`   r   r_   F)rd   re   rf   )rg   rh   )ri   rj   )rk   rl   )rs   rt   )FF)ru   rv   )rw   rx   )ry   rz   r{   )r   r   r   r   )r   r   r   (  __version__Z	__title____mod____doc__r   ZgetoptZtimeos.pathosreZgzipreadlineImportErrorZbase.gbaser   r   r   r   r   r   r	   Zprntr
   Zbase.sixext.movesr   Zbase.sixextr   r   	importlibr   elogdebugZ
base.utilsr   r   r   r   compile	MULTILINEZnickname_patZ
USAGE_MODEZUSAGE_GUI_MODEZUSAGE_INTERACTIVE_MODEZUSAGE_SPACEZUSAGE_OPTIONSZUSAGE_LANGUAGEZUSAGE_LOGGING1ZUSAGE_LOGGING2ZUSAGE_LOGGING3Z
USAGE_HELPZUSAGE_EXAMPLESZUSAGE_NOTESZUSAGE_SEEALSOZUSAGEZModuleZINTERACTIVE_MODEZGUI_MODEZUI_TOOLKIT_QT3ZUI_TOOLKIT_QT4ZUI_TOOLKIT_QT5modZparseStdOptsZoptsZ
device_uriZprinter_namemodeZ
ui_toolkitr~   Zselected_device_nameZfax_nameZbusZsetup_printZ	setup_faxZmakeurira   Ztestpage_in_auto_modeZjd_portrb   Zignore_plugin_checkoasplitZvalidateBusListZusagern   rm   ZaaZpropZ	fax_builderrorr   
ValueErrorargsZparam
IndexErrorZwarningZcanEnterGUIModeZcanEnterGUIMode4Zqtr}   r|   warnZQApplicationargvZappZQObjectZconnectZSIGNALZSLOTZ	user_confgetstrZ
QTextCodecZlocalelrp   joinZQTranslatorZtransZqm_fileloadZlocalization_dirZloadedZinstallTranslatorZQLocaleZ
setDefault	setlocaleLC_ALLZ	normalizeErrorZ	SetupFormwZsetMainWidgetZshowZ	exec_loopr   Zimport_dialogZ
ui_packageZSetupDialogZdlgZexec_KeyboardInterruptr   ZsetPasswordCallbackZshowPasswordPromptheaderZgetPrinterNamestsinfoZboldZcups_operationZ
delPrinterZstatusZ
status_strZIPP_OKZ	sendEventZEVENT_CUPS_QUEUES_REMOVEDZmakeURIZsane_uriZfax_uriZconnection_tableZgetDeviceUriZprobeDevicesreplaceZ	print_uriZparseDeviceURIZback_endZis_hpZmodelserialZdev_filehostZzcZportZqueryModelByURIZmqZSUPPORT_TYPE_NONEZFAX_TYPE_NONEZFAX_TYPE_NOT_SUPPORTEDZnormalizeModelNameZ
norm_modelZPLUGIN_NONEr   Z	installerr   ZPluginHandleZ	pluginObjZ	getStatusZ
plugin_stsZPLUGIN_INSTALLEDZPLUGIN_VERSION_MISMATCHZwhichZ	hp_plugincmdZexecuteZgetSystemPPDsZppdsZxstripZdefault_modelZgetSupportedCUPSDevicesZinstalled_print_deviceslistkeysdpZinstalled_fax_devicesfZenter_yes_nookZprinter_default_modelZgetSupportedCUPSPrinterNamesZinstalled_printer_namesir   Zname_okr   ZINVALID_PRINTER_NAME_CHARSZgetPPDFile2Z	print_ppdZ	enter_ppdZdescZansZ
user_inputZ	file_pathpathexistsisfileendswithZGzipFilereadZnicknameopensearchgroupAttributeErrorlocationZadd_prnt_argsZ
addPrinterZEVENT_CUPS_QUEUES_ADDEDZDeviceZdownloadFirmwarecloserv   Zfax_default_modelZinstalled_fax_namesZgetFaxPPDFileZfax_ppdZfax_ppd_typeZnickZsetPasswordPromptZgetFaxDeviceZtriesZgetPhoneNumZcurrent_phone_numZgetStationNameZcurrent_station_nameZsleepZ	phone_numlenZstation_nameencodeUnicodeEncodeErrorUnicodeDecodeErrordecodeZsetStationNameZsetPhoneNumZprint_test_pager   r   r   r   <module>   s  $











































 
"











   


  










 
"
















$
&
 


